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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x5fbf80
sub esp, 0xc4
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 8]
mov dword [esp + 0x7c], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0xf8]
mov ebp, dword [ebx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xe4]
mov edi, dword [esi + 0x30]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
call edi
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
lea edx, [ecx + eax]
mov dword [esp + 0x70], edx
mov ebx, ecx
mov ecx, dword [esp + 0x7c]
mov ebp, 1
shl ebp, cl
mov ecx, dword [esp + 0xa4]
and ebp, ecx
mov dword [esp + 0xa4], ebp
cmp dword [esp + 4], eax
jbe 0x5fb689
mov eax, ebx
jmp 0x5fb6be
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov edx, ecx
sub ecx, eax
lea eax, [ecx + 1]
mov ebp, dword [esp + 0xa4]
mov ebx, eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0xe0]
cmp dword [ecx + 4], 9
jge 0x5fb6d6
mov esi, 0x40
jmp 0x5fb6db
mov esi, 0x200
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 8], ebp
mov edi, dword [esp + 0xf4]
mov dword [esp + 0xc], edi
call ecx
lea eax, [0x8da740]
mov dword [esp], eax
call fcn.0045c710
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax]
mov ebx, dword [esp + 8]
lea ebp, [0x726340]
cmp dword [esp + 4], ebp
je 0x5fb744
xor ebx, ebx
mov dword [esp + 0x4c], edx
test ebx, ebx
jne 0x5fb75e
lea eax, [0x74b260]
mov dword [esp], eax
call fcn.0040b440
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
lea eax, [0x8da740]
mov dword [esp], eax
call fcn.0045c710
mov eax, dword [esp + 8]
lea ecx, [0x726340]
cmp dword [esp + 4], ecx
je 0x5fb785
xor eax, eax
test eax, eax
jne 0x5fb7a1
lea eax, [0x74b260]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
lea ecx, [0x726340]
mov dword [esp + 0xb8], eax
mov ebx, dword [esp + 0xa4]
add ebx, 0xfffffff0
mov dword [esp + 0x48], ebx
mov edx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
jmp 0x5fb7cd
mov ebp, edx
mov esi, ebx
mov edx, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x18]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
add eax, ecx
mov edx, dword [esp + 0x70]
cmp eax, edx
jae 0x5fbc4d
sub edx, ecx
mov ebx, dword [esp + 0x48]
cmp ecx, ebx
jae 0x5fb813
mov ebp, ecx
jmp 0x5fb817
mov ebp, ecx
mov ecx, ebx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0xb8]
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0x7e4
mov ebx, dword [esp + 0xe4]
mov esi, dword [ebx + 0x14]
mov dword [esp + 0xa0], esi
mov edi, dword [esp + 0xe0]
mov ebx, dword [edi + 0x38]
mov esi, dword [esp + 0xe8]
mov dword [esp], esi
add edi, 0x3c
mov dword [esp + 0xc0], edi
mov dword [esp + 4], edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xd4]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xec]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xa0]
call ecx
mov eax, dword [esp + 0xb8]
cmp dword [eax + 8], 0x7e4
ja 0x5fb9cc
mov ecx, dword [esp + 0x6c]
inc ecx
mov edx, dword [esp + 0x5c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jae 0x5fbefc
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], ebx
mov esi, dword [esp + 0x44]
lea edi, [ebp + esi*4]
cmp edi, ebx
jae 0x5fb97a
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
nop
mov eax, dword [esp + 4]
dec eax
cmp eax, 4
ja 0x5fb94e
mov eax, 4
mov ecx, dword [esp + 0x5c]
add ecx, 0x11
mov edx, dword [esp + 0x70]
mov ebx, edx
sub edx, eax
cmp edx, ecx
ja 0x5fb963
mov ecx, edx
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
jmp 0x5fbf77
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
nop
mov eax, dword [esp + 4]
dec eax
cmp eax, 2
ja 0x5fb9a0
mov eax, 2
mov ecx, dword [esp + 0x5c]
add ecx, 9
mov edx, dword [esp + 0x70]
mov ebx, edx
sub edx, eax
cmp edx, ecx
ja 0x5fb9b5
mov ecx, edx
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
jmp 0x5fbee9
mov ecx, dword [esp + 0x60]
dec ecx
mov edx, dword [esp + 0x5c]
xor ebx, ebx
mov ebp, dword [esp + 0x6c]
jmp 0x5fbcbd
mov ecx, dword [esp + 0x58]
jmp 0x5fb9f1
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x54], ecx
mov ebx, dword [edx]
lea ebx, [ecx + ebx*2]
mov esi, dword [esp + 0x44]
add ebx, esi
mov dword [esp + 0x4c], ebx
nop
mov edi, dword [esp + 0x48]
cmp ecx, edi
jb 0x5fba13
mov ecx, edi
mov dword [esp + 0x74], ecx
mov eax, dword [edx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x10], ebp
call fcn.005fb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb8]
cmp dword [edx + 4], ecx
ja 0x5fbad4
test eax, eax
jbe 0x5fbad4
mov ecx, dword [esp + 0xf0]
cmp ecx, 2
jbe 0x5fbe6f
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 8]
cmp ecx, 3
jbe 0x5fbe63
mov dword [esp + 0x68], eax
mov dword [ebx + 0xc], ebp
mov eax, dword [ebx + 4]
mov dword [ebx + 8], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov eax, dword [edx + 4]
mov dword [ebx], eax
mov eax, dword [esp + 0xe4]
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xe8]
mov dword [esp], esi
mov edi, dword [esp + 0xec]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 0xc], ebx
call ebp
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xe0]
lea ebx, [ecx + 0x2c]
mov ebp, dword [edx]
mov esi, dword [edx + 0xc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00612d80
lea edi, [esp + 0xa8]
lea esi, [esp + 0x14]
call fcn.00457248
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x5fbb72
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x74f660]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xfc]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x5fbb69
mov dword [edi], eax
jmp 0x5fbb6e
call fcn.00456ac0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
dec ecx
shl ecx, 4
lea edi, [edx + ecx]
lea esi, [esp + 0xa8]
call fcn.00457248
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x100]
add dword [edx], ecx
mov ecx, dword [esp + 0xb8]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0x54]
mov esi, edx
lea edx, [ebx + ebp]
mov dword [esp + 0x50], edx
mov edi, eax
mov eax, dword [esp + 0x78]
cmp eax, edx
ja 0x5fbbb7
mov edx, eax
lea eax, [ebp + 2]
mov esi, dword [ecx + 4]
shr ebx, 2
cmp esi, ebx
jae 0x5fbbe3
shl esi, 2
mov ebx, dword [esp + 0x50]
sub ebx, esi
cmp ebx, eax
jb 0x5fbbd3
mov eax, ebx
cmp eax, edx
jbe 0x5fbbdb
mov eax, edx
jmp 0x5fbbe9
mov ebx, eax
mov eax, edx
mov edx, ebx
jmp 0x5fbbe9
mov ebx, eax
mov eax, edx
mov edx, ebx
mov ecx, dword [esp + 0xe4]
mov ebx, dword [ecx + 0x34]
mov ebp, dword [esp + 0xe8]
mov dword [esp], ebp
mov esi, dword [esp + 0xd0]
mov dword [esp + 4], esi
mov edi, dword [esp + 0xd4]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
call ebx
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x54]
add ecx, edx
xor edx, edx
mov ebx, dword [esp + 0x4c]
jmp 0x5fb7c7
sub edx, ecx
mov eax, dword [esp + 0x6c]
add eax, edx
mov ecx, dword [esp + 0xf8]
mov dword [ecx], eax
lea eax, [0x8da740]
mov dword [esp], eax
lea ecx, [0x726340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 8], edx
call fcn.0045c680
lea eax, [0x8da740]
mov dword [esp], eax
lea eax, [0x726340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call fcn.0045c680
add esp, 0xc4
ret
mov esi, dword [esp + 0x94]
dec esi
mov eax, edx
mov edx, dword [esp + 0x58]
mov ebx, ecx
mov ecx, esi
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xe0]
cmp dword [esi + 4], 5
jge 0x5fbcee
mov edi, dword [eax]
dec edi
cmp ecx, edi
ja 0x5fbcd7
mov edi, ecx
mov ebp, dword [esp + 0xbc]
mov dword [ebp], edi
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0xbc]
jmp 0x5fbcfb
mov edi, dword [esp + 0xbc]
mov dword [edi], 0
mov dword [esp + 0x64], ebx
mov dword [esp + 0xa4], edx
mov dword [edi + 0xc], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0x7e4
inc edx
mov dword [esp + 0x58], edx
mov ebp, dword [esp + 0x48]
cmp ebp, edx
ja 0x5fbd2a
mov edx, ebp
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0xe4]
mov ebx, dword [eax + 0x14]
mov ebp, dword [esi + 0x38]
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edi
call ebx
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0xb8]
mov ebx, dword [edx + 8]
add ebx, 0xaf
cmp ecx, ebx
jb 0x5fb9e6
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov esi, dword [eax]
mov dword [edx], esi
mov dword [edx + 4], ebx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebp
mov ecx, dword [esp + 0x64]
inc ecx
cmp ecx, 4
jl 0x5fbe05
xor ebx, ebx
jmp 0x5fbe51
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa4]
lea eax, [eax + ecx + 1]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
setb al
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xb8]
mov ebx, eax
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x6c]
inc ebp
test bl, bl
jne 0x5fbcab
jmp 0x5fb9e0
mov eax, 3
mov ecx, eax
call fcn.00456b40
mov eax, 2
call fcn.00456b40
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xd4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
call edx
mov eax, dword [esp + 0x8c]
add eax, 2
mov ecx, dword [esp + 0x88]
lea edx, [ecx + 2]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x70]
cmp eax, ecx
jb 0x5fbe79
mov ebp, dword [esp + 0x4c]
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0xb8]
mov edx, ecx
mov ecx, ebx
mov ebx, ebp
jmp 0x5fb7c7
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xd4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
call edx
mov eax, dword [esp + 0x84]
add eax, 4
mov ecx, dword [esp + 0x80]
lea edx, [ecx + 4]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x70]
cmp eax, ecx
jb 0x5fbf07
jmp 0x5fbeed
call fcn.00455690
jmp fcn.005fb5f0