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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
push esi
lea eax, [esp + 0x4f]
push edi
lea ecx, [esp + 0x23]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0046e740
mov esi, dword [esp + 0xbc]
xor edi, edi
xor ebx, ebx
xor ebp, ebp
cmp esi, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x28], edi
je 0x52c373
mov ecx, esi
call fcn.005aa8a0
jmp 0x52c397
push 0x2b6b
mov ecx, 0x628700
call fcn.005cbd90
cmp eax, edi
mov dword [esp + 0x40], eax
je 0x52c39b
mov edx, eax
lea ecx, [edx + 0x3c0]
call fcn.005eba10
mov dword [esp + 0x28], eax
push 0x2b64
mov ecx, 0x628700
call fcn.005cbd90
mov ecx, eax
cmp ecx, edi
je 0x52c3c2
cmp dword [esp + 0x28], edi
jne 0x52c3bd
mov eax, dword [ecx]
call dword [eax + 0x6c]
jmp 0x52c3c2
mov edx, dword [ecx]
call dword [edx + 0x68]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edi
test eax, eax
mov dword [esp + 0x34], edi
jle 0x52c74a
jmp 0x52c3df
mov esi, dword [esp + 0xbc]
test esi, esi
je 0x52c3ed
push edi
mov ecx, esi
call fcn.005aaf00
jmp 0x52c40d
mov ecx, dword [esp + 0x40]
mov eax, edi
and eax, 0xffff
push eax
call fcn.005df830
mov eax, dword [eax + 0x1c]
mov ecx, dword [0x62677c]
push eax
call fcn.00527c60
mov esi, eax
test esi, esi
je 0x52c731
mov cx, word [esi + 6]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x10]
lea eax, [esp + 0x80]
mov dword [esp + 0x10], ecx
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.004425f0
cmp dword [eax], edi
jne 0x52c4d5
lea ecx, [esp + 0x10]
lea edx, [esp + 0x6c]
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.004d07d0
mov eax, dword [eax]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x40], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [edx]
je 0x52c480
mov cx, word [esp + 0x10]
cmp cx, word [eax + 0x10]
jae 0x52c4c3
lea edx, [esp + 0x2c]
lea eax, [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0xa8]
mov dword [esp + 0x34], 0
call fcn.0052c950
push eax
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x1c]
push eax
call fcn.0052c920
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov dword [eax + 0x14], 1
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x54], ecx
jmp 0x52c58c
mov edi, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
lea edx, [esp + 0x10]
lea eax, [esp + 0x74]
sub edi, ecx
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.004d07d0
mov ecx, dword [eax]
lea edx, [esp + 0x90]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esp + 0x18]
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x38]
cmp eax, dword [ecx]
je 0x52c51c
mov dx, word [esp + 0x10]
cmp dx, word [eax + 0x10]
jae 0x52c55f
lea eax, [esp + 0x60]
lea ecx, [esp + 0x10]
push eax
push ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 0x68], 0
call fcn.0052c950
push eax
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x84]
lea ecx, [esp + 0x1c]
push eax
call fcn.0052c920
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov ecx, dword [eax + 0x14]
add eax, 0x14
inc ecx
xor edx, edx
mov dword [eax], ecx
mov eax, ecx
mov ecx, 3
div ecx
test edx, edx
je 0x52c589
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
and edx, 0xffff
cmp eax, edx
jne 0x52c58c
mov dword [esi + 0x54], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x44]
mov edi, dword [esi + 0x54]
and eax, 0xffff
mov dword [esp + 0x2c], eax
mov eax, dword [0x61425c]
add ebp, ecx
add ebx, edi
cmp ebp, eax
jl 0x52c72d
mov ecx, dword [0x62677c]
mov ebp, 0x2c23
push ebp
call fcn.00527c60
mov esi, eax
test esi, esi
je 0x52c72b
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x88]
push 0x5ffba0
push eax
lea ecx, [esp + 0x1c]
call fcn.004425f0
cmp dword [eax], edi
jne 0x52c688
lea ecx, [esp + 0x24]
lea edx, [esp + 0x84]
push ecx
push edx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], ebp
call fcn.004d07d0
mov eax, dword [eax]
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x30]
cmp eax, dword [edx]
je 0x52c633
mov cx, word [esp + 0x24]
cmp cx, word [eax + 0x10]
jae 0x52c676
lea edx, [esp + 0x68]
lea eax, [esp + 0x24]
push edx
push eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x70], 0
call fcn.0052c950
push eax
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x1c]
push eax
call fcn.0052c920
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov dword [eax + 0x14], 1
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x54], ecx
jmp 0x52c728
mov edi, dword [esi + 0x54]
mov eax, dword [esi + 0x50]
sub edi, eax
lea edx, [esp + 0x24]
lea eax, [esp + 0x70]
push edx
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], ebp
call fcn.004d07d0
mov ecx, dword [eax]
lea edx, [esp + 0x78]
mov dword [esp + 0x54], ecx
push edx
lea ecx, [esp + 0x18]
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x54]
cmp eax, dword [ecx]
je 0x52c6d0
mov dx, word [esp + 0x24]
cmp dx, word [eax + 0x10]
jae 0x52c70d
lea eax, [esp + 0x64]
lea ecx, [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0
call fcn.0052c950
push eax
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x60]
lea ecx, [esp + 0x1c]
push eax
call fcn.0052c920
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov ecx, dword [eax + 0x14]
add eax, 0x14
inc ecx
xor edx, edx
mov dword [eax], ecx
mov eax, ecx
mov ecx, 3
div ecx
test edx, edx
jne 0x52c728
mov dword [esi + 0x54], edi
add ebx, dword [esi + 0x54]
xor ebp, ebp
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
inc edi
mov edx, edi
mov dword [esp + 0x34], edi
and edx, 0xffff
cmp edx, eax
jl 0x52c3d8
push 0x2b70
mov ecx, 0x628700
call fcn.005cbd90
mov ebp, eax
test ebp, ebp
je 0x52c858
push 0x2b71
mov ecx, 0x628700
call fcn.005cbd90
mov esi, eax
lea eax, [esp + 0x58]
push 0xa
push eax
push ebx
call fcn.005f973f
add esp, 0xc
xor edi, edi
lea ecx, [esp + 0x23]
mov dword [esp + 0x44], edi
push edi
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], edi
call fcn.0046fe80
push 8
lea ecx, [esp + 0x48]
call fcn.00405f20
mov edx, dword [esp + 0x48]
cmp ebx, edi
mov byte [edx], 0
jle 0x52c7e6
mov eax, dword [esp + 0x58]
mov edi, 0x614358
push eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x614358
push ecx
push 0x614358
lea ecx, [esp + 0x50]
call fcn.00406980
test esi, esi
je 0x52c801
push 1
push 0
jmp 0x52c7fa
jne 0x52c7f2
cmp esi, edi
je 0x52c801
push 1
push 1
jmp 0x52c7fa
cmp esi, edi
je 0x52c801
push 1
push 2
mov ecx, esi
call fcn.005d7520
mov ecx, dword [esp + 0x58]
lea edi, [esp + 0x58]
push ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x5c]
lea edx, [esp + ecx + 0x5c]
lea ecx, [esp + 0x48]
push edx
push eax
call fcn.004071f0
mov esi, dword [ebp]
push 0
sub esp, 0xc
lea edx, [esp + 0x54]
mov ecx, esp
push edx
call fcn.00407bf0
mov ecx, ebp
call dword [esi + 0xc4]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
sub ecx, eax
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.0041d810
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, esi
je 0x52c88c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov eax, dword [edx + 4]
push eax
call fcn.0052ca00
mov eax, dword [esp + 0x14]
mov dword [eax + 8], eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], esi
mov eax, dword [esp + 0x14]
mov dword [eax + 0xc], eax
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x14]
call fcn.00449290
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret