Function at 0x510d31
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x108
push ebx
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x60]
mov edx, eax
mov dword [esp + 0x18], eax
mov ebp, ecx
lea eax, [esp + 0xd8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0xa08]
push eax
push ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebp
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0xd8]
dec eax
cmp eax, 6
ja case.0x510c47.4
jmp dword [eax*4 + 0x511368]
mov edx, dword [edi + 0x3b0]
mov eax, dword [edi + 0x3ac]
mov dword [edi + 0xa0c], edx
jmp 0x510cc6
mov ecx, dword [edi + 0x3bc]
mov edx, dword [edi + 0x3b8]
mov dword [edi + 0xa0c], ecx
mov dword [edi + 0xa10], edx
jmp case.0x510c47.4
mov eax, dword [edi + 0x3c8]
mov ecx, dword [edi + 0x3c4]
mov dword [edi + 0xa0c], eax
mov dword [edi + 0xa10], ecx
jmp case.0x510c47.4
mov edx, dword [edi + 0x3d4]
mov eax, dword [edi + 0x3d0]
mov dword [edi + 0xa0c], edx
jmp 0x510cc6
lea ecx, [edi + 0x3e4]
call fcn.004086e0
lea ecx, [edi + 0x3dc]
mov dword [edi + 0xa0c], eax
call fcn.004086e0
mov dword [edi + 0xa10], eax
mov ecx, dword [esp + 0x18]
mov al, byte [edi + 0x374]
push 0
lea esi, [ebp + 0x22]
add ecx, 0x87
cmp al, 1
push esi
push ecx
jne 0x510d31
push 0x1b
push 0xe30d1
call fcn.0053eff0
mov eax, dword [esp + 0x2c]
push 0
lea ebx, [edi + 0x390]
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0053ef40
mov eax, dword [esp + 0x3c]
push 0xd73f
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0053ee90
add esp, 0x34
push 0x83ec
push 0xea66
jmp 0x510d79
push 0x1c
push 0xe30d1
call fcn.0053eff0
mov eax, dword [esp + 0x2c]
push 0
lea ebx, [edi + 0x390]
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0053ef40
mov eax, dword [esp + 0x3c]
push 0xfe1c
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0053ee90
add esp, 0x34
push 0x83ec
push 0xea67
mov esi, dword [esp + 0x20]
push 0x897640
add esi, 0x2c
call fcn.0044dea0
push eax
lea edx, [ebp + 0x88]
push edx
push esi
call fcn.0053ee90
add esp, 0x10
push 0x83ec
push 0xea68
push 0x897640
call fcn.0044dea0
push eax
lea eax, [ebp + 0x96]
push eax
push esi
call fcn.0053ee90
add esp, 0x10
push 0x83ec
push 0xea6e
push 0x897640
call fcn.0044dea0
push eax
add ebp, 0xa4
push ebp
push esi
call fcn.0053ee90
mov ecx, 0x55
mov edx, 0x37
mov eax, 0x82
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov esi, 0x4b
mov dword [esp + 0xc0], ecx
mov edx, 0x5f
mov dword [esp + 0xd8], ecx
mov ecx, 0x73
add esp, 0x10
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], esi
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x78], 8
mov dword [esp + 0x7c], 0x14
mov dword [esp + 0x80], 0xc
mov dword [esp + 0x84], 0xe
mov dword [esp + 0x88], 0x10
mov dword [esp + 0x8c], 0x12
mov dword [esp + 0x90], 0x16
mov dword [esp + 0x94], 0xa
xor ebp, ebp
jmp 0x510ed0
mov edx, dword [edi + ebp*8 + 0x474]
lea ecx, [esp + 0xd8]
push ecx
push edx
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0xd8]
cdq
xor eax, edx
sub eax, edx
push eax
lea eax, [esp + 0xfc]
push str._02d
push eax
call fcn.0055e68c
mov ecx, dword [esp + ebp*8 + 0xa8]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + ebp*8 + 0xa4]
push 7
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x28]
push 2
lea edx, [esp + 0x10c]
push edx
push 0x1f
push 0x32
lea ebx, [eax + ecx]
push esi
push ebx
call fcn.0053f0b0
add ebx, 0xffffffec
add esi, 0xfffffffe
add esp, 0x28
test ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
jne 0x510fa0
mov ecx, dword [edi + 0x474]
lea eax, [esp + 0xe8]
push eax
push ecx
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0xe8]
test eax, eax
push ebp
jg 0x510f92
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push 9
jmp 0x510fd8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push 8
jmp 0x510fd8
mov ecx, dword [edi + ebp*8 + 0x474]
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + ebp*4 + 0x78]
push 0
test eax, eax
mov eax, dword [esp + 0x14]
push edx
push eax
jl 0x510fd7
inc ecx
push ecx
push 0xe30d1
call fcn.0053eff0
add esp, 0x14
inc ebp
cmp ebp, 8
jl 0x510ed0
mov al, byte [edi + 0x3ed]
test al, al
je 0x51110d
mov edx, dword [edi + 0x3b0]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push edx
lea eax, [esp + 0x4c]
push 0x5910d0
push eax
call ebx
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
push 0x9cc
lea ecx, [esp + 0x58]
push ecx
add esi, 0xc9
add ebp, 0x72
push esi
push ebp
call fcn.0053ef40
push 0x8dfc
lea edx, [esp + 0x68]
push edx
push esi
push ebp
call fcn.0053ee90
mov eax, dword [edi + 0x3c8]
push eax
lea ecx, [esp + 0x78]
push 0x5910d0
push ecx
call ebx
mov ebx, dword [esp + 0x50]
push 0x9cc
lea edx, [esp + 0x84]
push edx
add ebx, 0xd2
push esi
push ebx
mov dword [esp + 0x5c], ebx
call fcn.0053ef40
add esp, 0x48
push 0x8dfc
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
call fcn.0053ee90
mov edx, dword [edi + 0x3e8]
add esp, 0x10
lea ecx, [esp + 0x68]
push ecx
push edx
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov eax, dword [esp + 0x68]
push eax
lea ecx, [esp + 0x4c]
push 0x5910d0
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
push 0x9cc
lea edx, [esp + 0x58]
push edx
add esi, 0xc9
add ebx, 0x132
push esi
push ebx
mov dword [esp + 0x2c], ebx
call fcn.0053ef40
push 0x8dfc
lea eax, [esp + 0x68]
push eax
push esi
push ebx
call fcn.0053ee90
mov esi, dword [esp + 0x40]
add esp, 0x2c
jmp 0x5111c8
push 0x7a125
push 0x897640
call fcn.0044dea0
push eax
lea ecx, [esp + 0x4c]
push 0x595ec4
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
push 0x9cc
lea edx, [esp + 0x58]
push edx
add ebx, 0xc9
lea ebp, [esi + 0x72]
push ebx
push ebp
call fcn.0053ef40
push 0x8dfc
lea eax, [esp + 0x68]
push eax
push ebx
push ebp
call fcn.0053ee90
push 0x9cc
lea ecx, [esp + 0x78]
push ecx
add esi, 0xd2
push ebx
push esi
call fcn.0053ef40
push 0x8dfc
lea edx, [esp + 0x88]
push edx
push ebx
push esi
call fcn.0053ee90
mov eax, dword [esp + 0x64]
add esp, 0x4c
push 0x9cc
lea ecx, [esp + 0x4c]
push ecx
add eax, 0x132
push ebx
push eax
mov dword [esp + 0x20], eax
call fcn.0053ef40
mov eax, dword [esp + 0x20]
push 0x8dfc
lea edx, [esp + 0x5c]
push edx
push ebx
push eax
call fcn.0053ee90
mov ebx, dword [esp + 0x30]
add esp, 0x20
mov al, byte [edi + 0x3ec]
test al, al
je 0x5112c6
mov ecx, dword [edi + 0x3ac]
push ecx
lea edx, [esp + 0x2c]
push 0x5910d0
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, dword [esp + 0x30]
push 0x9cc
lea eax, [esp + 0x38]
push eax
add ebx, 0xdc
push ebx
push ebp
mov dword [esp + 0x30], ebx
call fcn.0053ef40
push 0x8dfc
lea ecx, [esp + 0x48]
push ecx
push ebx
push ebp
call fcn.0053ee90
mov edx, dword [edi + 0x3c4]
push edx
lea eax, [esp + 0x58]
push 0x5910d0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x9cc
lea ecx, [esp + 0x64]
push ecx
push ebx
push esi
call fcn.0053ef40
add esp, 0x48
push 0x8dfc
lea edx, [esp + 0x2c]
push edx
push ebx
push esi
call fcn.0053ee90
mov ecx, dword [edi + 0x3e0]
add esp, 0x10
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.004cee70
mov ebx, 1
mov esi, eax
call fcn.00403230
mov edx, dword [esp + 0x68]
push edx
lea eax, [esp + 0x2c]
push 0x5910d0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
push 0x9cc
lea ecx, [esp + 0x38]
push ecx
push esi
push edi
call fcn.0053ef40
push 0x8dfc
lea edx, [esp + 0x48]
push edx
push esi
push edi
call fcn.0053ee90
add esp, 0x2c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret
push 0x7a124
push 0x897640
call fcn.0044dea0
push eax
lea eax, [esp + 0x2c]
push 0x595ec4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp + 0x30]
push 0x9cc
lea ecx, [esp + 0x38]
push ecx
add edi, 0xdc
push edi
push ebp
call fcn.0053ef40
push 0x8dfc
lea edx, [esp + 0x48]
push edx
push edi
push ebp
call fcn.0053ee90
push 0x9cc
lea eax, [esp + 0x58]
push eax
push edi
push esi
call fcn.0053ef40
push 0x8dfc
lea ecx, [esp + 0x68]
push ecx
push edi
push esi
call fcn.0053ee90
add esp, 0x4c
push 0x9cc
lea edx, [esp + 0x2c]
push edx
push edi
push ebx
call fcn.0053ef40
push 0x8dfc
lea eax, [esp + 0x3c]
push eax
push edi
push ebx
call fcn.0053ee90
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret