Function at 0x40aad9
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x4121d8]
mov dword [ebp - 0x10], eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
add eax, 0x1c
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add eax, 0x1c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x18]
xor eax, dword [ecx]
cmp eax, 0x46534252
jne 0x40ab3e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
cmp dword [eax + 0x14], ecx
je 0x40ab3e
mov dword [0x4121d0], 0x40a9f9
jmp 0x40ab55
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x4121d0], eax
mov eax, dword [0x4121d8]
add dword [0x4121d0], eax
call fcn.0040a798
mov dword [ebp - 0x14], 0
jmp 0x40ab69
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x64
jge 0x40abbc
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x412648], 0xffffffff
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x41264c], 0
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x412650], 0
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x412654], 0
jmp 0x40ab66
mov dword [ebp - 0x14], 0
push 0x4145e0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [ebp - 0xc], eax
push 0x4145f0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412600], eax
push 0x4145fc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412604], eax
push 0x414608
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412608], eax
push 0x414614
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x41260c], eax
push 0x414620
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412610], eax
push 0x414630
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412614], eax
push 0x41463c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412620], eax
push 0x414644
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412624], eax
push 0x41464c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412628], eax
push 0x414654
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x41262c], eax
push 0x41465c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412630], eax
push 0x414664
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412634], eax
push 0x414670
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412618], eax
push 0x41467c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x41261c], eax
push 0x414688
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x412638], eax
push 0x414694
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x41263c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x4121f4], eax
mov eax, dword [0x4121f4]
mov dword [0x4124f8], eax
cmp dword [0x412200], 0
je 0x40ad3f
mov eax, dword [0x412204]
xor dword [0x4124f8], eax
cmp dword [0x4121dc], 0
je 0x40ad58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x4121e8], eax
push 0x412500
push 0x4123f8
push 0x4124f8
call fcn.0040a481
add esp, 0xc
jmp 0x40ad74
pop edi
pop esi
pop ebx
leave
ret