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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x583d73
sub esp, 0x70
mov eax, dword [esp + 0x78]
test eax, eax
je 0x583d1c
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x583842
cmp eax, 0x43cfbb1f
ja 0x5837c5
cmp eax, 0x2e74d42b
jne 0x583766
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2c60]
cmp eax, ecx
je 0x5838da
jmp 0x583d1c
cmp eax, 0x338a7ec0
jne 0x583784
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2d20]
cmp eax, ecx
je 0x583afc
jmp 0x583d1c
cmp eax, 0x43cfbb1f
jne 0x583d1c
mov eax, dword [esp + 0x78]
lea ecx, [0x5e5d40]
cmp eax, ecx
jne 0x583d1c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.00583f90
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x49163278
jne 0x5837e3
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2fe0]
cmp eax, ecx
je 0x583afc
jmp 0x583d1c
cmp eax, 0x5051f1be
jne 0x583820
mov eax, dword [esp + 0x78]
lea ecx, [0x619e20]
cmp eax, ecx
jne 0x583d1c
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.00583d80
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x62de383d
jne 0x583d1c
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2c20]
cmp eax, ecx
je 0x5838da
jmp 0x583d1c
cmp eax, 0xba585d67
ja 0x5838a3
cmp eax, 0x6e78e923
jne 0x583867
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2da0]
cmp eax, ecx
je 0x583afc
jmp 0x583d1c
cmp eax, 0x889ce7f8
jne 0x583885
mov eax, dword [esp + 0x78]
lea ecx, [0x5e3120]
cmp eax, ecx
je 0x583afc
jmp 0x583d1c
cmp eax, 0xba585d67
jne 0x583d1c
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2ba0]
cmp eax, ecx
je 0x5838da
jmp 0x583d1c
cmp eax, 0xc3230e0b
jne 0x5838bd
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2be0]
cmp eax, ecx
je 0x5838da
jmp 0x583d1c
cmp eax, 0xd6631a7c
jne 0x583adf
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2ca0]
cmp eax, ecx
jne 0x583d1c
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.00584090
movzx eax, byte [esp + 8]
test al, al
je 0x583ad3
mov eax, dword [esp + 0x78]
test eax, eax
je 0x58394c
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x68]
test edx, edx
je 0x583944
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x58393e
or ebx, 0x80
mov ebp, dword [esp + 0x6c]
jmp 0x583952
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x583952
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.00497b80
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x583d34
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 0x583ad3
mov eax, dword [esp + 0x78]
test eax, eax
je 0x583a85
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x583a7d
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x583a77
or ecx, 0x80
mov edx, dword [esp + 0x64]
jmp 0x583a8b
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x583a8b
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.00497b80
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.004996b0
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
cmp eax, 0xf3b50de0
jne 0x583d1c
mov eax, dword [esp + 0x78]
lea ecx, [0x5e2d60]
cmp eax, ecx
jne 0x583d1c
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.00584240
movzx eax, byte [esp + 8]
test al, al
je 0x583cd2
mov eax, dword [esp + 0x78]
test eax, eax
je 0x583b6e
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x58]
test edx, edx
je 0x583b66
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x583b60
or ebx, 0x80
mov ebp, dword [esp + 0x5c]
jmp 0x583b74
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x583b74
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.00497b80
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x583cde
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 0x583cd2
mov eax, dword [esp + 0x78]
test eax, eax
je 0x583c84
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x583c7c
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x583c76
or ecx, 0x80
mov edx, dword [esp + 0x54]
jmp 0x583c8a
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x583c8a
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.00497b80
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.004997a0
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, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x624e3e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5eea60]
mov dword [esp], eax
lea eax, [0x669b70]
mov dword [esp + 4], eax
call fcn.00437cb0
mov dword [esp + 0x28], eax
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x6245f1]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
nop
call fcn.00465ea0
jmp fcn.00583710