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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1b8
mov esi, ecx
mov ecx, dword [esp + 0x1cc]
call 0x5e49d0
pop ebp
mov dword [esp + 0xe8], edx
test ecx, ecx
mov dword [esp + 0xec], ecx
je 0x5e5064
mov bl, byte [edx]
mov eax, ebx
not al
test al, 0x1f
je 0x5e5064
cmp ecx, 2
jb 0x5e5064
movzx eax, byte [edx + 1]
mov dword [esp + 0xf0], 2
test al, al
js 0x5e502f
lea edi, [esp + 0xe8]
mov edx, eax
mov ecx, edi
call fcn.005e314a
xor ecx, ecx
cmp bl, 0x30
jne 0x5e5066
test eax, eax
je 0x5e5066
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
and dword [esp + 0x84], 0
test edx, edx
je 0x5e5064
mov bl, byte [eax]
mov ecx, ebx
not cl
test cl, 0x1f
je 0x5e5064
cmp edx, 2
jb 0x5e5064
mov dword [esp + 0x84], 2
movzx ecx, byte [eax + 1]
test cl, cl
js 0x5e50a5
mov edx, ecx
lea ecx, [esp + 0x7c]
call fcn.005e314a
xor ecx, ecx
test eax, eax
je 0x5e5066
cmp bl, 0x30
mov dword [esp + 4], edx
jne 0x5e5066
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
cmp eax, ebx
jb 0x5e5338
jbe 0x5e5064
mov edx, dword [esp + 0x7c]
mov ch, byte [edx + ebx]
mov cl, ch
not cl
test cl, 0x1f
je 0x5e5064
mov byte [esp + 0x14], ch
lea ecx, [ebx + 1]
cmp eax, ecx
jbe 0x5e5064
lea ecx, [ebx + 2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x84], ecx
movzx edx, byte [edx + ebx + 1]
test dl, dl
js 0x5e518d
lea ecx, [esp + 0x7c]
call fcn.005e314a
xor ecx, ecx
test eax, eax
je 0x5e5066
cmp byte [esp + 0x14], 0x30
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
jne 0x5e5066
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x150]
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.005e4808
mov eax, dword [ebx]
test eax, eax
mov dword [esp + 0x34], eax
je 0x5e521e
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x80]
jne 0x5e5064
mov eax, dword [esp + 0xf0]
cmp eax, dword [esp + 0xec]
jne 0x5e5064
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
test ecx, ecx
mov dword [esp + 8], eax
mov al, 0x1c
mov dword [esp + 0xc], ecx
mov dword [esp], eax
je 0x5e5ca6
mov eax, dword [esp + 0x1c]
mov bl, byte [eax]
mov eax, ebx
not al
test al, 0x1f
je 0x5e5ca6
cmp dword [esp + 4], 2
jb 0x5e5ca6
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 2
movzx edx, byte [eax + 1]
test dl, dl
js 0x5e522a
lea ecx, [esp + 8]
call fcn.005e314a
cmp bl, 0xa0
jne 0x5e5ca6
test eax, eax
je 0x5e5ca6
lea ecx, [esp + 0x7c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
and dword [ecx + 8], 0
call fcn.005e47bd
cmp dl, 2
push 0x26
pop ecx
push 0x1c
pop ebx
cmove ebx, ecx
movzx ecx, dl
test al, 1
cmove ecx, ebx
cmp cl, 0x26
jne 0x5e5ca3
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x80]
jne 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e52b2
lea ecx, [esp + 8]
call fcn.005e314a
test eax, eax
mov dword [esp + 0x50], edx
mov dword [esp], 0
mov dword [esp + 0x1c], eax
je 0x5e5ca6
cmp byte [esp + 4], 2
jne 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e5342
lea ecx, [esp + 8]
call fcn.005e314a
cmp byte [esp + 4], 0x30
mov dword [esp], 0
jne 0x5e5ca6
test eax, eax
je 0x5e5ca6
mov ecx, eax
push dword [esp + 0x2c]
push dword [esp + 0x34]
call fcn.00455949
pop ecx
pop edx
mov cl, 0x1a
test al, al
mov dword [esp], ecx
je 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e53c6
lea ecx, [esp + 8]
call fcn.005e314a
cmp byte [esp + 4], 0x30
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], edx
mov dword [esp], 0
jne 0x5e5ca6
cmp dword [esp + 0x4c], 0
je 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e544a
lea ecx, [esp + 8]
call fcn.005e314a
cmp byte [esp + 4], 0x30
mov dword [esp + 0x48], eax
mov dword [esp + 0x70], edx
mov dword [esp], 0
jne 0x5e5ca6
cmp dword [esp + 0x48], 0
je 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e54ce
lea ecx, [esp + 8]
call fcn.005e314a
cmp byte [esp + 4], 0x30
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], edx
mov dword [esp], 0
jne 0x5e5ca6
cmp dword [esp + 0x44], 0
je 0x5e5ca6
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jbe 0x5e5bed
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5bed
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5bed
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e5552
lea ecx, [esp + 8]
call fcn.005e314a
test eax, eax
mov dword [esp], 0
je 0x5e5ca6
cmp byte [esp + 4], 0x30
jne 0x5e5ca6
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], eax
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb8], edx
and dword [esp + 0xc0], 0
and dword [esp + 0xc8], 0
and dword [esp + 0xd0], 0
and dword [esp + 0xd8], 0
and dword [esp + 0xe0], 0
cmp eax, ebx
jne 0x5e558c
lea eax, [esp + 0x81]
push 0x67
pop ebx
push ebx
push eax
push edi
call fcn.00616830
add esp, 0xc
push ebx
push edi
lea eax, [esp + 0x158]
push eax
call fcn.00616830
add esp, 0xc
lea eax, [esi + 5]
push 0x67
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.00616830
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0x50]
mov byte [esi + 4], al
jmp 0x5e506c
cmp eax, 0x82
je 0x5e505a
cmp eax, 0x81
jne 0x5e5064
cmp ecx, 3
jb 0x5e5064
movzx eax, byte [edx + 2]
mov dword [esp + 0xf0], 3
test al, al
jns 0x5e5064
jmp 0x5e4a15
cmp ecx, 2
jbe 0x5e5064
cmp ecx, 3
jne 0x5e5077
xor ecx, ecx
mov byte [esi + 4], cl
and dword [esi], 0
add esp, 0x1b8
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 3]
mov dword [esp + 0xf0], 4
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp eax, 0x100
jb 0x5e5066
cmp eax, 0xffff
jne 0x5e4a15
jmp 0x5e5066
add ecx, 0xffffff7f
cmp ecx, 3
ja 0x5e5064
mov ecx, dword [ecx*4 + 0x5e5d40]
add ecx, ebp
jmp ecx
cmp edx, 0x82
je 0x5e51c9
cmp edx, 0x81
jne 0x5e5064
cmp eax, ecx
jbe 0x5e5064
mov ecx, dword [esp + 0x18]
lea eax, [ebx + 3]
mov dword [esp + 0x84], eax
movzx edx, byte [ecx + ebx + 2]
test dl, dl
jns 0x5e5064
jmp 0x5e4b02
cmp eax, ecx
jbe 0x5e5064
lea ecx, [ebx + 3]
cmp eax, ecx
jbe 0x5e5064
mov eax, dword [esp + 0x18]
mov ecx, ebx
xor ecx, ecx
movzx edx, byte [eax + ebx + 2]
lea eax, [ebx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x18]
shl edx, 8
movzx eax, byte [eax + ebx + 3]
or edx, eax
cmp edx, 0x100
jb 0x5e5066
cmp edx, 0xffff
jne 0x5e4b02
jmp 0x5e5066
mov cl, byte [esp + 0x154]
jmp 0x5e5066
cmp edx, 0x82
je 0x5e5266
cmp edx, 0x81
jne 0x5e5ca6
cmp dword [esp + 4], 3
jb 0x5e5ca6
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 3
movzx edx, byte [eax + 2]
test dl, dl
jns 0x5e5ca6
jmp 0x5e4bd1
cmp dword [esp + 4], 2
jbe 0x5e5ca6
cmp dword [esp + 4], 3
je 0x5e5ca6
mov eax, dword [esp + 0x1c]
movzx edx, byte [eax + 2]
mov dword [esp + 0x10], 4
movzx eax, byte [eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4bd1
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e52e9
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp + 0x1c]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4c77
cmp ebx, dword [esp + 0x1c]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4c77
jmp 0x5e5ca6
mov ecx, 0x7b0fd8
call fcn.0062d7f0
cmp edx, 0x82
je 0x5e5378
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4cea
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4cea
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e53fc
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4d73
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4d73
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e5480
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4de9
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4de9
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e5504
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4e5f
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4e5f
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e5ba7
cmp edx, 0x81
jne 0x5e5bed
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5bed
jmp 0x5e4ed5
mov cl, 0x11
mov dword [esp], ecx
jae 0x5e5ca6
mov ecx, dword [esp + 8]
mov dl, byte [ecx + eax]
mov byte [esp + 4], dl
not dl
test dl, 0x1f
je 0x5e5ca6
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x5e5ca6
lea edx, [eax + 2]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
movzx edx, byte [ecx + eax + 1]
test dl, dl
js 0x5e5bf9
lea ecx, [esp + 8]
call fcn.005e314a
cmp byte [esp + 4], 0xa3
jne 0x5e5ca6
test eax, eax
je 0x5e5ca6
test edx, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
je 0x5e5ca1
mov bl, byte [eax]
mov ecx, ebx
not cl
test cl, 0x1f
je 0x5e5ca1
cmp edx, 2
jb 0x5e5ca1
mov dword [esp + 0x5c], 2
movzx ecx, byte [eax + 1]
test cl, cl
mov dword [esp + 4], ecx
js 0x5e5c65
mov edx, dword [esp + 4]
lea ecx, [esp + 0x54]
call fcn.005e314a
xor ecx, ecx
cmp bl, 0x30
jne 0x5e5ca3
test eax, eax
je 0x5e5ca3
lea ecx, [esp + 0x60]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor ecx, ecx
cmp edx, ecx
jbe 0x5e5ca1
mov ebx, dword [esp + 0x60]
mov al, byte [ebx + ecx]
mov byte [esp + 4], al
not al
test al, 0x1f
je 0x5e5ca1
lea eax, [ecx + 1]
cmp edx, eax
jbe 0x5e5ca1
lea eax, [ecx + 2]
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + ecx + 1]
test al, al
js 0x5e5750
lea ecx, [esp + 0x60]
mov edx, eax
call fcn.005e314a
xor ecx, ecx
cmp byte [esp + 4], 0x30
jne 0x5e5ca3
test eax, eax
je 0x5e5ca3
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
and dword [esp + 0x28], 0
test edx, edx
je 0x5e5a86
mov dword [esp + 0x28], 1
mov bl, byte [eax]
mov ecx, ebx
not cl
test cl, 0x1f
je 0x5e5a86
cmp edx, 2
jb 0x5e5a86
mov dword [esp + 0x28], 2
movzx ecx, byte [eax + 1]
test cl, cl
mov dword [esp + 4], ecx
jns 0x5e581a
mov ecx, dword [esp + 4]
add ecx, 0xffffff7f
cmp ecx, 3
mov dword [esp + 4], ecx
ja 0x5e5a86
mov ecx, dword [esp + 4]
mov ecx, dword [ecx*4 + 0x5e5d50]
add ecx, ebp
jmp ecx
cmp eax, 0x82
je 0x5e5785
cmp eax, 0x81
jne 0x5e5ca1
cmp edx, dword [esp + 0x18]
jbe 0x5e5ca1
lea eax, [ecx + 3]
mov dword [esp + 0x68], eax
movzx eax, byte [ebx + ecx + 2]
test al, al
js 0x5e5697
jmp 0x5e5ca1
cmp edx, dword [esp + 0x18]
jbe 0x5e5ca1
lea eax, [ecx + 3]
cmp edx, eax
jbe 0x5e5ca1
lea edx, [ecx + 4]
movzx eax, byte [ebx + ecx + 2]
mov dword [esp + 0x68], edx
movzx ecx, byte [ebx + ecx + 3]
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp eax, 0x100
jb 0x5e5ca3
cmp eax, 0xffff
jne 0x5e5697
jmp 0x5e5ca3
mov edx, dword [esp + 4]
lea ecx, [esp + 0x20]
call fcn.005e314a
test eax, eax
mov dword [esp + 0x30], edx
mov dword [esp + 4], eax
je 0x5e5a86
cmp bl, 6
jne 0x5e5a86
lea ecx, [esp + 0x20]
call fcn.005e3718
test al, 1
mov byte [esp + 0x18], dl
je 0x5e58ba
mov edx, dword [esp + 0x14]
movzx eax, byte [esp + 0x18]
and edx, 0xffffff00
or edx, eax
jmp 0x5e5a90
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
cmp ecx, eax
jbe 0x5e5a86
mov ebx, dword [esp + 0x20]
lea edx, [eax + 1]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov bl, byte [ebx + eax]
mov byte [esp + 0x34], bl
not bl
test bl, 0x1f
je 0x5e5a86
cmp ecx, edx
jbe 0x5e5a86
mov edx, dword [esp + 0x2c]
lea ebx, [eax + 2]
mov dword [esp + 0x28], ebx
movzx edx, byte [edx + eax + 1]
test dl, dl
jns 0x5e5990
add edx, 0xffffff7f
cmp edx, 3
ja 0x5e5a86
mov edx, dword [edx*4 + 0x5e5d60]
add edx, ebp
jmp edx
lea ecx, [esp + 0x20]
call fcn.005e314a
test eax, eax
je 0x5e5a86
cmp byte [esp + 0x34], 4
jne 0x5e5a86
cmp dword [esp + 0x30], 3
jne 0x5e5acb
mov ebx, dword [esp + 4]
mov ecx, edx
cmp word [ebx], 0x1d55
jne 0x5e5acb
mov edx, dword [esp + 4]
lea ebx, [esp + 0xc8]
movzx edx, byte [edx + 2]
cmp edx, 0xf
je 0x5e5a10
cmp edx, 0x11
lea ebx, [esp + 0xe0]
je 0x5e5a10
cmp edx, 0x13
lea ebx, [esp + 0xc0]
je 0x5e5a10
cmp edx, 0x1e
lea ebx, [esp + 0xd8]
je 0x5e5a10
cmp edx, 0x25
jne 0x5e5acb
lea ebx, [esp + 0xd0]
cmp dword [ebx], 0
jne 0x5e5ce4
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
and dword [esp + 0x40], 0
cmp dl, 0xf
jne 0x5e5ad7
lea ecx, [esp + 0x38]
call fcn.005e47d9
test eax, eax
mov dword [esp + 0x14], edx
jne 0x5e5b7f
jmp 0x5e5b9d
mov edx, dword [esp + 0x14]
and edx, 0xffffff00
mov eax, edx
mov dword [esp + 4], edx
mov eax, edx
cmp al, 0x26
jne 0x5e5d37
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x24]
jne 0x5e5ca1
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 4]
cmp ecx, edx
mov dword [esp + 0x14], eax
jne 0x5e5657
jmp 0x5e5ce8
test byte [esp + 0x18], 1
je 0x5e5aa0
jmp 0x5e5d35
test ecx, ecx
mov dword [esp + 0x14], 0
je 0x5e5b9d
mov dl, byte [eax]
mov byte [esp + 0x18], dl
not dl
test dl, 0x1f
je 0x5e5b9d
cmp ecx, 2
jb 0x5e5b9d
mov dword [esp + 0x40], 2
movzx edx, byte [eax + 1]
test dl, dl
jns 0x5e5b67
cmp edx, 0x82
je 0x5e5b38
cmp edx, 0x81
jne 0x5e5b9d
cmp ecx, 3
jb 0x5e5b9d
cmp ecx, 2
jbe 0x5e5b9d
cmp ecx, 3
je 0x5e5b9d
lea ecx, [esp + 0x38]
call fcn.005e314a
cmp byte [esp + 0x18], 0x30
jne 0x5e5b9d
test eax, eax
je 0x5e5b9d
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp ecx, dword [esp + 0x3c]
jne 0x5e5a96
movzx edx, byte [esp + 0x14]
jmp 0x5e5a96
cmp ebx, dword [esp]
jbe 0x5e5bed
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5bed
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp], 0
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e4ed5
jmp 0x5e5ca6
mov dword [esp], 0
jmp 0x5e5ca6
cmp edx, 0x82
je 0x5e5c2c
cmp edx, 0x81
jne 0x5e5ca6
cmp ebx, dword [esp + 0x14]
jbe 0x5e5ca6
lea edx, [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [ecx + eax + 2]
test dl, dl
jns 0x5e5ca6
jmp 0x5e55d0
cmp ebx, dword [esp + 0x14]
jbe 0x5e5ca6
lea edx, [eax + 3]
cmp ebx, edx
jbe 0x5e5ca6
lea ebx, [eax + 4]
movzx edx, byte [ecx + eax + 2]
mov dword [esp + 0x10], ebx
movzx eax, byte [ecx + eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
jb 0x5e5ca6
cmp edx, 0xffff
jne 0x5e55d0
jmp 0x5e5ca6
cmp dword [esp + 4], 0x82
je 0x5e5c97
cmp dword [esp + 4], 0x81
jne 0x5e5ca1
cmp edx, 3
jb 0x5e5ca1
mov dword [esp + 0x5c], 3
movzx eax, byte [eax + 2]
test al, al
mov dword [esp + 4], eax
jns 0x5e5ca1
jmp 0x5e562c
cmp edx, 2
jbe 0x5e5ca1
cmp edx, 3
jne 0x5e5cb1
xor ecx, ecx
mov dword [esp], ecx
mov eax, dword [esp]
mov byte [esi + 4], al
jmp 0x5e5069
movzx edx, byte [eax + 2]
mov dword [esp + 0x5c], 4
xor ecx, ecx
movzx eax, byte [eax + 3]
shl edx, 8
or edx, eax
cmp edx, 0x100
mov dword [esp + 4], edx
jb 0x5e5ca3
cmp dword [esp + 4], 0xffff
jne 0x5e562c
jmp 0x5e5ca3
mov dl, 8
jmp 0x5e5d37
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x58]
jne 0x5e5ca6
lea eax, [esp + 0x81]
push 0x67
pop ecx
push ecx
push eax
push edi
call fcn.00616830
add esp, 0xc
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
push 0x67
pop eax
push eax
push edi
lea eax, [esp + 0x158]
push eax
call fcn.00616830
add esp, 0xc
cmp ebp, ebx
je 0x5e500a
mov byte [esi + 4], 0
jmp 0x5e5069
mov dl, 0x1d
mov ecx, edx
jmp 0x5e5ca3