Function at 0x51b201
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.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xd8]
dec eax
cmp eax, 6
ja case.0x51b117.4
jmp dword [eax*4 + 0x51b838]
mov edx, dword [edi + 0x3b0]
mov eax, dword [edi + 0x3ac]
mov dword [edi + 0xa0c], edx
jmp 0x51b196
mov ecx, dword [edi + 0x3bc]
mov edx, dword [edi + 0x3b8]
mov dword [edi + 0xa0c], ecx
mov dword [edi + 0xa10], edx
jmp case.0x51b117.4
mov eax, dword [edi + 0x3c8]
mov ecx, dword [edi + 0x3c4]
mov dword [edi + 0xa0c], eax
mov dword [edi + 0xa10], ecx
jmp case.0x51b117.4
mov edx, dword [edi + 0x3d4]
mov eax, dword [edi + 0x3d0]
mov dword [edi + 0xa0c], edx
jmp 0x51b196
lea ecx, [edi + 0x3e4]
call fcn.00432f90
lea ecx, [edi + 0x3dc]
mov dword [edi + 0xa0c], eax
call fcn.00432f90
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 0x51b201
push 0x1b
push 0xe30d1
call fcn.0054b850
mov eax, dword [esp + 0x2c]
push 0
lea ebx, [edi + 0x390]
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0054b7f0
mov eax, dword [esp + 0x3c]
push 0xd73f
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0054b790
add esp, 0x34
push 0x83ec
push 0xea66
jmp 0x51b249
push 0x1c
push 0xe30d1
call fcn.0054b850
mov eax, dword [esp + 0x2c]
push 0
lea ebx, [edi + 0x390]
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0054b7f0
mov eax, dword [esp + 0x3c]
push 0xfe1c
push ebx
add eax, 0x9e
push esi
push eax
call fcn.0054b790
add esp, 0x34
push 0x83ec
push 0xea67
mov esi, dword [esp + 0x20]
push 0x8a3708
add esi, 0x2c
call fcn.0044ee40
push eax
lea edx, [ebp + 0x88]
push edx
push esi
call fcn.0054b790
add esp, 0x10
push 0x83ec
push 0xea68
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [ebp + 0x96]
push eax
push esi
call fcn.0054b790
add esp, 0x10
push 0x83ec
push 0xea6e
push 0x8a3708
call fcn.0044ee40
push eax
add ebp, 0xa4
push ebp
push esi
call fcn.0054b790
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 0x51b3a0
mov edx, dword [edi + ebp*8 + 0x474]
lea ecx, [esp + 0xd8]
push ecx
push edx
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 eax, [esp + 0xfc]
push str._02d
push eax
call fcn.0056aefc
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.0054b910
add ebx, 0xffffffec
add esi, 0xfffffffe
add esp, 0x28
test ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
jne 0x51b470
mov ecx, dword [edi + 0x474]
lea eax, [esp + 0xe8]
push eax
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0xe8]
test eax, eax
push ebp
jg 0x51b462
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push 9
jmp 0x51b4a8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push 8
jmp 0x51b4a8
mov ecx, dword [edi + ebp*8 + 0x474]
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
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 0x51b4a7
inc ecx
push ecx
push 0xe30d1
call fcn.0054b850
add esp, 0x14
inc ebp
cmp ebp, 8
jl 0x51b3a0
mov al, byte [edi + 0x3ed]
test al, al
je 0x51b5dd
mov edx, dword [edi + 0x3b0]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push edx
lea eax, [esp + 0x4c]
push 0x59c658
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.0054b7f0
push 0x8dfc
lea edx, [esp + 0x68]
push edx
push esi
push ebp
call fcn.0054b790
mov eax, dword [edi + 0x3c8]
push eax
lea ecx, [esp + 0x78]
push 0x59c658
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.0054b7f0
add esp, 0x48
push 0x8dfc
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
call fcn.0054b790
mov edx, dword [edi + 0x3e8]
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 + 0x4c]
push 0x59c658
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.0054b7f0
push 0x8dfc
lea eax, [esp + 0x68]
push eax
push esi
push ebx
call fcn.0054b790
mov esi, dword [esp + 0x40]
add esp, 0x2c
jmp 0x51b698
push 0x7a125
push 0x8a3708
call fcn.0044ee40
push eax
lea ecx, [esp + 0x4c]
push 0x59f8f0
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.0054b7f0
push 0x8dfc
lea eax, [esp + 0x68]
push eax
push ebx
push ebp
call fcn.0054b790
push 0x9cc
lea ecx, [esp + 0x78]
push ecx
add esi, 0xd2
push ebx
push esi
call fcn.0054b7f0
push 0x8dfc
lea edx, [esp + 0x88]
push edx
push ebx
push esi
call fcn.0054b790
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.0054b7f0
mov eax, dword [esp + 0x20]
push 0x8dfc
lea edx, [esp + 0x5c]
push edx
push ebx
push eax
call fcn.0054b790
mov ebx, dword [esp + 0x30]
add esp, 0x20
mov al, byte [edi + 0x3ec]
test al, al
je 0x51b796
mov ecx, dword [edi + 0x3ac]
push ecx
lea edx, [esp + 0x2c]
push 0x59c658
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.0054b7f0
push 0x8dfc
lea ecx, [esp + 0x48]
push ecx
push ebx
push ebp
call fcn.0054b790
mov edx, dword [edi + 0x3c4]
push edx
lea eax, [esp + 0x58]
push 0x59c658
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x9cc
lea ecx, [esp + 0x64]
push ecx
push ebx
push esi
call fcn.0054b7f0
add esp, 0x48
push 0x8dfc
lea edx, [esp + 0x2c]
push edx
push ebx
push esi
call fcn.0054b790
mov ecx, dword [edi + 0x3e0]
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 + 0x2c]
push 0x59c658
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.0054b7f0
push 0x8dfc
lea edx, [esp + 0x48]
push edx
push esi
push edi
call fcn.0054b790
add esp, 0x2c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret
push 0x7a124
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [esp + 0x2c]
push 0x59f8f0
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.0054b7f0
push 0x8dfc
lea edx, [esp + 0x48]
push edx
push edi
push ebp
call fcn.0054b790
push 0x9cc
lea eax, [esp + 0x58]
push eax
push edi
push esi
call fcn.0054b7f0
push 0x8dfc
lea ecx, [esp + 0x68]
push ecx
push edi
push esi
call fcn.0054b790
add esp, 0x4c
push 0x9cc
lea edx, [esp + 0x2c]
push edx
push edi
push ebx
call fcn.0054b7f0
push 0x8dfc
lea eax, [esp + 0x3c]
push eax
push edi
push ebx
call fcn.0054b790
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret