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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52f86b
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 0x52f61a
mov ebp, dword [eax + 0x28]
cmp esi, ebp
jb 0x52f436
mov ebx, 0x5f97e0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x2d
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
mov ebp, esi
mov esi, dword [eax + 0x28]
cmp ebp, esi
jae 0x52f613
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 0x52f608
mov dword [esp + 0x44], esi
mov ebp, dword [esi]
mov dword [esp + 4], ebp
call fcn.00525fc0
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 0x52f5fe
xor eax, eax
cmp al, 0
jne 0x52f50d
mov dword [esp], 0
mov ebx, 0x5ef6b3
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov ebx, 0x5f2bcd
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x15
call fcn.0043efd0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
mov eax, dword [esp + 0x70]
mov ebp, dword [eax]
xor ebx, ebx
cmp ebp, ebx
jne 0x52f593
mov dword [esp], 0
mov ebx, 0x5ef6b3
mov dword [esp + 4], ebx
mov dword [esp + 8], 9
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov ebx, 0x5f6cbc
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x21
call fcn.0043efd0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
mov ebp, dword [eax]
mov ebx, dword [ebp + 4]
mov dword [esp + 0x7c], ebx
mov ebp, dword [eax]
cmp ebp, 0
je 0x52f5f9
mov ebx, dword [esp + 0x24]
lea esi, [ebp + 0x14]
cmp ebx, 0x186a0
jae 0x52f5f2
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 0x52f5ea
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
call fcn.00526010
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
add esp, 0x60
ret
mov dword [0], eax
jmp 0x52f5cb
call fcn.004278c0
ud2
mov dword [ebp], eax
jmp 0x52f5a3
mov eax, 1
jmp 0x52f48e
mov dword [0], eax
jmp 0x52f45c
call fcn.004278c0
ud2
mov dword [esp + 0x7c], eax
mov dword [esp], eax
call fcn.00526090
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x52f826
movzx ebp, word [eax + 4]
cmp esi, ebp
jae 0x52f826
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 0x52f81f
cmp ecx, ebx
ja 0x52f81f
cmp edx, 0
je 0x52f818
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 0x52f811
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.00525fc0
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
movzx ebp, byte [eax]
mov ebx, ebp
and ebx, 1
cmp bl, 0
jne 0x52f807
xor eax, eax
cmp al, 0
jne 0x52f77b
mov dword [esp], 0
mov ebx, 0x5ef6b3
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, 0x5f2bcd
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x15
call fcn.0043efd0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
mov dword [esp], 0x5bd240
call fcn.0040da40
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.00526050
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x48]
cmp ebp, 0
je 0x52f802
cmp byte [0x6cfdf8], 0
jne 0x52f7f4
mov dword [ebp], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0
je 0x52f7f0
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.00526010
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
jmp 0x52f5e6
mov dword [ebx], eax
jmp 0x52f7c5
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0040e410
jmp 0x52f7bc
mov dword [ebp], eax
jmp 0x52f7b0
mov eax, 1
jmp 0x52f6f0
call fcn.004278c0
ud2
mov dword [edx], eax
jmp 0x52f686
call fcn.00427930
ud2
mov ebx, 0x5f97e0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x2d
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
call fcn.0044fe90
jmp fcn.0052f3b0