Function at 0x40a8cd
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x40d6d0]
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]
mov ecx, dword [ebp - 0x18]
xor eax, dword [ecx + 0x10]
cmp eax, 0x46534252
jne 0x40a932
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x14]
cmp dword [eax + 0x14], ecx
je 0x40a932
mov dword [0x40d6c8], 0x40a829
jmp 0x40a949
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x40d6c8], eax
mov eax, dword [0x40d6d0]
add dword [0x40d6c8], eax
call fcn.0040a5c8
mov dword [ebp - 0x14], 0
jmp 0x40a95d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x64
jge 0x40a9b0
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x40daa0], 0xffffffff
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x40daa4], 0
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x40daa8], 0
mov eax, dword [ebp - 0x14]
shl eax, 2
mov dword [eax + eax*4 + 0x40daac], 0
jmp 0x40a95a
mov dword [ebp - 0x14], 0
push 0x40faac
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [ebp - 0xc], eax
push 0x40fabc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da58], eax
push 0x40fac8
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da5c], eax
push 0x40fad4
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da60], eax
push 0x40fae0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da64], eax
push 0x40faec
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da68], eax
push 0x40fafc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da6c], eax
push 0x40fb08
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da78], eax
push 0x40fb10
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da7c], eax
push 0x40fb18
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da80], eax
push 0x40fb20
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da84], eax
push 0x40fb28
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da88], eax
push 0x40fb30
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da8c], eax
push 0x40fb3c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da70], eax
push 0x40fb48
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da74], eax
push 0x40fb54
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da90], eax
push 0x40fb60
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x40da94], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x40d6ec], eax
mov eax, dword [0x40d6ec]
mov dword [0x40d950], eax
cmp dword [0x40d6f8], 0
je 0x40ab33
mov eax, dword [0x40d6fc]
xor dword [0x40d950], eax
cmp dword [0x40d6d4], 0
je 0x40ab4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor dword [0x40d6e0], eax
push 0x40d958
push 0x40d850
push 0x40d950
call fcn.0040a2b1
add esp, 0xc
jmp 0x40ab68
pop edi
pop esi
pop ebx
leave
ret