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

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 8]
mov eax, dword [esi]
add edi, 0xfc
call dword [eax + 0xac]
mov cl, byte [eax + 0x23]
mov edx, dword [esi]
xor ebx, ebx
cmp cl, bl
mov ecx, esi
je 0x52a622
mov dword [esp + 0xc], 0x3dcccccd
call dword [edx + 0xa0]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x52a5ab
mov ecx, eax
call fcn.00440740
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
fild qword [esp + 0xc]
fdivr dword [0x6d0348]
jmp 0x52a5af
fld dword [esp + 0xc]
fld dword [edi + 0x28]
fsub st(1)
fld dword [0x6d035c]
fcompp
fnstsw ax
and eax, 0x4100
fstp st(0)
jne 0x52a5cf
fld dword [0x6d035c]
jmp 0x52a60b
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0xc], 0x3dcccccd
call dword [eax + 0xa0]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x52a604
mov ecx, eax
call fcn.00440740
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
fild qword [esp + 0xc]
fdivr dword [0x6d0348]
jmp 0x52a608
fld dword [esp + 0xc]
fsubr dword [edi + 0x28]
fstp dword [edi + 0x28]
mov ecx, dword [esi + 8]
call fcn.00406a50
mov ecx, esi
call fcn.0052a8c0
jmp 0x52a87e
call dword [edx + 0xac]
mov cl, byte [eax + 0x24]
mov eax, dword [esi]
cmp cl, bl
mov ecx, esi
je 0x52a6ce
mov dword [esp + 0xc], 0x3dcccccd
call dword [eax + 0xa0]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x52a668
mov ecx, eax
call fcn.00440740
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
fild qword [esp + 0xc]
fdivr dword [0x6d0348]
jmp 0x52a66c
fld dword [esp + 0xc]
fadd dword [edi + 0x28]
fcomp dword [0x6d0348]
fnstsw ax
test ah, 5
jp 0x52a6c3
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0xc], 0x3dcccccd
call dword [edx + 0xa0]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x52a6b7
mov ecx, eax
call fcn.00440740
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
fild qword [esp + 0xc]
fdivr dword [0x6d0348]
fadd dword [edi + 0x28]
jmp 0x52a60b
fld dword [esp + 0xc]
fadd dword [edi + 0x28]
jmp 0x52a60b
fld dword [0x6d0348]
jmp 0x52a60b
call dword [eax + 0xac]
mov cl, byte [eax + 0x25]
cmp cl, bl
mov ecx, esi
je 0x52a700
call fcn.0052aab0
cmp eax, 0xffffffff
je 0x52a87e
mov ecx, dword [esi + 8]
mov dword [ecx + 0x1e8], eax
mov ecx, esi
call fcn.0052a9a0
jmp 0x52a87e
mov edx, dword [esi]
call dword [edx + 0xac]
mov cl, byte [eax + 0x26]
cmp cl, bl
mov ecx, esi
je 0x52a734
call fcn.0052aa10
cmp eax, 0xffffffff
je 0x52a87e
mov ecx, dword [esi + 8]
mov dword [ecx + 0x1e8], eax
mov ecx, esi
call fcn.0052a9a0
jmp 0x52a87e
mov edx, dword [esi]
call dword [edx + 0xac]
cmp byte [eax + 0x27], bl
je 0x52a779
mov edx, dword [edi + 0x38]
dec edx
mov dword [edi + 0x38], edx
mov eax, dword [0x72d944]
mov ecx, dword [eax + 4]
call fcn.0044c480
cmp dword [edi + 0x38], eax
jb 0x52a75d
mov dword [edi + 0x38], ebx
mov ecx, dword [esi + 8]
call fcn.00406a50
mov ecx, dword [esi + 8]
call fcn.0050b430
mov ecx, esi
call fcn.0052a920
jmp 0x52a87e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xac]
cmp byte [eax + 0x28], bl
je 0x52a7b5
mov edx, dword [edi + 0x38]
inc edx
mov dword [edi + 0x38], edx
mov eax, dword [0x72d944]
mov ecx, dword [eax + 4]
call fcn.0044c480
cmp dword [edi + 0x38], eax
jb 0x52a75d
mov ecx, dword [0x72d944]
mov ecx, dword [ecx + 4]
call fcn.0044c480
dec eax
mov dword [edi + 0x38], eax
jmp 0x52a75d
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xac]
mov cl, byte [eax + 0x2c]
cmp cl, bl
mov ecx, esi
je 0x52a7e2
mov byte [esi + 0x234], bl
mov dword [esi + 0x238], 0xffffffff
call fcn.0052ac30
jmp 0x52a87e
mov eax, dword [esi]
call dword [eax + 0xac]
cmp byte [eax + 0x2d], bl
je 0x52a801
mov byte [esi + 0x234], bl
mov dword [esi + 0x238], 0xffffffff
jmp 0x52a87e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xac]
mov cl, byte [eax + 0x29]
cmp cl, bl
mov ecx, esi
je 0x52a822
call fcn.0052acf0
mov ecx, esi
call fcn.0052ac30
jmp 0x52a87e
mov eax, dword [esi]
call dword [eax + 0xac]
mov cl, byte [eax + 0x2a]
cmp cl, bl
mov ecx, esi
je 0x52a841
call fcn.0052acf0
mov ecx, esi
call fcn.0052ac30
jmp 0x52a87e
mov edx, dword [esi]
call dword [edx + 0xac]
cmp byte [eax + 0x2b], bl
je 0x52a85e
mov ecx, esi
call fcn.0052acf0
mov ecx, esi
call fcn.0052ac30
jmp 0x52a87e
xor edi, edi
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xac]
cmp byte [eax + edi + 0x2e], bl
jne 0x52a878
inc edi
cmp edi, 0x12
jl 0x52a860
jmp 0x52a87e
mov dword [esi + 0x238], edi
cmp byte [esi + 0x234], 1
jne 0x52a899
mov byte [esi + 0x234], bl
mov ecx, dword [0x72d944]
mov edx, dword [ecx + 0x3c]
mov byte [edx + 0x10], bl
mov eax, dword [esi + 0x238]
pop edi
cmp eax, 0xffffffff
je 0x52a8b1
mov ecx, esi
pop esi
pop ebx
add esp, 8
jmp 0x52add0
pop esi
pop ebx
add esp, 8
ret
sub esp, 0x268
mov eax, dword [0x72d944]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x10], ecx
push edi
mov edx, dword [esi + 0x238]
mov ecx, dword [esi + 8]
mov ebp, dword [ecx + edx*8 + 0x1f0]
lea ebx, [ecx + edx*8 + 0x1ec]
mov edx, dword [eax + 0x3c]
mov ecx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebp
mov byte [edx + 0x10], 1
mov eax, dword [esi]
call dword [eax + 0xa0]
mov ecx, dword [esi + 0x238]
mov edi, dword [eax + ecx*4 + 0x3c]
test edi, edi
je 0x52ae55
mov eax, dword [esi + 0x218]
mov ecx, dword [edi + 0x30]
cmp ecx, eax
je 0x52ae55
lea edx, [esp + 0x78]
push edx
push eax
mov eax, dword [0x72d944]
mov ecx, dword [eax + 0x90]
call fcn.00410a80
lea ecx, [esp + 0x78]
push ecx
mov ecx, edi
call fcn.004413a0
xor edx, edx
test ebp, ebp
jbe 0x52aeaf
xor ebp, ebp
mov eax, dword [ebx]
mov ecx, dword [eax + ebp]
mov dword [esp + edx*4 + 0x50], ecx
mov eax, dword [ebx]
mov cl, byte [eax + ebp + 4]
lea edi, [eax + ebp]
mov byte [esp + 0x1c], cl
mov eax, dword [esp + 0x1c]
and eax, 0xff
cmp eax, 0xffffffff
je 0x52ae9b
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 0x40]
xor ecx, ecx
mov cl, byte [edi + 8]
mov edi, dword [ebx + eax*4]
mov ebx, dword [esp + 0x18]
shl ecx, 4
add ecx, edi
jmp 0x52ae9d
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + edx*4 + 0x28], ecx
inc edx
add ebp, 0xc
cmp edx, eax
jb 0x52ae5d
mov ebp, eax
lea edx, [esp + 0x20]
lea eax, [esp + 0x28]
push edx
push ebp
lea ecx, [esp + 0x58]
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00454070
cmp dword [esp + 0x20], 1
jne 0x52aef4
mov edx, dword [esi + 8]
mov dword [esi + 0x238], 0xffffffff
mov byte [esi + 0x234], 1
mov ecx, esi
mov dword [edx + 0x318], 2
call fcn.0052ac30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x268
ret