\hypertarget{Assembly_8cpp}{\section{trunk/bwapi/\-B\-W\-A\-P\-I/\-Source/\-Assembly.cpp \-File \-Reference}
\label{Assembly_8cpp}\index{trunk/bwapi/\-B\-W\-A\-P\-I/\-Source/\-Assembly.\-cpp@{trunk/bwapi/\-B\-W\-A\-P\-I/\-Source/\-Assembly.\-cpp}}
}
{\ttfamily \#include \char`\"{}\-Assembly.\-h\char`\"{}}\*
{\ttfamily \#include $<$windows.\-h$>$}\*
{\ttfamily \#include \char`\"{}\-B\-W\-A\-P\-I/\-Game\-Impl.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-B\-W\-A\-P\-I/\-Player\-Impl.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-B\-W/\-Offsets.\-h\char`\"{}}\*
\-Include dependency graph for \-Assembly.\-cpp\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{Assembly_8cpp__incl}
\end{center}
\end{figure}
\subsection*{\-Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{Assembly_8cpp_a995aab62e4d7331ceb5a26d2a7fc4607}{\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}()
\item 
\#define \hyperlink{Assembly_8cpp_a8ea1b45002a3df0dba0a6482037310ba}{\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}()
\end{DoxyCompactItemize}
\subsection*{\-Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{Assembly_8cpp_a959fe38a5e7b57a18bcb5e60c5119841}{\-\_\-\-\_\-declspec} (naked) \-\_\-repair\-Hook()
\end{DoxyCompactItemize}
\subsection*{\-Variables}
\begin{DoxyCompactItemize}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_ac41e3c5509e46352d041251005cbc1db}{d\-\_\-eax\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a7cd9dd57f06badb502fd8140f2097138}{d\-\_\-ebx\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a6c2042dc0d3191dda2cd4d3e6133b05c}{d\-\_\-ecx\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a73226b1b4aae29f380a61c6cfbd951fc}{d\-\_\-edx\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a1b35ba3bca0be975d2d0751af6c82402}{d\-\_\-esi\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a47927da37b2cf20086af9ba8122d382c}{d\-\_\-edi\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_a6447381cde5bf5a84bb58646ceadf1c6}{d\-\_\-esp\-Save}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{Assembly_8cpp_ab247c9f2a168d9ea02586a5d01bc99a9}{d\-\_\-ebp\-Save}
\end{DoxyCompactItemize}


\subsection{\-Define \-Documentation}
\hypertarget{Assembly_8cpp_a8ea1b45002a3df0dba0a6482037310ba}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S@{\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}}
\index{\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S@{\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{\-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-L\-O\-A\-D\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}(
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{Assembly_8cpp_a8ea1b45002a3df0dba0a6482037310ba}
{\bfseries \-Value\-:}
\begin{DoxyCode}
__asm {  __asm mov eax, d_eaxSave  \
                                  __asm mov ebx, d_ebxSave  \
                                  __asm mov ecx, d_ecxSave  \
                                  __asm mov edx, d_edxSave  \
                                  __asm mov esi, d_esiSave  \
                                  __asm mov edi, d_ediSave  \
                                  __asm mov esp, d_espSave  \
                                  __asm mov ebp, d_ebpSave }
\end{DoxyCode}
\hypertarget{Assembly_8cpp_a995aab62e4d7331ceb5a26d2a7fc4607}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S@{\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}}
\index{\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S@{\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{\-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-S\-A\-V\-E\-\_\-\-R\-E\-G\-I\-S\-T\-E\-R\-S}(
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{Assembly_8cpp_a995aab62e4d7331ceb5a26d2a7fc4607}
{\bfseries \-Value\-:}
\begin{DoxyCode}
__asm {  __asm mov d_eaxSave, eax  \
                                  __asm mov d_ebxSave, ebx  \
                                  __asm mov d_ecxSave, ecx  \
                                  __asm mov d_edxSave, edx  \
                                  __asm mov d_esiSave, esi  \
                                  __asm mov d_ediSave, edi  \
                                  __asm mov d_espSave, esp  \
                                  __asm mov d_ebpSave, ebp }
\end{DoxyCode}


\subsection{\-Function \-Documentation}
\hypertarget{Assembly_8cpp_a959fe38a5e7b57a18bcb5e60c5119841}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!\-\_\-\-\_\-declspec@{\-\_\-\-\_\-declspec}}
\index{\-\_\-\-\_\-declspec@{\-\_\-\-\_\-declspec}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{\-\_\-\-\_\-declspec}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-\_\-\-\_\-declspec} (
\begin{DoxyParamCaption}
\item[{naked}]{}
\end{DoxyParamCaption}
)}}\label{Assembly_8cpp_a959fe38a5e7b57a18bcb5e60c5119841}


\subsection{\-Variable \-Documentation}
\hypertarget{Assembly_8cpp_ac41e3c5509e46352d041251005cbc1db}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-eax\-Save@{d\-\_\-eax\-Save}}
\index{d\-\_\-eax\-Save@{d\-\_\-eax\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-eax\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-eax\-Save}}}\label{Assembly_8cpp_ac41e3c5509e46352d041251005cbc1db}
\hypertarget{Assembly_8cpp_ab247c9f2a168d9ea02586a5d01bc99a9}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-ebp\-Save@{d\-\_\-ebp\-Save}}
\index{d\-\_\-ebp\-Save@{d\-\_\-ebp\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-ebp\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-ebp\-Save}}}\label{Assembly_8cpp_ab247c9f2a168d9ea02586a5d01bc99a9}
\hypertarget{Assembly_8cpp_a7cd9dd57f06badb502fd8140f2097138}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-ebx\-Save@{d\-\_\-ebx\-Save}}
\index{d\-\_\-ebx\-Save@{d\-\_\-ebx\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-ebx\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-ebx\-Save}}}\label{Assembly_8cpp_a7cd9dd57f06badb502fd8140f2097138}
\hypertarget{Assembly_8cpp_a6c2042dc0d3191dda2cd4d3e6133b05c}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-ecx\-Save@{d\-\_\-ecx\-Save}}
\index{d\-\_\-ecx\-Save@{d\-\_\-ecx\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-ecx\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-ecx\-Save}}}\label{Assembly_8cpp_a6c2042dc0d3191dda2cd4d3e6133b05c}
\hypertarget{Assembly_8cpp_a47927da37b2cf20086af9ba8122d382c}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-edi\-Save@{d\-\_\-edi\-Save}}
\index{d\-\_\-edi\-Save@{d\-\_\-edi\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-edi\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-edi\-Save}}}\label{Assembly_8cpp_a47927da37b2cf20086af9ba8122d382c}
\hypertarget{Assembly_8cpp_a73226b1b4aae29f380a61c6cfbd951fc}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-edx\-Save@{d\-\_\-edx\-Save}}
\index{d\-\_\-edx\-Save@{d\-\_\-edx\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-edx\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-edx\-Save}}}\label{Assembly_8cpp_a73226b1b4aae29f380a61c6cfbd951fc}
\hypertarget{Assembly_8cpp_a1b35ba3bca0be975d2d0751af6c82402}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-esi\-Save@{d\-\_\-esi\-Save}}
\index{d\-\_\-esi\-Save@{d\-\_\-esi\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-esi\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-esi\-Save}}}\label{Assembly_8cpp_a1b35ba3bca0be975d2d0751af6c82402}
\hypertarget{Assembly_8cpp_a6447381cde5bf5a84bb58646ceadf1c6}{\index{\-Assembly.\-cpp@{\-Assembly.\-cpp}!d\-\_\-esp\-Save@{d\-\_\-esp\-Save}}
\index{d\-\_\-esp\-Save@{d\-\_\-esp\-Save}!Assembly.cpp@{\-Assembly.\-cpp}}
\subsubsection[{d\-\_\-esp\-Save}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf d\-\_\-esp\-Save}}}\label{Assembly_8cpp_a6447381cde5bf5a84bb58646ceadf1c6}
