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

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x52ab5d
sub esp, 0x84
mov ecx, dword [esp + 0xac]
cmp ecx, 6
jg 0x52a81a
test ecx, ecx
jne 0x52a6f6
lea edi, [esp + 0x70]
lea esi, [esp + 0x94]
call fcn.00468aee
mov eax, dword [esp + 0x74]
nop
test eax, 0x80000000
je 0x52a688
mov ecx, dword [esp + 0x70]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
shl edx, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, edx
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x52a690
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 8], edx
add ecx, 0x886e0900
adc eax, 0xfffffff1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0xa
call fcn.0047d680
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
add esp, 0x84
ret
cmp ecx, 6
jne 0x52a920
mov edx, dword [esp + 0xa8]
cmp dword [edx], 0x58494e55
jne 0x52aa64
cmp word [edx + 4], 0x534d
jne 0x52aa64
lea edi, [esp + 0x5c]
lea esi, [esp + 0x94]
call fcn.00468aee
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
test ecx, 0x80000000
je 0x52a762
shl ecx, 1
mov ebx, edx
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr ecx, 0x1f
shr edx, 0x1f
or edx, ebx
add edx, 0xd7b17f80
adc ecx, 0xd
jmp 0x52a76e
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov ebp, edx
mov edx, ebx
mov eax, edx
mov edx, 0x3b9aca00
mul edx
imul ecx, ecx, 0x3b9aca00
add ecx, edx
and ebp, 0x3fffffff
mov edx, ebp
sar ebp, 0x1f
add eax, edx
adc ecx, ebp
add eax, 0x3d1a0000
adc ecx, 0xa1b203eb
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf4240
call fcn.0045fdb0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0xa
call fcn.0047d680
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
add esp, 0x84
ret
cmp ecx, 8
jne 0x52a91b
mov edx, dword [esp + 0xa8]
cmp dword [edx], 0x58494e55
jne 0x52aa64
cmp dword [edx + 4], 0x4f4e414e
jne 0x52aa64
lea edi, [esp + 0x34]
lea esi, [esp + 0x94]
call fcn.00468aee
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, 0x80000000
je 0x52a887
shl ecx, 1
mov ebx, edx
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr ecx, 0x1f
shr edx, 0x1f
or edx, ebx
add edx, 0xd7b17f80
adc ecx, 0xd
jmp 0x52a893
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebp, edx
mov edx, ebx
mov eax, edx
mov edx, 0x3b9aca00
mul edx
imul ecx, ecx, 0x3b9aca00
add ecx, edx
and ebp, 0x3fffffff
mov edx, ebp
sar ebp, 0x1f
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
add eax, edx
adc ecx, ebp
add eax, 0x3d1a0000
adc ecx, 0xa1b203eb
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0xa
call fcn.0047d680
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
add esp, 0x84
ret
cmp ecx, 9
je 0x52a92c
mov edx, dword [esp + 0xa8]
jmp 0x52aa64
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
lea ecx, [0x60b763]
mov dword [esp + 4], ecx
mov dword [esp + 8], 9
call fcn.00403320
movzx eax, byte [esp + 0xc]
test al, al
je 0x52aa56
lea edi, [esp + 0x48]
lea esi, [esp + 0x94]
call fcn.00468aee
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
test ecx, 0x80000000
je 0x52a99e
shl ecx, 1
mov ebx, edx
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr ecx, 0x1f
shr edx, 0x1f
or edx, ebx
add edx, 0xd7b17f80
adc ecx, 0xd
jmp 0x52a9aa
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov ebp, edx
mov edx, ebx
mov eax, edx
mov edx, 0x3b9aca00
mul edx
imul ecx, ecx, 0x3b9aca00
add ecx, edx
and ebp, 0x3fffffff
mov edx, ebp
sar ebp, 0x1f
add eax, edx
adc ecx, ebp
add eax, 0x3d1a0000
adc ecx, 0xa1b203eb
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
call fcn.0045fdb0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0xa
call fcn.0047d680
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
add esp, 0x84
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x8c]
inc eax
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jb 0x52aa80
mov ebp, dword [esp + 0x88]
jmp 0x52aac9
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, edx
mov edx, dword [esp + 0xa8]
mov eax, ecx
mov ecx, dword [esp + 0xac]
mov byte [eax + ebp - 1], 0x22
lea edi, [esp]
lea esi, [esp + 0x94]
call fcn.00468aee
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0x24], eax
call fcn.004a6e60
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ecx
mov edx, dword [esp + 0x28]
cmp eax, ecx
jae 0x52ab3c
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov byte [ecx + edx - 1], 0x22
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x84
ret
call fcn.00467000
jmp fcn.0052a610