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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x104]
cmp eax, dword [ecx + 8]
jbe 0x5f3a5e
sub esp, 0x184
mov eax, dword [esp + 0x18c]
jmp 0x5f3640
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
lea ecx, [0x797260]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x188]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.00602c20
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
lea ecx, [0x797260]
mov dword [esp], ecx
mov edx, dword [esp + 0x148]
mov dword [esp + 4], edx
call fcn.00409410
mov eax, dword [esp + 8]
lea ecx, [0x797260]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004ca510
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x188]
mov dword [esp], ecx
lea edx, [0x73dd60]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00603910
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5f3a32
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00464658
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
lea edx, [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.00402a70
movzx ecx, byte [esp + 0xc]
test cl, cl
jne 0x5f39fd
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0x188]
mov edx, dword [ecx + 0x28c]
mov ebx, dword [esp + 0x30]
sub edx, ebx
mov ebp, dword [esp + 0x148]
mov esi, dword [ebp + 0x10]
cmp esi, eax
jb 0x5f376d
cmp dword [ebp + 0xc], eax
jae 0x5f378e
cmp esi, eax
jbe 0x5f376d
mov edx, dword [ebp + 0xc]
mov esi, eax
sub eax, edx
mov edi, eax
jmp 0x5f3792
mov edx, dword [ebp + 0xc]
cmp edx, eax
jbe 0x5f377e
mov edx, eax
sub eax, esi
mov esi, edx
mov edi, eax
jmp 0x5f3792
mov edi, eax
sub eax, esi
mov esi, edi
sub edi, edx
cmp edi, eax
ja 0x5f3792
mov edi, eax
jmp 0x5f3792
mov esi, eax
mov edi, edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], edi
movzx eax, byte [ecx + 0x295]
test al, al
je 0x5f37d5
mov dword [esp], ecx
lea eax, [0x73dd60]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00606430
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp 0x5f3803
mov dword [esp], ecx
lea eax, [0x73dd60]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00605aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
jne 0x5f39e8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x140], edx
mov ecx, dword [esp + 0x148]
mov ebp, dword [ecx]
test ebp, ebp
jne 0x5f386a
lea edi, [esp + 0x60]
xor eax, eax
call fcn.00464628
mov ecx, dword [esp + 0x188]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
lea edx, [0x7aa1e0]
cmp ebp, edx
jne 0x5f3a47
lea edi, [esp + 0x60]
mov esi, ebx
call fcn.00464940
mov ecx, dword [esp + 0x148]
mov ebx, dword [ecx + 4]
sub ebx, dword [esp + 0x7c]
mov ebp, ebx
jmp 0x5f386d
mov ebp, dword [ecx + 4]
mov eax, dword [esp + 0x188]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ecx
call fcn.00603050
mov eax, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.006025e0
movzx eax, byte [esp + 8]
test al, al
je 0x5f363c
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00464652
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x15c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x160], ecx
lea edi, [esp + 0x164]
mov esi, dword [esp + 0x148]
call fcn.00464b20
mov ecx, dword [esp + 0x188]
mov edx, dword [ecx + 0x1b0]
inc edx
mov ebx, dword [ecx + 0x1ac]
mov ebp, dword [ecx + 0x1b4]
cmp ebp, edx
jae 0x5f399e
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x786ea0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x188]
mov dword [ebx + 0x1b4], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x5f3988
mov dword [ebx + 0x1ac], eax
jmp 0x5f3993
lea edi, [ebx + 0x1ac]
call fcn.004643b0
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x188]
mov dword [ecx + 0x1b0], edx
imul eax, edx, 0x38
lea edi, [eax + ebx - 0x38]
mov eax, dword [0xaab020]
test eax, eax
jne 0x5f39c6
lea esi, [esp + 0x14c]
call fcn.00464ae4
jmp 0x5f363c
lea eax, [0x786ea0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
call fcn.00411480
jmp 0x5f363c
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x184
ret
mov eax, dword [esp + 0x188]
mov ecx, dword [eax + 0x1b0]
test ecx, ecx
je 0x5f3a15
mov byte [eax + 0x2a8], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x184
ret
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
add esp, 0x184
ret
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
nop
call fcn.00462fa0
jmp fcn.005f3610