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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1d4]
cmp eax, dword [ecx + 8]
jbe 0x5fa458
sub esp, 0x254
mov ecx, dword [esp + 0x258]
mov edx, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
test edx, edx
je 0x5f9cf3
nop
movzx ebx, byte [0x98a3a0]
test bl, bl
je 0x5f9cb9
mov dword [0x98a3a4], edx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x5f9cae
mov dword [0x98a3a8], eax
jmp 0x5f9cb9
lea edi, [0x98a3a8]
call fcn.00463350
mov dword [esp + 0x24c], edx
mov dword [esp + 0x250], eax
mov edx, dword [esp + 0x24c]
test edx, edx
je 0x5f9ceb
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5f9cf9
or ebx, 0x80
jmp 0x5f9cf9
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x5f9cf9
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x244], eax
mov dword [esp + 0x240], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x18
call fcn.004be890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x64], eax
cmp eax, 9
ja 0x5f9d58
cmp eax, 7
jne 0x5f9d40
mov eax, dword [ecx]
jmp 0x5f9d75
cmp eax, 8
jne 0x5f9d4a
movzx eax, byte [ecx]
jmp 0x5f9d75
cmp eax, 9
jne 0x5fa41d
movzx eax, word [ecx]
jmp 0x5f9d75
cmp eax, 0xa
jne 0x5f9d61
mov eax, dword [ecx]
jmp 0x5f9d75
cmp eax, 0xb
jne 0x5f9d6a
mov eax, dword [ecx]
jmp 0x5f9d75
cmp eax, 0xc
jne 0x5fa41d
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x240]
mov dword [esp], ecx
mov edx, dword [esp + 0x244]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x1d
call fcn.004be890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x64], eax
cmp eax, 9
ja 0x5f9dde
cmp eax, 7
jne 0x5f9dc2
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5f9e02
cmp eax, 8
jne 0x5f9dce
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5f9e02
cmp eax, 9
jne 0x5fa3e3
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5f9e02
cmp eax, 0xa
jne 0x5f9de9
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5f9e02
cmp eax, 0xb
jne 0x5f9df5
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5f9e02
cmp eax, 0xc
jne 0x5fa3e3
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
sete dl
test eax, eax
seta bl
test ecx, ecx
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebx
or edx, ebp
test dl, dl
je 0x5fa05d
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x2c]
and edx, 0xf0000000
shr edx, 0x1c
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x258]
movzx ebp, byte [ebx + 0x294]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5f9f4a
mov eax, dword [esp + 0x240]
mov dword [esp], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004be890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x64], eax
cmp eax, 9
ja 0x5f9ead
cmp eax, 7
jne 0x5f9e95
mov ecx, dword [ecx]
jmp 0x5f9eca
cmp eax, 8
jne 0x5f9e9f
movzx ecx, byte [ecx]
jmp 0x5f9eca
cmp eax, 9
jne 0x5fa3a9
movzx ecx, word [ecx]
jmp 0x5f9eca
cmp eax, 0xa
jne 0x5f9eb6
mov ecx, dword [ecx]
jmp 0x5f9eca
cmp eax, 0xb
jne 0x5f9ebf
mov ecx, dword [ecx]
jmp 0x5f9eca
cmp eax, 0xc
jne 0x5fa3a9
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x70]
xor eax, eax
call fcn.004635e8
mov ecx, dword [esp + 0x258]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x70dea0]
cmp edx, ebx
jne 0x5fa393
lea edi, [esp + 0x70]
call fcn.00463900
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x258]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005f3600
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x60]
mov ebp, 1
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x248], ebp
mov ebp, 1
jmp 0x5fa26c
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x240]
mov dword [esp], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004be890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x64], eax
cmp eax, 9
ja 0x5f9fad
cmp eax, 7
jne 0x5f9f95
mov ecx, dword [ecx]
jmp 0x5f9fca
cmp eax, 8
jne 0x5f9f9f
movzx ecx, byte [ecx]
jmp 0x5f9fca
cmp eax, 9
jne 0x5fa20a
movzx ecx, word [ecx]
jmp 0x5f9fca
cmp eax, 0xa
jne 0x5f9fb6
mov ecx, dword [ecx]
jmp 0x5f9fca
cmp eax, 0xb
jne 0x5f9fbf
mov ecx, dword [ecx]
jmp 0x5f9fca
cmp eax, 0xc
jne 0x5fa20a
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x150]
xor eax, eax
call fcn.004635e4
mov ecx, dword [esp + 0x258]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x70d960]
cmp edx, ebx
jne 0x5fa1f4
lea edi, [esp + 0x150]
call fcn.004638d8
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov eax, dword [esp + 0x258]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005f3600
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x258]
mov ebp, dword [esp + 0x60]
mov esi, 1
xor edi, edi
xor esi, esi
mov dword [esp + 0x48], esi
xor esi, esi
mov dword [esp + 0x4c], esi
xor esi, esi
mov dword [esp + 0x248], esi
mov esi, 1
jmp 0x5fa0b4
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x25c], edx
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x254
ret
add esi, 1
mov ecx, dword [esp + 0x248]
mov dword [ecx + edx*4], ebp
mov edx, dword [esp + 0x54]
adc edx, 0
mov ebp, dword [esp + 0x60]
lea eax, [eax + ebp + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x258]
mov edi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x54], edi
cmp edi, edx
sete dl
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp esi, ecx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, edx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x5fa1cd
mov edx, dword [ebx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x5fa0f2
mov edx, dword [0x989b18]
xor ebp, ebp
jmp 0x5fa129
mov edx, dword [ebx + 0x28c]
mov ebp, dword [ebx + 0x288]
mov edi, dword [ebx + 0x290]
cmp eax, edx
ja 0x5fa1ed
sub edx, eax
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
cmp edx, 3
jbe 0x5fa1e1
mov ebp, dword [edi + ebp]
xor edx, edx
test edx, edx
jne 0x5fa1a2
mov edx, dword [esp + 0x48]
lea edi, [edx + 1]
mov ebx, dword [esp + 0x4c]
cmp ebx, edi
jae 0x5fa07f
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], eax
lea eax, [0x6cd720]
mov dword [esp], eax
mov ecx, dword [esp + 0x248]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.0044baf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea edi, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x248], eax
mov ebx, edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
jmp 0x5fa07f
mov eax, dword [esp + 0x248]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x264], eax
add esp, 0x254
ret
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x248]
jmp 0x5fa063
mov eax, 3
mov ecx, edx
call fcn.004633d0
mov ecx, edx
call fcn.00463440
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6ccda0]
mov dword [esp + 8], eax
call fcn.00408e20
lea eax, [0x6e3260]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71ecf0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
lea ecx, [0x6d7140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437060
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x248]
mov dword [edx + edi*4], ecx
inc ebp
lea eax, [eax + ebx + 4]
mov ecx, dword [esp + 0x258]
mov edi, dword [esp + 0x28]
mov edx, edi
mov edi, dword [esp + 0x5c]
cmp ebp, edx
ja 0x5fa370
mov dword [esp + 0x58], ebp
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x5fa29b
mov edx, dword [0x989b18]
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x68]
jmp 0x5fa2df
mov edx, dword [ecx + 0x28c]
mov ebx, dword [ecx + 0x288]
mov ebp, dword [ecx + 0x290]
cmp eax, edx
ja 0x5fa38c
sub edx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp edx, 3
jbe 0x5fa380
mov ebx, dword [ebp + ebx]
mov ebp, dword [esp + 0x58]
xor edx, edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x60]
test edx, edx
jne 0x5fa34d
lea edx, [edi + 1]
cmp esi, edx
jae 0x5fa244
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], eax
lea eax, [0x6cd720]
mov dword [esp], eax
mov ecx, dword [esp + 0x248]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.0044baf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x258]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x44]
jmp 0x5fa244
mov eax, dword [esp + 0x248]
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], edi
mov dword [esp + 0x264], esi
add esp, 0x254
ret
mov eax, esi
mov ecx, edi
mov edx, dword [esp + 0x248]
jmp 0x5fa063
mov eax, 3
mov ecx, edx
call fcn.004633d0
mov ecx, edx
call fcn.00463440
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6ccda0]
mov dword [esp + 8], eax
call fcn.00408e20
lea eax, [0x6e3260]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71ecf0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
lea ecx, [0x6d7140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437060
lea eax, [0x6e3260]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71ecf0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
lea ecx, [0x6d7140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437060
lea eax, [0x6e3260]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71ecf0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
lea ecx, [0x6d7140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437060
nop
call fcn.00461f40
jmp fcn.005f9c50