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

Disassembly:
mov ecx, dword [0x84873c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59b3e3
sub esp, 0x70
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59b38c
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x59aeb2
cmp eax, 0x43cfbb1f
ja 0x59ae35
cmp eax, 0x2e74d42b
jne 0x59add6
mov eax, dword [esp + 0x78]
lea ecx, [0x63e320]
cmp eax, ecx
je 0x59af4a
jmp 0x59b38c
cmp eax, 0x338a7ec0
jne 0x59adf4
mov eax, dword [esp + 0x78]
lea ecx, [0x63e3e0]
cmp eax, ecx
je 0x59b178
jmp 0x59b38c
cmp eax, 0x43cfbb1f
jne 0x59b38c
mov eax, dword [esp + 0x78]
lea ecx, [0x642220]
cmp eax, ecx
jne 0x59b38c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0059b600
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x49163278
jne 0x59ae53
mov eax, dword [esp + 0x78]
lea ecx, [0x63e6a0]
cmp eax, ecx
je 0x59b178
jmp 0x59b38c
cmp eax, 0x5051f1be
jne 0x59ae90
mov eax, dword [esp + 0x78]
lea ecx, [0x680400]
cmp eax, ecx
jne 0x59b38c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0059b3f0
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x62de383d
jne 0x59b38c
mov eax, dword [esp + 0x78]
lea ecx, [0x63e2e0]
cmp eax, ecx
je 0x59af4a
jmp 0x59b38c
cmp eax, 0xba585d67
ja 0x59af13
cmp eax, 0x6e78e923
jne 0x59aed7
mov eax, dword [esp + 0x78]
lea ecx, [0x63e460]
cmp eax, ecx
je 0x59b178
jmp 0x59b38c
cmp eax, 0x889ce7f8
jne 0x59aef5
mov eax, dword [esp + 0x78]
lea ecx, [0x63e7e0]
cmp eax, ecx
je 0x59b178
jmp 0x59b38c
cmp eax, 0xba585d67
jne 0x59b38c
mov eax, dword [esp + 0x78]
lea ecx, [0x63e260]
cmp eax, ecx
je 0x59af4a
jmp 0x59b38c
cmp eax, 0xc3230e0b
jne 0x59af2d
mov eax, dword [esp + 0x78]
lea ecx, [0x63e2a0]
cmp eax, ecx
je 0x59af4a
jmp 0x59b38c
cmp eax, 0xd6631a7c
jne 0x59b15b
mov eax, dword [esp + 0x78]
lea ecx, [0x63e360]
cmp eax, ecx
jne 0x59b38c
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.0059b700
movzx eax, byte [esp + 8]
test al, al
je 0x59b14f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59afbc
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x68]
test edx, edx
je 0x59afb4
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x59afae
or ebx, 0x80
mov ebp, dword [esp + 0x6c]
jmp 0x59afc2
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x59afc2
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.004a9f30
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x59b3a4
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 0x59b14f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59b101
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x59b0f9
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x59b0f3
or ecx, 0x80
mov edx, dword [esp + 0x64]
jmp 0x59b107
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x59b107
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.004a9f30
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.004ac0a0
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
cmp eax, 0xf3b50de0
jne 0x59b38c
mov eax, dword [esp + 0x78]
lea ecx, [0x63e420]
cmp eax, ecx
jne 0x59b38c
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.0059b8c0
movzx eax, byte [esp + 8]
test al, al
je 0x59b342
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59b1ea
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x58]
test edx, edx
je 0x59b1e2
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x59b1dc
or ebx, 0x80
mov ebp, dword [esp + 0x5c]
jmp 0x59b1f0
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x59b1f0
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.004a9f30
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x59b34e
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 0x59b342
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59b2f4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x59b2ec
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x59b2e6
or ecx, 0x80
mov edx, dword [esp + 0x54]
jmp 0x59b2fa
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x59b2fa
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.004a9f30
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.004ac680
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, [0x65b800]
mov dword [esp], eax
call fcn.0040c880
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x68896a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x651da0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004389a0
lea eax, [0x64c320]
mov dword [esp], eax
lea eax, [0x6db2f8]
mov dword [esp + 4], eax
call fcn.004389a0
mov dword [esp + 0x28], eax
lea eax, [0x65b800]
mov dword [esp], eax
call fcn.0040c880
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x688217]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x651da0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004389a0
nop
call fcn.00469200
jmp fcn.0059ad80