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

Disassembly:
push 0xffffffffffffffff
push 0x5f41e8
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x6b9a04]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6b9a04]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x80]
mov ebp, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
lea esi, [eax + 0x20]
cmp ebp, edx
jne 0x5e8a90
mov eax, ebp
jmp 0x5e8f12
mov eax, dword [eax + 8]
mov ebx, dword [ecx]
mov dl, byte [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], eax
test eax, eax
jbe 0x5e8b4a
mov al, byte [esi]
mov edi, ebp
test al, al
jne 0x5e8ae0
mov al, byte [ebp]
test dl, dl
je 0x5e8acf
mov ecx, dword [ebx]
movzx eax, al
mov al, byte [eax + ecx + 0x104]
test al, al
je 0x5e8bb9
inc esi
cmp byte [esi], 0
je 0x5e8ad7
jmp 0x5e8b37
cmp edi, dword [esp + 0x2c]
je 0x5e8b29
mov cl, byte [edi]
test dl, dl
je 0x5e8afc
mov ebp, dword [ebx]
movzx ecx, cl
mov cl, byte [ecx + ebp + 0x104]
mov ebp, dword [esp + 0x1c]
cmp cl, al
jne 0x5e8b29
mov al, byte [esi + 1]
inc esi
inc edi
test al, al
jne 0x5e8ae0
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x1c], 0
jne 0x5e8a89
lea eax, [ebp + 1]
cmp edi, ebp
je 0x5e8f12
mov eax, edi
jmp 0x5e8f12
cmp byte [esi], 0
je 0x5e8b09
mov edi, edi
inc esi
cmp byte [esi], 0
jne 0x5e8b30
inc esi
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x30]
jb 0x5e8ab4
mov al, byte [ebp]
test dl, dl
je 0x5e8b5d
mov ecx, dword [ebx]
movzx edx, al
mov al, byte [edx + ecx + 0x104]
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x17], al
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x5e8b75
cmp dword [ecx + 0x10], eax
je 0x5e8e34
xor edi, edi
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
mov dword [esp + 0x78], edi
cmp eax, edi
je 0x5e8d24
mov ecx, dword [esp + 0x28]
test dword [ecx + 8], 0x200000
jne 0x5e8bd1
mov dl, byte [esp + 0x17]
mov ebp, 1
mov byte [esp + 0x54], dl
mov dword [esp + 0x64], ebp
mov byte [esp + 0x55], 0
jmp 0x5e8c26
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x1c], 0
mov eax, ebp
jne 0x5e8f12
lea eax, [ebp + 1]
jmp 0x5e8f12
mov al, byte [esp + 0x17]
lea ecx, [esp + 0x19]
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c], al
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
mov byte [esp + 0x25], 0
call fcn.005e3e90
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 1
call fcn.0040529a
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x5e8c22
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0059a1ad
add esp, 4
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x20]
cmp dword [edx + 0xc], 0
mov dword [esp + 0x18], 0
jbe 0x5e8d24
mov ebx, dword [esp + 0x54]
cmp byte [esi], 0
jne 0x5e8c60
test ebp, ebp
je 0x5e8ca1
cmp ebp, 1
jne 0x5e8c60
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x5e8c5b
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x5e8ca1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5e8c65
sub eax, edx
mov edi, eax
mov ecx, ebp
cmp ebp, edi
jb 0x5e8c78
mov ecx, edi
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x5e8c85
lea eax, [esp + 0x54]
push ecx
push esi
push eax
call fcn.00404b0a
add esp, 0xc
test eax, eax
jne 0x5e8c9f
cmp ebp, edi
jb 0x5e8d00
cmp ebp, edi
setne al
test eax, eax
jl 0x5e8d00
inc esi
cmp byte [esi], 0
jne 0x5e8ca1
inc esi
cmp byte [esi], 0
jne 0x5e8cd0
test ebp, ebp
je 0x5e8e80
cmp ebp, 1
jne 0x5e8cd0
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x5e8cc7
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x5e8e80
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5e8cd5
sub eax, edx
push eax
push esi
push ebp
push 0
lea ecx, [esp + 0x60]
call fcn.00404b0f
mov ebx, dword [esp + 0x54]
test eax, eax
jle 0x5e8e80
mov ebp, dword [esp + 0x64]
jmp 0x5e8d07
inc esi
cmp byte [esi], 0
jne 0x5e8d00
inc esi
inc esi
cmp byte [esi], 0
jne 0x5e8d07
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
inc eax
inc esi
mov dword [esp + 0x18], eax
cmp eax, dword [ecx + 0xc]
jb 0x5e8c40
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x10], 0
je 0x5e8e20
mov cl, byte [esp + 0x17]
lea edx, [esp + 0x19]
push edx
mov byte [esp + 0x1c], cl
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x25], 0
call fcn.005e7f60
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 2
call fcn.0040529a
cmp dword [esp + 0x4c], 0x10
jb 0x5e8d81
mov edx, dword [esp + 0x38]
push edx
call fcn.0059a1ad
add esp, 4
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], eax
test eax, eax
jbe 0x5e8e20
mov ebp, dword [esp + 0x64]
lea ebx, [ebx]
cmp byte [esi], 0
jne 0x5e8dca
test ebp, ebp
je 0x5e8ea3
cmp ebp, 1
jne 0x5e8dca
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x5e8dc1
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x5e8ea3
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5e8dd0
sub eax, edx
mov edi, eax
mov ecx, ebp
cmp ebp, edi
jb 0x5e8de3
mov ecx, edi
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x5e8df2
lea eax, [esp + 0x54]
push ecx
push esi
push eax
call fcn.00404b0a
add esp, 0xc
test eax, eax
jne 0x5e8e12
cmp ebp, edi
jb 0x5e8e12
cmp ebp, edi
setne al
test eax, eax
je 0x5e8ea3
inc esi
cmp byte [esi], 0
jne 0x5e8e12
inc ebx
inc esi
cmp ebx, dword [esp + 0x28]
jb 0x5e8da0
cmp dword [esp + 0x68], 0x10
jb 0x5e8e34
mov eax, dword [esp + 0x54]
push eax
call fcn.0059a1ad
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x14]
mov dl, byte [esp + 0x17]
test eax, 0x3ff
je 0x5e8e61
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx esi, dl
movzx esi, word [edi + esi*2 + 0x204]
and esi, eax
test esi, 0x3ff
jne 0x5e8e6d
test eax, 0x400
je 0x5e8eca
cmp dl, 0x5f
jne 0x5e8eca
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x1c]
jne 0x5e8f12
jmp 0x5e8f11
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x1c], 0
mov esi, dword [esp + 0x1c]
jne 0x5e8e8f
inc esi
cmp dword [esp + 0x68], 0x10
jb 0x5e8e9f
push ebx
call fcn.0059a1ad
add esp, 4
mov eax, esi
jmp 0x5e8f12
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1c], 0
mov esi, dword [esp + 0x1c]
jne 0x5e8eb2
inc esi
cmp dword [esp + 0x68], 0x10
jb 0x5e8e9f
mov edx, dword [esp + 0x54]
push edx
call fcn.0059a1ad
add esp, 4
mov eax, esi
jmp 0x5e8f12
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x5e8f07
test eax, 0x3ff
je 0x5e8ef3
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx esi, dl
movzx esi, word [edi + esi*2 + 0x204]
and esi, eax
test esi, 0x3ff
jne 0x5e8f07
test eax, 0x400
je 0x5e8e6d
cmp dl, 0x5f
jne 0x5e8e6d
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x1c]
je 0x5e8f12
inc eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.005c30b2
add esp, 0x68
ret 0xc