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

Disassembly:
mov ecx, dword [0x85d3cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59ffd3
sub esp, 0x70
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59ff7c
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x59faa2
cmp eax, 0x43cfbb1f
ja 0x59fa25
cmp eax, 0x2e74d42b
jne 0x59f9c6
mov eax, dword [esp + 0x78]
lea ecx, [0x657900]
cmp eax, ecx
je 0x59fb3a
jmp 0x59ff7c
cmp eax, 0x338a7ec0
jne 0x59f9e4
mov eax, dword [esp + 0x78]
lea ecx, [0x6579c0]
cmp eax, ecx
je 0x59fd68
jmp 0x59ff7c
cmp eax, 0x43cfbb1f
jne 0x59ff7c
mov eax, dword [esp + 0x78]
lea ecx, [0x65a700]
cmp eax, ecx
jne 0x59ff7c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.005a01f0
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x49163278
jne 0x59fa43
mov eax, dword [esp + 0x78]
lea ecx, [0x657c80]
cmp eax, ecx
je 0x59fd68
jmp 0x59ff7c
cmp eax, 0x5051f1be
jne 0x59fa80
mov eax, dword [esp + 0x78]
lea ecx, [0x68fbe0]
cmp eax, ecx
jne 0x59ff7c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0059ffe0
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x62de383d
jne 0x59ff7c
mov eax, dword [esp + 0x78]
lea ecx, [0x6578c0]
cmp eax, ecx
je 0x59fb3a
jmp 0x59ff7c
cmp eax, 0xba585d67
ja 0x59fb03
cmp eax, 0x6e78e923
jne 0x59fac7
mov eax, dword [esp + 0x78]
lea ecx, [0x657a40]
cmp eax, ecx
je 0x59fd68
jmp 0x59ff7c
cmp eax, 0x889ce7f8
jne 0x59fae5
mov eax, dword [esp + 0x78]
lea ecx, [0x657dc0]
cmp eax, ecx
je 0x59fd68
jmp 0x59ff7c
cmp eax, 0xba585d67
jne 0x59ff7c
mov eax, dword [esp + 0x78]
lea ecx, [0x657840]
cmp eax, ecx
je 0x59fb3a
jmp 0x59ff7c
cmp eax, 0xc3230e0b
jne 0x59fb1d
mov eax, dword [esp + 0x78]
lea ecx, [0x657880]
cmp eax, ecx
je 0x59fb3a
jmp 0x59ff7c
cmp eax, 0xd6631a7c
jne 0x59fd4b
mov eax, dword [esp + 0x78]
lea ecx, [0x657940]
cmp eax, ecx
jne 0x59ff7c
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.005a02f0
movzx eax, byte [esp + 8]
test al, al
je 0x59fd3f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59fbac
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x68]
test edx, edx
je 0x59fba4
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x59fb9e
or ebx, 0x80
mov ebp, dword [esp + 0x6c]
jmp 0x59fbb2
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x59fbb2
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.0048c270
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x59ff94
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
mov ebx, eax
shl eax, cl
shl edx, cl
lea esi, [ecx - 0x20]
mov dword [esp + 0x38], esi
mov edi, ecx
mov ecx, esi
shl ebx, cl
mov dword [esp + 0x34], ebx
neg ecx
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 0x1c]
shr ebp, cl
shr edi, 5
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x2c], ecx
and ebp, ecx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x20
sbb ecx, ecx
sbb esi, esi
and eax, ecx
and edx, ecx
or edx, ebp
mov ebp, ecx
mov ecx, ebx
shr eax, cl
and eax, ebp
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
cmp edi, 1
sbb ebx, ebx
xor ebx, 0xffffffff
mov ebp, dword [esp + 0x38]
cmp ebp, 0x20
sbb esi, esi
mov edi, dword [esp + 0x34]
and edi, esi
or edi, edx
mov dword [esp + 0x38], edi
mov edx, ecx
mov ecx, dword [esp + 0x30]
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x38]
sar edx, cl
mov ecx, edx
mov edx, dword [esp + 0x2c]
and edi, edx
or eax, edi
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebp
mov edx, ecx
mov ecx, esi
mov ebp, dword [esp + 0x38]
sar ebp, cl
and ebx, ebp
or ebx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ebx
setne al
mov ebx, dword [esp + 0x24]
cmp ebx, edx
setne dl
or edx, eax
test dl, dl
jne 0x59fd3f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59fcf1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x59fce9
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x59fce3
or ecx, 0x80
mov edx, dword [esp + 0x64]
jmp 0x59fcf7
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x59fcf7
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.0048c270
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.0048df60
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
cmp eax, 0xf3b50de0
jne 0x59ff7c
mov eax, dword [esp + 0x78]
lea ecx, [0x657a00]
cmp eax, ecx
jne 0x59ff7c
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.005a04b0
movzx eax, byte [esp + 8]
test al, al
je 0x59ff32
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59fdda
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x58]
test edx, edx
je 0x59fdd2
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x59fdcc
or ebx, 0x80
mov ebp, dword [esp + 0x5c]
jmp 0x59fde0
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x59fde0
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.0048c270
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x59ff3e
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
neg ecx
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x18]
shr ebx, cl
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x34], ecx
and ebx, ecx
cmp esi, 0x20
sbb ecx, ecx
mov dword [esp + 0x30], ecx
and ebp, ecx
cmp edi, 0x20
sbb ecx, ecx
and eax, ecx
and edx, ecx
or edx, ebx
or ebp, edx
mov edx, ecx
mov ecx, esi
mov ebx, ebp
shr ebp, cl
mov ecx, edi
shr eax, cl
mov esi, ebx
shr ebx, cl
and ebx, edx
and eax, edx
mov edx, dword [esp + 0x30]
and ebp, edx
mov ecx, dword [esp + 0x38]
shl esi, cl
mov edx, dword [esp + 0x34]
and esi, edx
or eax, esi
or eax, ebp
mov edx, dword [esp + 0x18]
cmp edx, eax
setne al
mov edx, dword [esp + 0x20]
cmp edx, ebx
setne dl
or edx, eax
test dl, dl
jne 0x59ff32
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59fee4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x59fedc
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x59fed6
or ecx, 0x80
mov edx, dword [esp + 0x54]
jmp 0x59feea
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x59feea
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.0048c270
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.0048e540
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, [0x670fa0]
mov dword [esp], eax
call fcn.0040c260
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x698131]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x667a40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437e60
lea eax, [0x661ce0]
mov dword [esp], eax
lea eax, [0x6f18f8]
mov dword [esp + 4], eax
call fcn.00437e60
mov dword [esp + 0x28], eax
lea eax, [0x670fa0]
mov dword [esp], eax
call fcn.0040c260
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x69798f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x667a40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437e60
nop
call fcn.00466c30
jmp fcn.0059f970