Function at 0x5e1780
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 0x5e21ec
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 0x5e187e
xor ebp, ebp
mov eax, 0x80000
jmp 0x5e1880
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 0x5e18de
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 0x5e18d9
movzx ebx, byte [esp + 0x32]
mov ebp, edi
mov eax, edx
jmp 0x5e18de
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 0x5e18ff
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, [0x8275c0]
mov dword [esp], ecx
call fcn.00470ca0
mov eax, dword [esp + 8]
lea ecx, [0x6273a0]
cmp dword [esp + 4], ecx
je 0x5e1945
mov eax, 0
jne 0x5e1a17
mov edx, dword [esp + 0x34]
cmp dword [eax + 4], edx
jl 0x5e1a1b
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, [0x5e2290]
mov dword [esp + 0x120], edx
lea edx, [0x8275c0]
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 0x5e1a0b
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 [0x84e4b0]
test ecx, ecx
jne 0x5e1a01
mov dword [edi], eax
jmp 0x5e1adb
call fcn.0045f3a0
jmp 0x5e1adb
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 [0x84e4b0]
test ecx, ecx
jne 0x5e1a54
mov dword [edi], eax
jmp 0x5e1a59
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, [0x5e2240]
mov dword [esp + 0x110], eax
lea eax, [0x8275c0]
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 0x5e1af9
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 0x5e1b21
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 0x5e1d6d
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 0x5e1c1a
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 0x5e1c11
test eax, eax
jne 0x5e1c11
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 0x5e1c24
jmp 0x5e1cfc
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 0x5e1c3a
movzx ebx, byte [esp + 0x30]
jmp 0x5e1cce
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 0x5e1d47
mov eax, dword [0x826e44]
mov ecx, dword [esp + 0x4c]
cmp dword [0x826e40], ecx
jne 0x5e1d26
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 0x5e1d22
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 0x5e2044
jmp 0x5e21e2
test eax, eax
je 0x5e1b05
jmp 0x5e21ba
mov eax, dword [0x827100]
mov ecx, dword [0x827104]
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 [0x827120]
mov ecx, dword [0x827124]
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 0x5e1fc8
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 0x5e1fbc
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, [0x5e2200]
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 0x5e1fb0
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x5e1e4b
mov ecx, dword [eax]
jmp 0x5e1e4d
xor ecx, ecx
test ecx, ecx
jg 0x5e1e59
xor ebp, ebp
xor esi, esi
xor ebx, ebx
jmp 0x5e1e9a
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005e39c0
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 0x5e1fa4
test ebp, ebp
je 0x5e1eec
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.005e15c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
jmp 0x5e1f5a
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.005d6620
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.005af570
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x5e1f98
mov eax, dword [esp + 0x13c]
test eax, eax
jne 0x5e1f98
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 0x5e1cef
test eax, eax
jne 0x5e1cef
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.005e22e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x5e21a0
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 0x5e21dd
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5e21d4
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 0x5e2110
test ebx, ebx
jne 0x5e2110
movzx edi, byte [esp + 0x31]
xor edi, 1
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
jmp 0x5e211e
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.005d6620
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x5e1fea
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0xc0]
mov dword [esp], ecx
call fcn.005af570
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x5e1fea
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.005e1780