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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5f1fb3
sub esp, 0x70
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f1f5c
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x5f1a82
cmp eax, 0x43cfbb1f
ja 0x5f1a05
cmp eax, 0x2e74d42b
jne 0x5f19a6
mov eax, dword [esp + 0x78]
lea ecx, [0x6ab960]
cmp eax, ecx
je 0x5f1b1a
jmp 0x5f1f5c
cmp eax, 0x338a7ec0
jne 0x5f19c4
mov eax, dword [esp + 0x78]
lea ecx, [0x6aba20]
cmp eax, ecx
je 0x5f1d3c
jmp 0x5f1f5c
cmp eax, 0x43cfbb1f
jne 0x5f1f5c
mov eax, dword [esp + 0x78]
lea ecx, [0x6b0800]
cmp eax, ecx
jne 0x5f1f5c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.005f21d0
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x49163278
jne 0x5f1a23
mov eax, dword [esp + 0x78]
lea ecx, [0x6abce0]
cmp eax, ecx
je 0x5f1d3c
jmp 0x5f1f5c
cmp eax, 0x5051f1be
jne 0x5f1a60
mov eax, dword [esp + 0x78]
lea ecx, [0x707cc0]
cmp eax, ecx
jne 0x5f1f5c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.005f1fc0
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x62de383d
jne 0x5f1f5c
mov eax, dword [esp + 0x78]
lea ecx, [0x6ab920]
cmp eax, ecx
je 0x5f1b1a
jmp 0x5f1f5c
cmp eax, 0xba585d67
ja 0x5f1ae3
cmp eax, 0x6e78e923
jne 0x5f1aa7
mov eax, dword [esp + 0x78]
lea ecx, [0x6abaa0]
cmp eax, ecx
je 0x5f1d3c
jmp 0x5f1f5c
cmp eax, 0x889ce7f8
jne 0x5f1ac5
mov eax, dword [esp + 0x78]
lea ecx, [0x6abe20]
cmp eax, ecx
je 0x5f1d3c
jmp 0x5f1f5c
cmp eax, 0xba585d67
jne 0x5f1f5c
mov eax, dword [esp + 0x78]
lea ecx, [0x6ab8a0]
cmp eax, ecx
je 0x5f1b1a
jmp 0x5f1f5c
cmp eax, 0xc3230e0b
jne 0x5f1afd
mov eax, dword [esp + 0x78]
lea ecx, [0x6ab8e0]
cmp eax, ecx
je 0x5f1b1a
jmp 0x5f1f5c
cmp eax, 0xd6631a7c
jne 0x5f1d1f
mov eax, dword [esp + 0x78]
lea ecx, [0x6ab9a0]
cmp eax, ecx
jne 0x5f1f5c
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
call fcn.005f22d0
movzx eax, byte [esp + 8]
test al, al
je 0x5f1d13
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f1b8c
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x68]
test edx, edx
je 0x5f1b84
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5f1b7e
or ebx, 0x80
mov ebp, dword [esp + 0x6c]
jmp 0x5f1b92
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x5f1b92
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004ac110
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x5f1f74
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0xc]
mov ebx, dword [ebx]
shl ebx, 3
lea ecx, [ebx - 0x40]
neg ecx
mov dword [esp + 0x3c], ecx
shl edx, cl
mov ebp, eax
shl eax, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl ebp, cl
neg ecx
mov ebx, dword [esp + 0x1c]
shr ebx, cl
shr edi, 5
mov dword [esp + 0x38], edi
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x34], edi
and ebx, edi
cmp esi, 0x20
sbb edi, edi
and ebp, edi
xchg edi, ebx
not ebx
xchg edi, ebx
or edi, esi
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x3c]
cmp esi, 0x20
sbb edi, edi
sbb esi, esi
and edx, edi
or ebx, edx
or ebp, ebx
mov dword [esp + 0x2c], ebp
and eax, edi
mov edx, ebp
shl ebp, cl
mov ecx, dword [esp + 0x3c]
shr eax, cl
mov ebx, ecx
mov ecx, dword [esp + 0x30]
sar edx, cl
mov ecx, edx
mov edx, dword [esp + 0x34]
and ebp, edx
and eax, edi
or eax, ebp
xchg esi, ebx
not ebx
xchg esi, ebx
or ebx, esi
mov edx, ecx
mov ecx, ebx
mov ebp, dword [esp + 0x2c]
sar ebp, cl
mov ebx, dword [esp + 0x38]
cmp ebx, 1
sbb ebx, ebx
xor ebx, 0xffffffff
and ebx, edx
or ebx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ebx
setne al
mov edx, dword [esp + 0x24]
cmp edx, ebp
setne dl
or eax, edx
test al, al
jne 0x5f1d13
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f1cc5
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5f1cbd
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x5f1cb7
or ecx, 0x80
mov edx, dword [esp + 0x64]
jmp 0x5f1ccb
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x5f1ccb
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004ac110
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.004ae1d0
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
cmp eax, 0xf3b50de0
jne 0x5f1f5c
mov eax, dword [esp + 0x78]
lea ecx, [0x6aba60]
cmp eax, ecx
jne 0x5f1f5c
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call fcn.005f2480
movzx eax, byte [esp + 8]
test al, al
je 0x5f1f12
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f1dae
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x58]
test edx, edx
je 0x5f1da6
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5f1da0
or ebx, 0x80
mov ebp, dword [esp + 0x5c]
jmp 0x5f1db4
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x5f1db4
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004ac110
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x5f1f1e
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0xc]
mov ebx, dword [ebx]
shl ebx, 3
lea ecx, [ebx - 0x40]
neg ecx
shl edx, cl
mov ebp, eax
shl eax, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl ebp, cl
mov dword [esp + 0x38], ebp
neg ecx
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0x18]
shr ebx, cl
cmp edi, 0x20
sbb ebp, ebp
and eax, ebp
and edx, ebp
mov ecx, edi
shr eax, cl
and eax, ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x20
sbb eax, eax
mov dword [esp + 0x2c], eax
and ebx, eax
or edx, ebx
cmp esi, 0x20
sbb ebx, ebx
mov eax, dword [esp + 0x38]
and eax, ebx
or edx, eax
mov ecx, esi
mov eax, edx
shr edx, cl
mov ecx, edi
mov esi, eax
shr eax, cl
and eax, ebp
and edx, ebx
mov ecx, dword [esp + 0x34]
shl esi, cl
mov ebx, dword [esp + 0x2c]
and esi, ebx
mov ebx, dword [esp + 0x30]
or ebx, esi
or ebx, edx
mov edx, dword [esp + 0x18]
cmp edx, ebx
setne dl
mov ebx, dword [esp + 0x20]
cmp ebx, eax
setne al
or eax, edx
test al, al
jne 0x5f1f12
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f1ec4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x5f1ebc
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x5f1eb6
or ecx, 0x80
mov edx, dword [esp + 0x54]
jmp 0x5f1eca
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x5f1eca
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004ac110
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.004ae7b0
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
mov dword [esp + 0x28], eax
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x715ee4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6bd160]
mov dword [esp], eax
lea eax, [0x773a40]
mov dword [esp + 4], eax
call fcn.004385d0
mov dword [esp + 0x28], eax
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x71553a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
nop
call fcn.00467590
jmp fcn.005f1950