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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52f8cb
sub esp, 0x60
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], esi
movzx ebp, byte [eax + 0xf]
mov ebx, ebp
and ebx, 0x1f
movzx ebp, bl
cmp ebp, 0x14
jne 0x52f67a
mov ebp, dword [eax + 0x28]
cmp esi, ebp
jb 0x52f496
mov ebx, 0x5f9844
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x2d
mov dword [esp], 0x5bd020
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ac00
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00428f70
ud2
mov ebp, esi
mov esi, dword [eax + 0x28]
cmp ebp, esi
jae 0x52f673
mov esi, dword [eax + 0x24]
shl ebp, 3
add esi, ebp
mov dword [esp + 0x38], eax
mov dword [esp], eax
cmp dword [esp], 0
je 0x52f668
mov dword [esp + 0x44], esi
mov ebp, dword [esi]
mov dword [esp + 4], ebp
call fcn.00526020
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
movzx ebp, byte [eax]
mov ebx, ebp
and ebx, 1
cmp bl, 0
jne 0x52f65e
xor eax, eax
cmp al, 0
jne 0x52f56d
mov dword [esp], 0
mov ebx, 0x5ef713
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov ebx, 0x5f2c2d
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x15
call fcn.0043f0a0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bd020
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ac00
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00428f70
ud2
mov eax, dword [esp + 0x70]
mov ebp, dword [eax]
xor ebx, ebx
cmp ebp, ebx
jne 0x52f5f3
mov dword [esp], 0
mov ebx, 0x5ef713
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov ebx, 0x5f6d20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x21
call fcn.0043f0a0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bd020
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ac00
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00428f70
ud2
mov ebp, dword [eax]
mov ebx, dword [ebp + 4]
mov dword [esp + 0x7c], ebx
mov ebp, dword [eax]
cmp ebp, 0
je 0x52f659
mov ebx, dword [esp + 0x24]
lea esi, [ebp + 0x14]
cmp ebx, 0x186a0
jae 0x52f652
shl ebx, 2
add esi, ebx
mov dword [esp + 0x84], esi
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x52f64a
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
call fcn.00526070
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
add esp, 0x60
ret
mov dword [0], eax
jmp 0x52f62b
call fcn.00427990
ud2
mov dword [ebp], eax
jmp 0x52f603
mov eax, 1
jmp 0x52f4ee
mov dword [0], eax
jmp 0x52f4bc
call fcn.00427990
ud2
mov dword [esp + 0x7c], eax
mov dword [esp], eax
call fcn.005260f0
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x52f886
movzx ebp, word [eax + 4]
cmp esi, ebp
jae 0x52f886
xor ebx, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov ecx, dword [eax + 8]
mov edx, eax
add edx, ecx
movzx ecx, word [eax + 4]
movzx ebp, word [eax + 4]
movzx ebx, cx
mov ecx, ebx
movzx ebx, bp
cmp ebx, 0x10000
ja 0x52f87f
cmp ecx, ebx
ja 0x52f87f
cmp edx, 0
je 0x52f878
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
lea ebx, [esp + 0x54]
mov ebp, esi
mov esi, dword [ebx + 4]
cmp ebp, esi
jae 0x52f871
mov esi, dword [ebx]
shl ebp, 4
add esi, ebp
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esi + 8]
mov dword [esp + 0x30], ebx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 4], eax
call fcn.00526020
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
movzx ebp, byte [eax]
mov ebx, ebp
and ebx, 1
cmp bl, 0
jne 0x52f867
xor eax, eax
cmp al, 0
jne 0x52f7db
mov dword [esp], 0
mov ebx, 0x5ef713
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, 0x5f2c2d
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x15
call fcn.0043f0a0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bd020
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ac00
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00428f70
ud2
mov dword [esp], 0x5bd2a0
call fcn.0040db10
mov ebx, dword [esp + 4]
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 0x6c]
mov dword [esp], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
call fcn.005260b0
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x48]
cmp ebp, 0
je 0x52f862
cmp byte [0x6cfdd8], 0
jne 0x52f854
mov dword [ebp], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0
je 0x52f850
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call fcn.00526070
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
jmp 0x52f646
mov dword [ebx], eax
jmp 0x52f825
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0040e4e0
jmp 0x52f81c
mov dword [ebp], eax
jmp 0x52f810
mov eax, 1
jmp 0x52f750
call fcn.00427990
ud2
mov dword [edx], eax
jmp 0x52f6e6
call fcn.00427a00
ud2
mov ebx, 0x5f9844
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x2d
mov dword [esp], 0x5bd020
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ac00
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00428f70
ud2
call fcn.0044ff60
jmp fcn.0052f410