Function at 0x5e6a80
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x1428
call fcn.00602f60
mov eax, dword [0x653af8]
xor eax, esp
mov dword [esp + 0x1424], eax
push ebx
push ebp
push esi
xor ebp, ebp
cmp dword [esp + 0x143c], 0x87654321
push edi
je 0x5e6f13
cmp dword [esp + 0x143c], ebp
je 0x5e6ef2
push 0xffc
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.006046d0
mov eax, dword fs:[0x30]
add esp, 0xc
test eax, eax
je 0x5e6ef2
mov esi, dword [eax + 0x38]
mov dword [esp + 0x18], esi
test esi, esi
je 0x5e6ef2
xor bl, bl
cmp dword [0x653980], 0xffffffff
jne 0x5e6afe
mov eax, dword [esi]
mov dword [0x653980], eax
mov ecx, dword [esi]
test ecx, ecx
je 0x5e6b1e
cmp ecx, 2
je 0x5e6b1e
cmp ecx, 4
je 0x5e6b1e
cmp ecx, 6
je 0x5e6b1e
mov byte [0x653998], 1
mov ecx, dword [esi]
jmp 0x5e6b20
mov bl, 1
mov eax, ecx
lea edi, [eax - 6]
neg edi
sbb edi, edi
cmp eax, 6
mov dword [esp + 0x2c], edi
sete dl
test bl, bl
je 0x5e6ef2
xor ebx, ebx
nop dword [eax]
mov eax, dword [esp + 0x143c]
mov al, byte [eax + ebx]
xor al, 0xcc
cmp al, 0xcc
je 0x5e6b70
cmp al, 0xe1
jne 0x5e6b69
test dl, dl
jne 0x5e6b66
mov dl, 1
cmp edi, 0xffffffff
jne 0x5e6b66
lea edi, [ebx + 1]
mov dword [esp + 0x2c], edi
inc ebx
jmp 0x5e6b40
cmp al, 0xe2
je 0x5e6b70
inc ebx
jmp 0x5e6b40
test dl, dl
je 0x5e6ef2
cmp edi, 0xffffffff
je 0x5e6ef2
test ebx, ebx
je 0x5e6ef2
sub ebx, edi
mov dword [esp + 0x24], ebx
cmp ecx, 6
jne 0x5e6b9c
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0xc]
jmp 0x5e6bbc
cmp ecx, 4
jne 0x5e6ba9
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0xc]
jmp 0x5e6bbc
cmp ecx, 2
je 0x5e6bb6
test ecx, ecx
jne 0x5e6ef2
mov edx, dword [esi + 4]
lea ecx, [esi + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
test edx, edx
je 0x5e6ef2
mov eax, dword [esp + 0x1c]
lea edx, [esi + 0x14]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], edx
nop dword [eax + eax]
mov ebp, dword [esi]
cmp ebp, 6
jne 0x5e6bef
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
jmp 0x5e6c0d
cmp ebp, 4
jne 0x5e6bfb
mov eax, dword [edx]
mov ecx, dword [edx + 4]
jmp 0x5e6c0d
cmp ebp, 2
je 0x5e6c08
test ebp, ebp
jne 0x5e6ed1
mov eax, dword [ecx - 4]
mov ecx, dword [ecx]
lea edi, [eax + esi]
mov dword [esp + 0x14], edi
test ecx, ecx
je 0x5e6ec9
test eax, eax
je 0x5e6ec9
lea esi, [ebx + ebx]
cmp ecx, esi
jne 0x5e6ec5
mov eax, dword [esp + 0x2c]
mov ecx, ebx
mov edx, dword [esp + 0x143c]
shr ecx, 1
add eax, ecx
mov bl, byte [eax + edx]
mov dl, byte [edi + ecx*2]
cmp bl, dl
je 0x5e6c79
lea eax, [ebx - 0x20]
movzx eax, al
lea ecx, [ebx - 0x61]
mov dword [esp + 0x20], eax
cmp cl, 0x19
mov ecx, dword [esp + 0x20]
movzx eax, bl
cmova ecx, eax
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x5e6c6e
add dl, 0xe0
cmp cl, dl
je 0x5e6c79
xor al, al
jmp 0x5e6d65
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x143c]
shr ecx, 2
add eax, ecx
mov bl, byte [eax + edx]
mov dl, byte [edi + ecx*2]
cmp bl, dl
je 0x5e6cc6
lea eax, [ebx - 0x20]
movzx eax, al
lea ecx, [ebx - 0x61]
mov dword [esp + 0x20], eax
cmp cl, 0x19
mov ecx, dword [esp + 0x20]
movzx eax, bl
cmova ecx, eax
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x5e6cbb
add dl, 0xe0
cmp cl, dl
je 0x5e6cc6
xor al, al
jmp 0x5e6d65
mov ebx, dword [esp + 0x24]
mov edi, ebx
cmp ebp, 6
jne 0x5e6d00
xor ecx, ecx
test ebx, ebx
je 0x5e6d00
mov eax, dword [esp + 0x14]
add eax, esi
nop dword [eax]
cmp byte [eax], 0x2d
jne 0x5e6cf2
mov dl, byte [eax + 2]
cmp dl, 0x6c
je 0x5e6cfc
cmp dl, 0x4c
je 0x5e6cfc
inc ecx
sub eax, 2
cmp ecx, ebx
jb 0x5e6ce0
jmp 0x5e6d06
mov edi, ebx
sub edi, ecx
mov al, 1
test edi, edi
je 0x5e6d69
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x143c]
xor esi, esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
nop dword [eax + eax]
mov bl, byte [eax + esi]
mov dl, byte [ecx + esi*2]
cmp bl, dl
je 0x5e6d5e
lea eax, [ebx - 0x20]
movzx eax, al
lea ecx, [ebx - 0x61]
mov dword [esp + 0x20], eax
cmp cl, 0x19
mov ecx, dword [esp + 0x20]
movzx eax, bl
cmova ecx, eax
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x5e6d4e
add dl, 0xe0
cmp cl, dl
jne 0x5e6c72
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
inc esi
cmp esi, edi
jb 0x5e6d20
mov al, 1
mov ebx, dword [esp + 0x24]
test al, al
je 0x5e6ec1
xor edx, edx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x14], edx
xor eax, eax
cmp ebp, 6
jne 0x5e6d92
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0x18]
add ecx, dword [esp + 0x18]
mov edx, dword [edx + 0x1c]
jmp 0x5e6dbd
cmp ebp, 4
jne 0x5e6da7
mov edx, dword [esp + 0x28]
mov esi, dword [edx + 0x10]
add esi, dword [esp + 0x18]
mov edx, dword [esi + 4]
jmp 0x5e6dbd
cmp ebp, 2
je 0x5e6db0
test ebp, ebp
jne 0x5e6dc1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x18]
mov edx, dword [eax]
mov dword [esp + 0x14], edx
xor ebp, ebp
test edx, edx
je 0x5e6ec1
mov ebx, edx
lea edi, [ecx - 8]
shl ebx, 4
add ebx, eax
lea eax, [edx + edx*4]
shl eax, 2
lea edx, [esi - 4]
add edx, eax
add edi, eax
sub esi, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], esi
nop dword [eax]
mov ecx, dword [esp + 0x18]
xor esi, esi
xor eax, eax
mov ecx, dword [ecx]
cmp ecx, 6
jne 0x5e6e06
mov esi, dword [edi + 4]
mov eax, dword [edi]
jmp 0x5e6e24
cmp ecx, 4
jne 0x5e6e16
mov eax, dword [esp + 0x30]
mov esi, dword [edx]
mov eax, dword [eax + edi]
jmp 0x5e6e24
cmp ecx, 2
je 0x5e6e1f
test ecx, ecx
jne 0x5e6e24
mov esi, dword [ebx]
mov eax, dword [ebx - 4]
mov byte [esp + 0x1034], 0
test esi, esi
je 0x5e6ea5
test eax, eax
je 0x5e6ea5
mov edx, dword [esp + 0x18]
add edx, eax
shr esi, 1
mov eax, 0
je 0x5e6e52
mov cl, byte [edx + eax*2]
mov byte [esp + eax + 0x1034], cl
inc eax
cmp eax, esi
jb 0x5e6e43
cmp esi, 0x400
jae 0x5e6f30
lea eax, [esp + 0x1034]
mov byte [esp + esi + 0x1034], 0
push eax
call fcn.005e58c0
test eax, eax
je 0x5e6e84
cmp eax, dword [esp + 0x1440]
jne 0x5e6f0f
cmp byte [esp + 0x1034], 0
je 0x5e6ea1
push esi
lea eax, [esp + 0x1038]
push 0
push eax
call fcn.006046d0
add esp, 0xc
mov edx, dword [esp + 0x20]
inc ebp
sub edx, 0x14
sub edi, 0x14
mov dword [esp + 0x20], edx
sub ebx, 0x10
cmp ebp, dword [esp + 0x14]
jb 0x5e6df0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
add edx, 0x18
inc ebp
mov dword [esp + 0x28], edx
add ecx, 0xc
mov dword [esp + 0x34], ebp
mov dword [esp + 0x10], ecx
cmp ebp, eax
jb 0x5e6be0
xor ebp, ebp
mov ecx, dword [esp + 0x1434]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00602a00
add esp, 0x1428
ret 8
mov ebp, eax
jmp 0x5e6ef2
cmp dword [0x6539a8], 0x33c0
jne 0x5e6ef2
call fcn.005ec91d
add eax, 0x33c0
mov dword [0x6539a8], eax
jmp 0x5e6ef2
call fcn.00603761
int3