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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x525959
sub esp, 0xe8
xor eax, eax
lea edi, [esp + 0xc4]
call fcn.004637b7
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x10]
xor ebx, ebx
cmp ebp, ebx
je 0x5253f2
call fcn.00514ae0
mov ebx, dword [esp]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x94], ebx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.004637b7
lea ebx, [esp + 0xc4]
mov edi, ebx
cmp ebx, 0
je 0x525952
xor eax, eax
call fcn.004637b7
mov ebp, dword [esp + 0x90]
mov dword [ebx + 4], ebp
mov ebp, dword [esp + 0x94]
mov dword [ebx + 8], ebp
mov dword [esp + 0x98], esi
mov dword [ebx + 0xc], esi
mov dword [esp + 0x9c], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x52594b
add eax, 0x24
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00527df0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x70], ebx
xor ebx, ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
lea ebx, [esp + 0x5c]
mov dword [esp + 0x28], ebx
mov dword [esp], 0x70b040
lea ebx, [esp + 0x6c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edi, 1
mov esi, 1
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x10]
mov eax, 0x8c3450
mov dword [esp + 0x44], eax
mov dword [esp], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x74], edx
mov dword [esp + 8], edx
mov dword [esp + 0x78], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x10], esi
call fcn.00469b30
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x10]
mov dword [esp], ebp
call fcn.004fcae0
mov ebx, dword [esp + 0xec]
movzx ebx, byte [ebx + 0x44]
cmp bl, 0
je 0x5256f6
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x525944
add eax, 8
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
call fcn.004ff9a0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ecx
cmp ecx, 0
jne 0x5256f6
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
cmp ecx, 0
jne 0x52556b
cmp eax, 0x3e7
jg 0x52556b
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
xor ebx, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
lea ebx, [esp + 0x54]
mov dword [esp + 0x28], ebx
mov dword [esp], 0x70aa00
lea ebx, [esp + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov edx, 1
mov ecx, 1
mov eax, ebx
mov ebx, 0x7588bf
mov dword [esp], ebx
mov dword [esp + 4], 5
mov dword [esp + 0x74], eax
mov dword [esp + 8], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x10], ecx
call fcn.004699b0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], 0
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x52593d
add eax, 8
lea edi, [esp + 4]
cld
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [esp + 0x64], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x68], edx
mov dword [esp + 0x10], edx
call fcn.0044d580
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 4], eax
call fcn.004ff9a0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x34], ecx
cmp ecx, 0
je 0x525460
cmp ecx, 0
jne 0x525623
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
lea ebx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp], 0x70b040
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
cmp dword [esp + 4], 0
je 0x525618
add dword [esp + 4], 8
mov dword [esp + 8], 0
call fcn.004178c0
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov edx, 1
mov ecx, 1
mov eax, ebx
mov ebx, 0x76dcab
mov dword [esp], ebx
mov dword [esp + 4], 0x31
mov dword [esp + 0x74], eax
mov dword [esp + 8], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x10], ecx
call fcn.00469a70
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov dword [0], eax
jmp 0x52559f
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x525936
add eax, 8
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
call fcn.004fb760
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], eax
cmp eax, 0
je 0x5256f6
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
lea ebx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00418100
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov edx, 1
mov ecx, 1
mov eax, ebx
mov ebx, 0x75d4b7
mov dword [esp], ebx
mov dword [esp + 4], 0xb
mov dword [esp + 0x74], eax
mov dword [esp + 8], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x10], ecx
call fcn.00469a70
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x52592f
add eax, 8
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x441
mov dword [esp + 0xc], 0x1b0
call fcn.004fc7d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
cmp eax, 0
je 0x525759
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
add esp, 0xe8
ret
mov ebx, dword [esp + 0xec]
cmp ebx, 0
je 0x525928
cmp byte [0x8f7eb8], 0
jne 0x525914
mov dword [ebx + 0x10], ecx
call fcn.00514ae0
mov ebx, dword [esp]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x84], ebx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.004637b7
lea ebx, [esp + 0xa0]
mov edi, ebx
cmp ebx, 0
je 0x52590d
xor eax, eax
call fcn.004637b7
mov ebp, dword [esp + 0x80]
mov dword [ebx + 4], ebp
mov ebp, dword [esp + 0x84]
mov dword [ebx + 8], ebp
mov dword [esp + 0x88], esi
mov dword [ebx + 0xc], esi
mov dword [esp + 0x8c], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0xec]
cmp eax, 0
je 0x525906
add eax, 0x1c
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00527df0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x70], ebx
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
lea ebx, [esp + 0x4c]
mov dword [esp + 0x28], ebx
mov dword [esp], 0x70b040
lea ebx, [esp + 0x6c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edi, 1
mov esi, 1
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x10]
mov eax, 0x8c3450
mov dword [esp + 0x44], eax
mov dword [esp], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x74], edx
mov dword [esp + 8], edx
mov dword [esp + 0x78], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x10], esi
call fcn.00469b30
mov ebx, dword [esp + 0x80]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xc], ebx
call fcn.00512bd0
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x40], eax
xor eax, eax
mov dword [ecx + 0x30], eax
xor eax, eax
mov dword [ecx + 0x38], eax
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
add esp, 0xe8
ret
mov dword [eax], eax
jmp 0x5257fa
mov dword [ebx], eax
jmp 0x5257bb
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0041b160
jmp 0x525779
mov dword [ebx], eax
jmp 0x525769
mov dword [eax], eax
jmp 0x525706
mov dword [eax], eax
jmp 0x525633
mov dword [eax], eax
jmp 0x52550a
mov dword [eax], eax
jmp 0x525416
mov dword [eax], eax
jmp 0x525333
mov dword [ebx], eax
jmp 0x5252f4
call fcn.004616d0
jmp fcn.00525250