Function at 0x51e887
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 + 0x60]
mov ebp, dword [edi + 0x5c]
mov edx, eax
mov dword [esp + 0x24], eax
mov ecx, ebp
lea eax, [esp + 0xd8]
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0xa18]
push eax
push ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xd8]
dec eax
cmp eax, 6
ja case.0x51e7b7.4
jmp dword [eax*4 + 0x51ef10]
mov edx, dword [edi + 0x3ac]
mov eax, dword [edi + 0x3a8]
mov dword [edi + 0xa00], edx
jmp 0x51e836
mov ecx, dword [edi + 0x3b8]
mov edx, dword [edi + 0x3b4]
mov dword [edi + 0xa00], ecx
mov dword [edi + 0xa04], edx
jmp case.0x51e7b7.4
mov eax, dword [edi + 0x3c4]
mov ecx, dword [edi + 0x3c0]
mov dword [edi + 0xa00], eax
mov dword [edi + 0xa04], ecx
jmp case.0x51e7b7.4
mov edx, dword [edi + 0x3d0]
mov eax, dword [edi + 0x3cc]
mov dword [edi + 0xa00], edx
jmp 0x51e836
lea ecx, [edi + 0x3e0]
call fcn.00432f90
lea ecx, [edi + 0x3d8]
mov dword [edi + 0xa00], eax
call fcn.00432f90
mov dword [edi + 0xa04], eax
mov esi, dword [esp + 0x18]
mov al, byte [edi + 0x370]
add esi, 0x28
cmp al, 1
push 0
push esi
jne 0x51e880
lea ecx, [ebp + 0x87]
push ecx
push 0x1b
push 0xe30d1
call fcn.0054b850
push 0
lea ebx, [edi + 0x38c]
push ebx
add ebp, 0x9e
push esi
push ebp
call fcn.0054b7f0
push 0xd73f
jmp 0x51e8ae
lea edx, [ebp + 0x87]
push edx
push 0x1c
push 0xe30d1
call fcn.0054b850
push 0
lea ebx, [edi + 0x38c]
push ebx
add ebp, 0x9e
push esi
push ebp
call fcn.0054b7f0
push 0xfe1c
push ebx
push esi
push ebp
call fcn.0054b790
mov ecx, 0x55
mov edx, 0x3f
mov eax, 0x82
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov esi, 0x53
mov dword [esp + 0xe4], ecx
mov edx, 0x67
mov dword [esp + 0xfc], ecx
mov ecx, 0x7b
add esp, 0x34
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 0x51e9a0
mov ecx, dword [edi + ebp*8 + 0x470]
lea eax, [esp + 0xd8]
push eax
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xd8]
cdq
xor eax, edx
sub eax, edx
push eax
lea edx, [esp + 0xfc]
push str._02d
push edx
call fcn.0056aefc
mov eax, dword [esp + ebp*8 + 0xa8]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + ebp*8 + 0xa4]
push 7
lea esi, [eax + ecx]
mov eax, dword [esp + 0x30]
push 2
lea ecx, [esp + 0x10c]
push ecx
push 0x1f
push 0x32
lea ebx, [edx + eax]
push esi
push ebx
call fcn.0054b910
add ebx, 0xffffffec
add esi, 0xfffffffe
add esp, 0x28
test ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], esi
jne 0x51ea70
mov eax, dword [edi + 0x470]
lea edx, [esp + 0xe8]
push edx
push eax
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xe8]
test eax, eax
push ebp
jg 0x51ea62
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push ecx
push edx
push 9
jmp 0x51eaab
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push 8
jmp 0x51eaab
mov eax, dword [edi + ebp*8 + 0x470]
lea edx, [esp + 0x68]
push edx
push eax
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push 0
push ecx
test eax, eax
mov eax, dword [esp + ebp*4 + 0x80]
push edx
jl 0x51eaaa
inc eax
push eax
push 0xe30d1
call fcn.0054b850
add esp, 0x14
inc ebp
cmp ebp, 8
jl 0x51e9a0
mov al, byte [edi + 0x3e9]
test al, al
je 0x51ebe0
mov ecx, dword [edi + 0x3ac]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
lea edx, [esp + 0x4c]
push 0x59c658
push edx
call ebx
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
push 0x9cc
lea eax, [esp + 0x58]
push eax
add esi, 0xee
add ebp, 0x72
push esi
push ebp
call fcn.0054b7f0
push 0x8dfc
lea ecx, [esp + 0x68]
push ecx
push esi
push ebp
call fcn.0054b790
mov edx, dword [edi + 0x3c4]
push edx
lea eax, [esp + 0x78]
push 0x59c658
push eax
call ebx
mov ebx, dword [esp + 0x58]
push 0x9cc
lea ecx, [esp + 0x84]
push ecx
add ebx, 0xd2
push esi
push ebx
mov dword [esp + 0x64], ebx
call fcn.0054b7f0
add esp, 0x48
push 0x8dfc
lea edx, [esp + 0x4c]
push edx
push esi
push ebx
call fcn.0054b790
mov ecx, dword [edi + 0x3e4]
add esp, 0x10
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x68]
push edx
lea eax, [esp + 0x4c]
push 0x59c658
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
push 0x9cc
lea ecx, [esp + 0x58]
push ecx
add esi, 0xee
add ebx, 0x132
push esi
push ebx
mov dword [esp + 0x2c], ebx
call fcn.0054b7f0
push 0x8dfc
lea edx, [esp + 0x68]
push edx
push esi
push ebx
call fcn.0054b790
mov esi, dword [esp + 0x48]
add esp, 0x2c
jmp 0x51ec9b
push 0x7a125
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [esp + 0x4c]
push 0x59f8f0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
push 0x9cc
lea ecx, [esp + 0x58]
push ecx
add ebx, 0xee
lea ebp, [esi + 0x72]
push ebx
push ebp
call fcn.0054b7f0
push 0x8dfc
lea edx, [esp + 0x68]
push edx
push ebx
push ebp
call fcn.0054b790
push 0x9cc
lea eax, [esp + 0x78]
push eax
add esi, 0xd2
push ebx
push esi
call fcn.0054b7f0
push 0x8dfc
lea ecx, [esp + 0x88]
push ecx
push ebx
push esi
call fcn.0054b790
mov eax, dword [esp + 0x6c]
add esp, 0x4c
push 0x9cc
lea edx, [esp + 0x4c]
push edx
add eax, 0x132
push ebx
push eax
mov dword [esp + 0x20], eax
call fcn.0054b7f0
mov ecx, dword [esp + 0x20]
push 0x8dfc
lea eax, [esp + 0x5c]
push eax
push ebx
push ecx
call fcn.0054b790
mov ebx, dword [esp + 0x30]
add esp, 0x20
mov al, byte [edi + 0x3e8]
test al, al
je 0x51ed95
mov edx, dword [edi + 0x3a8]
push edx
lea eax, [esp + 0x2c]
push 0x59c658
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, dword [esp + 0x24]
push 0x9cc
lea ecx, [esp + 0x38]
push ecx
add ebx, 0x10c
push ebx
push ebp
call fcn.0054b7f0
push 0x8dfc
lea edx, [esp + 0x48]
push edx
push ebx
push ebp
call fcn.0054b790
mov eax, dword [edi + 0x3c0]
push eax
lea ecx, [esp + 0x58]
push 0x59c658
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x9cc
lea edx, [esp + 0x64]
push edx
push ebx
push esi
call fcn.0054b7f0
add esp, 0x48
push 0x8dfc
lea eax, [esp + 0x2c]
push eax
push ebx
push esi
call fcn.0054b790
mov edx, dword [edi + 0x3dc]
add esp, 0x10
lea ecx, [esp + 0x68]
push ecx
push edx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x68]
push eax
lea ecx, [esp + 0x2c]
push 0x59c658
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
push 0x9cc
lea edx, [esp + 0x38]
push edx
add esi, 0x10c
push esi
push ebx
call fcn.0054b7f0
push 0x8dfc
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.0054b790
add esp, 0x2c
jmp 0x51ee3d
push 0x7a124
push 0x8a3708
call fcn.0044ee40
push eax
lea ecx, [esp + 0x2c]
push 0x59f8f0
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x24]
push 0x9cc
lea edx, [esp + 0x38]
push edx
add eax, 0x10c
push eax
push ebp
call fcn.0054b7f0
push 0x8dfc
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x10c
push eax
push ebp
call fcn.0054b790
mov ebp, dword [esp + 0x44]
push 0x9cc
lea ecx, [esp + 0x58]
push ecx
add ebp, 0x10c
push ebp
push esi
call fcn.0054b7f0
push 0x8dfc
lea edx, [esp + 0x68]
push edx
push ebp
push esi
call fcn.0054b790
add esp, 0x4c
push 0x9cc
lea eax, [esp + 0x2c]
push eax
push ebp
push ebx
call fcn.0054b7f0
push 0x8dfc
lea ecx, [esp + 0x3c]
push ecx
push ebp
push ebx
call fcn.0054b790
add esp, 0x20
mov esi, dword [esp + 0x20]
mov al, byte [edi + 0x370]
add esi, 0x2c
cmp al, 1
push 0x83ec
jne 0x51ee95
push 0xea66
push 0x8a3708
call fcn.0044ee40
mov edi, dword [esp + 0x1c]
push eax
lea edx, [edi + 0x95]
push edx
push esi
call fcn.0054b790
add esp, 0x10
push 0x83ec
push 0xea68
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [edi + 0xa3]
push eax
jmp 0x51eed5
push 0xea67
push 0x8a3708
call fcn.0044ee40
mov edi, dword [esp + 0x1c]
push eax
lea ecx, [edi + 0x95]
push ecx
push esi
call fcn.0054b790
add esp, 0x10
push 0x83ec
push 0xea68
push 0x8a3708
call fcn.0044ee40
push eax
lea edx, [edi + 0xa3]
push edx
push esi
call fcn.0054b790
add esp, 0x10
push 0x83ec
push 0xea6e
push 0x8a3708
call fcn.0044ee40
push eax
add edi, 0xb1
push edi
push esi
call fcn.0054b790
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret