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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x5e8f8b
sub esp, 0xc8
mov eax, 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x1a0]
test ecx, ecx
jg 0x5e8f63
mov ecx, dword [esp + 0xd8]
test ecx, ecx
jle 0x5e8a26
lea edx, [ecx - 1]
cmp edx, ecx
jae 0x5e8f84
mov edx, dword [esp + 0xd4]
mov ebx, dword [edx + ecx*4 - 4]
mov ebp, dword [ebx + 0x38]
mov esi, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x30]
mov edi, dword [eax + 0x2c]
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044d9f0
movzx eax, byte [esp + 0x18]
test al, al
je 0x5e8ef3
mov eax, dword [esp + 0xe0]
test byte [eax], al
lea esi, [eax + 0x10]
lea edi, [esp + 0xb4]
call fcn.0044e24e
lea edi, [esp + 0xa0]
lea esi, [esp + 0xb4]
call fcn.0044e24e
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x5e8edc
shl ebx, 1
mov ecx, edx
shr edx, 0x1f
or edx, ebx
mov ebx, ecx
shl ecx, 1
shr ecx, 0x1f
mov ebp, edx
shl edx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
shr ebp, 0x1f
add ecx, 0xd7b17f80
adc ebp, 0xd
test ebp, ebp
sete cl
test edx, edx
sete dl
and ecx, edx
test cl, cl
je 0x5e8ed5
test ebx, 0x3fffffff
sete cl
test cl, cl
jne 0x5e8ebd
lea edi, [esp + 0x14]
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0xcc]
lea esi, [eax + 0x158]
call fcn.0044e24e
mov edi, esp
lea esi, [esp + 0xb4]
call fcn.0044e24e
call fcn.0047ffb0
movzx eax, byte [esp + 0x28]
test al, al
je 0x5e8b64
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 1
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [0x9b21e0]
mov dword [esp], eax
lea eax, [esp + 0x80]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
mov eax, dword [esp + 0xcc]
lea esi, [eax + 0x16c]
mov edi, dword [esp + 0x3c]
call fcn.0044e24e
mov edi, esp
lea esi, [esp + 0xb4]
call fcn.0044e24e
call fcn.0047fe50
movzx eax, byte [esp + 0x28]
test al, al
jne 0x5e8af4
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x5e8bad
mov eax, 0x3d090
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0xd0]
cmp ecx, 1
jne 0x5e8e96
mov edx, dword [esp + 0xd8]
test edx, edx
je 0x5e8e34
mov ebx, dword [esp + 0xd4]
mov ebx, dword [ebx]
cmp ecx, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ebx
jne 0x5e8e23
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.005eb160
movzx eax, byte [esp + 4]
test al, al
jne 0x5e8d37
mov eax, dword [esp + 0xd0]
cmp eax, 1
jne 0x5e8d2b
mov eax, dword [esp + 0xcc]
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x5e8cd4
movzx ecx, byte [eax + 0x1c1]
test cl, cl
je 0x5e8cd4
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x5e8c60
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
jl 0x5e8c60
mov edx, dword [esp + 0xd8]
dec edx
cmp edx, ecx
jg 0x5e8c7d
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xc8
ret
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 3
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea eax, [0x9b21e0]
mov dword [esp], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
mov dword [esp + 0x6c], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea eax, [0x9b21e0]
mov dword [esp], eax
lea eax, [esp + 0x60]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
mov eax, dword [esp + 0xcc]
jmp 0x5e8c3f
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.005eb200
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test cl, cl
je 0x5e8dc5
lea ecx, [0x5f0a00]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x44], ecx
lea ebp, [esp + 0x30]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x4c], ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.005ec950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x5e8db0
mov eax, dword [esp + 0xd0]
cmp eax, 1
jmp 0x5e8c14
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 6
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x9b21e0]
mov dword [esp], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
cmp ecx, 2
je 0x5e8bee
cmp ecx, 1
jmp 0x5e8c14
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x38
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x5e8e7a
lea ecx, [0x862c49]
mov dword [eax], ecx
lea ecx, [0x9b1540]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
mov dword [esp + 0x38], eax
mov dword [esp], eax
lea ecx, [0x862c49]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0x38]
jmp 0x5e8e5f
cmp ecx, 2
jne 0x5e8ea9
mov edx, dword [esp + 0xd8]
test edx, edx
jmp 0x5e8bce
cmp ecx, 1
mov edx, dword [esp + 0xd8]
mov ebx, 0
jmp 0x5e8be0
call fcn.00482490
lea edi, [esp + 0xb4]
mov esi, esp
call fcn.0044e24e
jmp 0x5e8abe
xor ecx, ecx
jmp 0x5e8ab6
mov ebp, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov ebx, edx
mov edx, ecx
jmp 0x5e8a99
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 5
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
lea eax, [0x9b21e0]
mov dword [esp], eax
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
lea eax, [0x9b2260]
mov dword [esp + 0xe4], eax
lea eax, [0xcc206c]
mov dword [esp + 0xe8], eax
add esp, 0xc8
ret
call fcn.00426a70
ud2
call fcn.0044c200
jmp fcn.005e8980