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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb0]
cmp eax, dword [ecx + 8]
jbe 0x5e20ec
sub esp, 0x130
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov eax, dword [esp + 0x134]
mov ecx, dword [eax]
mov dword [esp + 0xe8], ecx
test byte [ecx], al
mov edx, dword [eax + 0xb4]
mov dword [esp + 0x50], edx
mov ebx, dword [eax + 0xb8]
mov dword [esp + 0xf0], ebx
mov ebp, dword [esp + 0x138]
mov esi, dword [ebp + 0x58]
mov dword [esp + 0x100], esi
mov edi, dword [eax + 0xbc]
mov dword [esp + 0x38], edi
mov ebp, dword [eax + 0xc0]
mov dword [esp + 0x3c], ebp
lea ebx, [ecx + 0x30]
mov dword [esp + 0xfc], ebx
mov dword [esp], ebx
call fcn.00470550
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call fcn.004708f0
mov eax, dword [esp + 0x38]
cmp eax, 0xffffffff
setne cl
mov edx, dword [esp + 0x3c]
cmp edx, 0xffffffff
setne bl
mov ebp, dword [esp + 0x64]
cmp ebp, 0x80000
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, ebp
sar ebp, 0x1f
test ebp, ebp
setg al
sete dl
or ebx, ecx
and esi, edx
or eax, esi
test al, al
je 0x5e177e
xor ebp, ebp
mov eax, 0x80000
jmp 0x5e1780
mov eax, edi
mov byte [esp + 0x32], bl
mov ecx, dword [esp + 0x134]
mov edx, dword [ecx + 0xbc]
cmp edx, 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
mov edi, dword [ecx + 0xc0]
cmp edi, 0xffffffff
setne cl
or ecx, esi
test cl, cl
je 0x5e17de
add edx, 1
adc edi, 0
cmp ebp, edi
setg cl
cmp edx, eax
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ebp, edi
sete bl
and ebx, esi
or ecx, ebx
test cl, cl
je 0x5e17d9
movzx ebx, byte [esp + 0x32]
mov ebp, edi
mov eax, edx
jmp 0x5e17de
movzx ebx, byte [esp + 0x32]
test ebp, ebp
setl cl
cmp eax, 1
setb dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
or edx, ecx
test dl, dl
je 0x5e17ff
mov eax, 1
mov dword [esp + 0x34], eax
lea ecx, [0x62d820]
mov dword [esp], ecx
call fcn.0040b470
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov dword [eax], 0
lea ecx, [0x826560]
mov dword [esp], ecx
call fcn.00470ca0
mov eax, dword [esp + 8]
lea ecx, [0x6273a0]
cmp dword [esp + 4], ecx
je 0x5e1845
mov eax, 0
jne 0x5e1917
mov edx, dword [esp + 0x34]
cmp dword [eax + 4], edx
jl 0x5e191b
mov dword [esp + 0xec], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea edx, [0x5e2190]
mov dword [esp + 0x120], edx
lea edx, [0x826560]
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
lea ecx, [esp + 0x120]
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0xb8]
mov dword [esp], ecx
call fcn.004331d0
test eax, eax
jne 0x5e190b
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0x84d450]
test ecx, ecx
jne 0x5e1901
mov dword [edi], eax
jmp 0x5e19db
call fcn.0045f3a0
jmp 0x5e19db
call fcn.004337c0
add esp, 0x130
ret
mov edx, dword [esp + 0x34]
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004483e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov ecx, dword [0x84d450]
test ecx, ecx
jne 0x5e1954
mov dword [edi], eax
jmp 0x5e1959
call fcn.0045f3a0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
lea eax, [0x5e2140]
mov dword [esp + 0x110], eax
lea eax, [0x826560]
mov dword [esp + 0x114], eax
lea eax, [0x6273a0]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edi
lea eax, [esp + 0x110]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.004331d0
test eax, eax
jne 0x5e19f9
mov edi, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
test eax, eax
setne al
mov byte [esp + 0x31], al
xor ecx, ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
jmp 0x5e1a21
call fcn.004337c0
add esp, 0x130
ret
movzx eax, byte [esp + 0x31]
mov edi, dword [esp + 0x104]
movzx ecx, byte [esp + 0x30]
mov edx, esi
mov ebx, dword [esp + 0x38]
movzx ebp, byte [esp + 0x2f]
test cl, cl
jne 0x5e1c6d
mov byte [esp + 0x30], cl
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
mov edx, dword [edi]
mov ebx, dword [edi + 4]
mov ebp, dword [edi + 8]
mov esi, dword [esp + 0xf0]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movzx ebx, byte [esp + 0x32]
test bl, bl
je 0x5e1b1a
mov ebp, dword [esp + 0x38]
mov esi, ebp
sub ebp, ecx
mov edi, ecx
sar ecx, 0x1f
sub esi, edi
mov esi, dword [esp + 0x3c]
sbb esi, ecx
test ebp, ebp
mov ecx, ebx
sete bl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x5e1b11
test eax, eax
jne 0x5e1b11
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], esi
lea eax, [0x630320]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edx, ecx
sub ecx, eax
mov ebx, eax
sar eax, 0x1f
sub edx, ebx
mov esi, dword [esp + 0x5c]
sbb esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, ecx
movzx ecx, byte [esp + 0x32]
test esi, esi
jge 0x5e1b24
jmp 0x5e1bfc
mov ecx, ebx
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], esi
test eax, eax
jne 0x5e1b3a
movzx ebx, byte [esp + 0x30]
jmp 0x5e1bce
mov dword [esp + 0x4c], eax
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00470550
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax + 0xc4]
mov byte [esp + 0x33], cl
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call fcn.004708f0
movzx eax, byte [esp + 0x33]
test al, al
jne 0x5e1c47
mov eax, dword [0x825de4]
mov ecx, dword [esp + 0x4c]
cmp dword [0x825de0], ecx
jne 0x5e1c26
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00403430
movzx eax, byte [esp + 0xc]
test al, al
je 0x5e1c22
movzx ecx, byte [esp + 0x32]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
xor eax, eax
xor edx, edx
mov ebx, 1
mov byte [esp + 0x30], bl
mov edi, dword [esp + 0x104]
mov ebx, dword [edi + 8]
mov edi, dword [edi]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x5e1f44
jmp 0x5e20e2
test eax, eax
je 0x5e1a05
jmp 0x5e20ba
mov eax, dword [0x8260a0]
mov ecx, dword [0x8260a4]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
call fcn.004337c0
add esp, 0x130
ret
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x13c], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x140], eax
call fcn.004337c0
add esp, 0x130
ret
mov eax, dword [0x8260c0]
mov ecx, dword [0x8260c4]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
call fcn.004337c0
add esp, 0x130
ret
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5e1ec8
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00470550
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 0x58]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x134]
mov edx, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ebx
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call fcn.004708f0
mov eax, dword [esp + 0x13c]
test eax, eax
jne 0x5e1ebc
mov eax, dword [esp + 0xe8]
lea ecx, [eax + 0xb8]
mov dword [esp + 0xfc], ecx
mov dword [esp], ecx
call fcn.00470550
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
lea eax, [0x5e2100]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x70]
mov dword [esp], eax
call fcn.004331d0
test eax, eax
jne 0x5e1eb0
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x5e1d4b
mov ecx, dword [eax]
jmp 0x5e1d4d
xor ecx, ecx
test ecx, ecx
jg 0x5e1d59
xor ebp, ebp
xor esi, esi
xor ebx, ebx
jmp 0x5e1d9a
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005e38c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
test edx, edx
jne 0x5e1ea4
test ebp, ebp
je 0x5e1dec
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
call fcn.005e14c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
jmp 0x5e1e5a
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0xc4]
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005d6520
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0xc0]
mov dword [esp], eax
call fcn.005af470
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x5e1e98
mov eax, dword [esp + 0x13c]
test eax, eax
jne 0x5e1e98
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], edx
call fcn.004337c0
add esp, 0x130
ret
call fcn.004337c0
add esp, 0x130
ret
call fcn.004337c0
add esp, 0x130
ret
call fcn.004337c0
add esp, 0x130
ret
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
call fcn.004337c0
add esp, 0x130
ret
mov dword [esp + 0xf4], eax
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp], edx
call fcn.004708f0
mov eax, dword [esp + 0x134]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
movzx ecx, byte [esp + 0x32]
mov esi, dword [esp + 0x3c]
mov ebp, edi
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xe0]
mov eax, dword [esp + 0x58]
test ebp, ebp
je 0x5e1bef
test eax, eax
jne 0x5e1bef
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0xe0], edi
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.005e21e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x5e20a0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe8]
lea ecx, [eax + 0xb8]
mov dword [esp + 0xf8], ecx
mov dword [esp], ecx
call fcn.00470550
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
jb 0x5e20dd
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5e20d4
sub ebx, ecx
mov dword [esp + 0x40], ebx
mov eax, edx
sub edx, ecx
mov dword [esp + 0x44], edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov esi, dword [esp + 0xe0]
add edx, esi
mov dword [esp + 0xe0], edx
movzx edi, byte [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5e2010
test ebx, ebx
jne 0x5e2010
movzx edi, byte [esp + 0x31]
xor edi, 1
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
jmp 0x5e201e
mov dword [esp + 0x68], eax
xor eax, eax
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xe8]
mov ebx, dword [edx + 0xc4]
mov ebp, dword [esp + 0x134]
mov edi, dword [ebp + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], edi
movzx ebx, byte [esp + 0x2f]
mov byte [esp + 8], bl
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005d6520
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x5e1eea
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0xc0]
mov dword [esp], ecx
call fcn.005af470
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x5e1eea
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ebx
call fcn.004337c0
add esp, 0x130
ret
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], edx
call fcn.004337c0
add esp, 0x130
ret
mov eax, ecx
mov ecx, ebx
call fcn.0045f480
call fcn.0045f460
mov ecx, ebp
mov edx, ebx
call fcn.0045f460
nop
call fcn.0045df90
jmp fcn.005e1680