Function at 0x100143e0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
xor eax, eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov byte [ebp - 0x28], 0xe8
mov dword [ebp - 0x27], eax
mov byte [ebp - 0x20], 0xe9
mov dword [ebp - 0x1f], eax
mov byte [ebp - 0x30], 0xf
mov byte [ebp - 0x2f], 0x80
mov dword [ebp - 0x2e], eax
mov byte [ebp - 1], al
mov byte [ebp - 2], al
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
lea esp, [esp]
movzx ecx, byte [ebp - 2]
mov eax, dword [edi + 8]
movzx esi, byte [ebp - 1]
add esi, dword [edi]
add eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x4c]
push eax
push esi
mov dword [ebp - 0x18], ecx
call fcn.10013400
add esp, 8
test dword [ebp - 0x34], 0x1000
mov ebx, eax
jne 0x10014688
cmp byte [ebp - 1], 5
mov edx, esi
mov dword [ebp - 0x14], edx
jb 0x1001447b
mov ecx, esi
sub ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x20]
sub ecx, 5
mov dword [ebp - 0x1f], ecx
mov ebx, 5
mov dword [ebp - 0x10], 1
jmp 0x1001459b
mov cl, byte [ebp - 0x46]
cmp cl, 0xe8
jne 0x100144a1
movzx edx, byte [ebp - 0x4c]
sub edx, dword [ebp - 0xc]
mov ebx, 5
add edx, dword [ebp - 0x3c]
lea eax, [edx + esi - 5]
mov dword [ebp - 0x27], eax
lea edx, [ebp - 0x28]
jmp 0x1001459b
mov al, cl
and al, 0xfd
cmp al, 0xe9
jne 0x100144fe
movzx eax, byte [ebp - 0x4c]
add eax, esi
cmp cl, 0xeb
jne 0x100144bc
movsx ecx, byte [ebp - 0x3c]
add eax, ecx
jmp 0x100144bf
add eax, dword [ebp - 0x3c]
mov ecx, dword [edi]
cmp ecx, eax
ja 0x100144dd
add ecx, 5
cmp eax, ecx
jae 0x100144dd
cmp dword [ebp - 8], eax
jae 0x1001459b
mov dword [ebp - 8], eax
jmp 0x1001459b
sub eax, dword [ebp - 0xc]
lea edx, [ebp - 0x20]
sub eax, 5
cmp esi, dword [ebp - 8]
mov dword [ebp - 0x1f], eax
sbb eax, eax
add eax, 1
mov ebx, 5
mov dword [ebp - 0x10], eax
jmp 0x1001459b
mov al, cl
and al, 0xf0
cmp al, 0x70
mov byte [ebp + 0xb], al
je 0x10014530
mov al, cl
and al, 0xfc
cmp al, 0xe0
je 0x10014530
movzx eax, byte [ebp - 0x45]
and al, 0xf0
cmp al, 0x80
je 0x10014530
and cl, 0xfe
cmp cl, 0xc2
jne 0x1001459b
cmp esi, dword [ebp - 8]
sbb eax, eax
add eax, 1
mov dword [ebp - 0x10], eax
jmp 0x1001459b
movzx eax, byte [ebp - 0x4c]
add eax, esi
cmp byte [ebp + 0xb], 0x70
je 0x1001454b
mov dl, cl
and dl, 0xfc
cmp dl, 0xe0
je 0x1001454b
add eax, dword [ebp - 0x3c]
jmp 0x10014551
movsx edx, byte [ebp - 0x3c]
add eax, edx
mov edx, dword [edi]
cmp edx, eax
ja 0x1001456b
add edx, 5
cmp eax, edx
jae 0x1001456b
cmp dword [ebp - 8], eax
mov edx, dword [ebp - 0x14]
jae 0x1001459b
mov dword [ebp - 8], eax
jmp 0x1001459b
mov dl, cl
and dl, 0xfc
cmp dl, 0xe0
je 0x10014688
cmp cl, 0xf
jne 0x10014581
mov cl, byte [ebp - 0x45]
sub eax, dword [ebp - 0xc]
and cl, 0xf
or cl, 0x80
sub eax, 6
mov byte [ebp - 0x2f], cl
mov dword [ebp - 0x2e], eax
lea edx, [ebp - 0x30]
mov ebx, 6
cmp esi, dword [ebp - 8]
jae 0x100145ac
movzx eax, byte [ebp - 0x4c]
cmp ebx, eax
jne 0x10014688
mov eax, dword [ebp - 0x18]
lea ecx, [eax + ebx]
cmp ecx, 0x20
ja 0x10014688
mov esi, dword [edi + 0x10]
cmp esi, 8
jae 0x10014688
mov cl, byte [ebp - 1]
mov al, byte [ebp - 2]
mov byte [esi + edi + 0x14], cl
mov ecx, dword [edi + 0x10]
mov byte [ecx + edi + 0x1c], al
mov eax, dword [ebp - 0x18]
add dword [edi + 0x10], 1
push ebx
push edx
mov edx, dword [edi + 8]
add edx, eax
push edx
call fcn.10124140
add byte [ebp - 2], bl
mov bl, byte [ebp - 1]
add bl, byte [ebp - 0x4c]
add esp, 0xc
cmp dword [ebp - 0x10], 0
mov byte [ebp - 1], bl
je 0x10014420
cmp bl, 5
jae 0x1001467c
mov ecx, dword [edi]
movzx eax, bl
mov edx, 5
lea esi, [ecx + eax]
sub edx, eax
mov dword [ebp + 8], eax
call fcn.100143a0
test eax, eax
jne 0x1001467c
cmp bl, 2
jae 0x1001463b
mov edx, 2
sub edx, dword [ebp + 8]
call fcn.100143a0
test eax, eax
je 0x10014688
mov eax, dword [edi]
add eax, 0xfffffffb
push eax
call fcn.100133c0
add esp, 4
test eax, eax
je 0x10014688
mov eax, dword [edi]
mov dl, byte [eax - 5]
sub eax, 5
test dl, dl
je 0x10014663
cmp dl, 0x90
je 0x10014663
cmp dl, 0xcc
jne 0x10014688
mov ecx, 1
cmp byte [ecx + eax], dl
jne 0x10014688
add ecx, 1
cmp ecx, 5
jb 0x10014668
mov dword [edi + 0xc], 1
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret