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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x248]
cmp eax, dword [ecx + 8]
jbe 0x5f3bdc
sub esp, 0x2c8
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x2d4]
movzx ebp, byte [ebx + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5f3688
lea edi, [esp + 0x124]
xor eax, eax
call fcn.00463d14
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x69e4a0]
cmp ecx, ebp
jne 0x5f3bc5
lea edi, [esp + 0x124]
call fcn.00464008
mov ecx, dword [esp + 0x148]
jmp 0x5f36b4
lea edi, [esp + 0x44]
xor eax, eax
call fcn.00463d18
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x69e9e0]
cmp ecx, ebp
jne 0x5f3baf
lea edi, [esp + 0x44]
call fcn.00464030
mov ecx, dword [esp + 0x68]
cmp ecx, 0x200
jbe 0x5f37aa
test ecx, 1
je 0x5f37a4
mov dword [esp + 0x38], ecx
mov ebp, dword [ebx + 0x274]
inc ebp
mov esi, dword [ebx + 0x270]
mov eax, edx
mov edx, dword [ebx + 0x278]
cmp edx, ebp
jae 0x5f3751
mov dword [esp + 0x40], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x66c280]
mov dword [esp + 0x10], eax
call fcn.0044acd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2d4]
mov dword [ebx + 0x278], edx
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5f373a
mov dword [ebx + 0x270], eax
jmp 0x5f3745
lea edi, [ebx + 0x270]
call fcn.00463ab0
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x274], ebp
mov edx, dword [0x8c3148]
mov edi, ebx
lea ebx, [esi + ebp*8 - 4]
mov ecx, dword [0x8c314c]
mov dword [ebx], ecx
lea ecx, [esi + ebp*8 - 8]
mov ebx, dword [0x8ef4b0]
test ebx, ebx
jne 0x5f3787
mov dword [ecx], edx
mov ecx, dword [esp + 0x38]
cmp ecx, 0x200
jmp 0x5f37ae
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.00463ab0
mov ecx, dword [esp + 0x38]
cmp ecx, 0x200
mov eax, ebp
mov edi, ebx
jmp 0x5f37ae
cmp ecx, 0x200
mov eax, edx
mov edi, ebx
jb 0x5f37b5
and eax, 0xfffffe00
mov ecx, dword [edi + 0x28c]
sub ecx, eax
mov eax, dword [esp + 0x2cc]
mov edx, dword [eax + 0x10]
cmp edx, ecx
jbe 0x5f37d0
mov ecx, dword [eax + 8]
jmp 0x5f37d9
mov ecx, dword [eax + 8]
cmp ecx, edx
ja 0x5f37d9
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0xc]
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.005e66d0
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2d4]
mov edx, dword [ecx + 0xa0]
mov ebx, dword [ecx + 0xa4]
mov dword [esp + 0x3c], ebx
mov ebp, dword [esp + 0x2cc]
xor esi, esi
jmp 0x5f383d
mov eax, dword [esp + 0x214]
lea edx, [eax + 0x2c]
mov eax, dword [esp + 0x34]
lea esi, [eax + 1]
mov ecx, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x2cc]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
cmp esi, ebx
jge 0x5f38dc
mov dword [esp + 0x34], esi
lea edi, [esp + 0x29c]
mov esi, edx
call fcn.004641f2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
mov edi, ecx
mov ecx, dword [esp + 0x34]
cmp ecx, eax
je 0x5f38d8
mov dword [esp + 0x214], edx
mov dword [esp], ebp
lea eax, [esp + 0x29c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x5f3816
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5f3baa
imul eax, ebp, 0x2c
mov eax, dword [eax + ebx + 0x38]
mov ebp, dword [esp + 0x2cc]
mov esi, dword [esp + 0x20]
mov edi, edx
jmp 0x5f38e2
xor eax, eax
jmp 0x5f38e2
mov esi, eax
mov edi, ecx
xor eax, eax
test eax, eax
je 0x5f38fd
mov eax, dword [edi + 0xa0]
mov ecx, dword [edi + 0xa4]
mov dword [esp + 0x3c], ecx
xor edx, edx
jmp 0x5f3b08
xor eax, eax
test al, al
je 0x5f391a
mov eax, dword [edi + 0xa0]
mov ecx, dword [edi + 0xa4]
mov dword [esp + 0x3c], ecx
xor edx, edx
jmp 0x5f3a39
xor eax, eax
test al, al
je 0x5f3934
mov eax, dword [edi + 0xa0]
mov ecx, dword [edi + 0xa4]
mov dword [esp + 0x3c], ecx
xor edx, edx
jmp 0x5f3983
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2d0]
cmp ecx, esi
jb 0x5f394c
add eax, esi
cmp ecx, eax
setb al
jmp 0x5f394e
xor eax, eax
mov byte [esp + 0x2d8], al
add esp, 0x2c8
ret
mov ebx, dword [esp + 0x214]
lea eax, [ebx + 0x2c]
mov ebx, dword [esp + 0x28]
lea edx, [ebx + 1]
mov edi, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2cc]
mov esi, dword [esp + 0x20]
cmp edx, ecx
jge 0x5f3a04
mov ebx, edi
lea edi, [esp + 0x218]
mov esi, eax
call fcn.004641f2
mov ecx, dword [ebx + 0xa4]
dec ecx
cmp edx, ecx
je 0x5f39fc
mov dword [esp + 0x28], edx
mov dword [esp + 0x214], eax
mov dword [esp], ebp
lea eax, [esp + 0x218]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x5f395c
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov edx, dword [edx + 0xa0]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x5f3a0d
imul eax, ebx, 0x2c
mov eax, dword [eax + edx + 0x38]
mov esi, dword [esp + 0x20]
jmp 0x5f3a06
mov esi, dword [esp + 0x20]
xor eax, eax
jmp 0x5f3a06
xor eax, eax
sub eax, esi
jmp 0x5f3938
call fcn.00463b30
mov ebx, dword [esp + 0x214]
lea eax, [ebx + 0x2c]
mov ebx, dword [esp + 0x2c]
lea edx, [ebx + 1]
mov edi, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
cmp edx, ecx
jge 0x5f3ac9
mov ebx, edi
lea edi, [esp + 0x244]
mov esi, eax
call fcn.004641f2
mov ecx, dword [ebx + 0xa4]
dec ecx
cmp edx, ecx
je 0x5f3abf
mov dword [esp + 0x2c], edx
mov dword [esp + 0x214], eax
mov dword [esp], ebp
lea eax, [esp + 0x244]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x5f3a12
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5f3adc
imul eax, ebp, 0x2c
mov eax, dword [eax + ebx + 0x38]
mov ebp, dword [esp + 0x2cc]
mov esi, dword [esp + 0x20]
mov edi, edx
jmp 0x5f3acb
mov esi, dword [esp + 0x20]
mov edi, ebx
xor eax, eax
jmp 0x5f3acb
xor eax, eax
mov ecx, dword [esp + 0x24]
lea edx, [ecx + esi]
cmp eax, edx
setb al
jmp 0x5f391c
call fcn.00463b30
mov ebx, dword [esp + 0x214]
lea eax, [ebx + 0x2c]
mov ebx, dword [esp + 0x30]
lea edx, [ebx + 1]
mov edi, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
cmp edx, ecx
jge 0x5f3b98
mov ebx, edi
lea edi, [esp + 0x270]
mov esi, eax
call fcn.004641f2
mov ecx, dword [ebx + 0xa4]
dec ecx
cmp edx, ecx
je 0x5f3b8e
mov dword [esp + 0x30], edx
mov dword [esp + 0x214], eax
mov dword [esp], ebp
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x5f3ae1
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x30]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5f3ba5
imul eax, ebp, 0x2c
mov eax, dword [eax + ebx + 0x38]
mov ebp, dword [esp + 0x2cc]
mov esi, dword [esp + 0x20]
mov edi, edx
jmp 0x5f3b9a
mov esi, dword [esp + 0x20]
mov edi, ebx
xor eax, eax
jmp 0x5f3b9a
xor eax, eax
cmp dword [ebp + 0xc], eax
setb al
jmp 0x5f38ff
call fcn.00463b30
call fcn.00463b30
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x66bb80]
mov dword [esp + 8], eax
call fcn.00409250
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x66bb80]
mov dword [esp + 8], eax
call fcn.00409250
nop
call fcn.004626a0
jmp fcn.005f3610