Function at 0x141b680
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x1575018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov byte [ebp - 5], 0
xor al, al
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], al
push edi
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 0xffffffff
mov dword [esi + 0xd0], ecx
adc eax, 0xffffffff
mov dword [esi + 0xd4], eax
cmp dword [esi + 0xb8], 2
jne case.0x141b7a6.38
push dword [esi + 0xac]
lea eax, [ebp - 5]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
mov edi, dword [esi + 0xa8]
mov ecx, edi
mov ebx, dword [esi + 0xac]
add ecx, 1
mov edx, ebx
mov dword [esi + 0xa8], ecx
adc edx, eax
mov al, byte [ebp - 5]
and al, 0xf0
mov dword [esi + 0xac], edx
cmp al, 0x40
jne 0x141b7bd
push edx
push ecx
lea eax, [ebp - 5]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
mov cl, byte [ebp - 5]
mov al, cl
and al, 0xf0
cmp al, 0x40
jne 0x141b792
push dword [esi + 0xac]
lea eax, [ebp - 5]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
mov ecx, dword [esi + 0xa8]
adc dword [esi + 0xac], eax
mov edx, dword [esi + 0xac]
jmp 0x141b724
movzx eax, cl
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x141b7a6.39
movzx eax, byte [eax + 0x141c16c]
jmp dword [eax*4 + 0x141c164]
add dword [esi + 0xa8], 0xffffffff
adc dword [esi + 0xac], 0xffffffff
jmp case.0x141b7a6.38
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], ebx
mov eax, dword [esi + 0xac]
mov ebx, dword [esi + 0xa8]
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 5]
push ebx
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
mov eax, dword [esi + 0xa8]
mov edi, eax
mov edx, dword [esi + 0xac]
add edi, 1
mov ecx, edx
mov dword [esi + 0xa8], edi
adc ecx, 0
mov dword [esi + 0xac], ecx
cmp eax, dword [esi + 0xc0]
jne 0x141b921
cmp edx, dword [esi + 0xc4]
jne 0x141b921
mov dl, byte [ebp - 5]
cmp dl, 0xf2
je 0x141b842
cmp dl, 0xf3
jne 0x141b924
push ecx
push edi
lea eax, [ebp - 8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
mov cl, byte [ebp - 8]
cmp cl, 0xf0
je 0x141b879
mov al, cl
and al, 0xfe
cmp al, 0x86
je 0x141b879
mov al, cl
and al, 0xf8
cmp al, 0x90
jne 0x141b880
mov byte [esi + 0x91], 1
mov dl, byte [ebp - 5]
cmp dl, 0xf3
jne 0x141b8a3
cmp cl, 0x88
je 0x141b89c
cmp cl, 0x89
je 0x141b89c
cmp cl, 0xc6
je 0x141b89c
cmp cl, 0xc7
jne 0x141b8a3
mov byte [esi + 0x91], 1
cmp dword [esi + 0xb8], 2
jne 0x141b924
and cl, 0xf0
cmp cl, 0x40
jne 0x141b924
push dword [esi + 0xac]
lea eax, [ebp - 8]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
lea eax, [ebp - 8]
push dword [esi + 0xac]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 0xffffffff
adc dword [esi + 0xac], 0xffffffff
mov dl, byte [ebp - 5]
movzx eax, dl
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x141b93c.39
movzx eax, byte [eax + 0x141c264]
jmp dword [eax*4 + 0x141c23c]
push dword [ebp - 0x10]
mov ecx, esi
mov word [esi + 0xe], 0
push ebx
mov byte [esi + 0xd], 0
call fcn.0141b250
add esp, 8
mov byte [esi + 1], dl
jmp 0x141b6c0
mov dword [esi + 0x6c], 1
push dword [ebp - 0x10]
mov ecx, esi
mov dword [esi + 6], 0
push ebx
mov byte [esi + 5], 0
mov byte [esi + 0xa], 0
call fcn.0141b250
add esp, 8
mov byte [esi + 2], dl
jmp 0x141b6c0
mov dword [esi + 0x6c], 2
jmp 0x141b96a
mov dword [esi + 0x6c], 3
jmp 0x141b96a
mov dword [esi + 0x6c], 4
jmp 0x141b96a
mov dword [esi + 0x6c], 5
jmp 0x141b96a
mov dword [esi + 0x6c], 6
jmp 0x141b96a
push dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 9], 1
push ebx
call fcn.0141b250
add esp, 8
mov byte [esi + 3], dl
jmp 0x141b6c0
push dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 0xa], 1
push ebx
call fcn.0141b250
add esp, 8
mov byte [esi + 4], dl
jmp 0x141b6c0
mov ecx, dword [esi + 0xa8]
mov edi, dword [esi + 0xac]
mov dword [esi + 0xcc], 0
cmp dl, 0x62
jne 0x141bbc9
push edi
push ecx
lea eax, [ebp - 7]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
mov ecx, dword [esi + 0xa8]
mov eax, ecx
mov edx, dword [esi + 0xac]
add eax, 1
mov bl, byte [ebp - 7]
mov edi, edx
adc edi, 0
mov dword [ebp - 0x10], eax
cmp dword [esi + 0xb8], 2
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
je 0x141ba6b
mov al, bl
and al, 0xc0
cmp al, 0xc0
jne 0x141bbb2
movzx eax, bl
not eax
and eax, 0xc
cmp al, 0xc
jne 0x141bbb2
push edi
push dword [ebp - 0x10]
lea eax, [ebp - 6]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
test byte [ebp - 6], 4
je 0x141baba
mov edx, dword [esi + 0xa8]
mov ebx, dword [esi + 0xac]
mov dword [esi + 0xcc], 3
jmp 0x141baf7
add dword [esi + 0xa8], 0xfffffffe
adc dword [esi + 0xac], 0xffffffff
mov edx, dword [esi + 0xa8]
mov ecx, edx
mov ebx, dword [esi + 0xac]
add ecx, 0xfffffffe
mov eax, ebx
mov dword [esi + 0xd0], ecx
adc eax, 0xffffffff
cmp dword [esi + 0xcc], 3
mov dword [esi + 0xd4], eax
jne 0x141c025
movzx eax, byte [ebp - 5]
lea edi, [esi + 0x94]
push ebx
mov byte [esi + 0x92], al
movzx eax, byte [ebp - 7]
push edx
mov byte [esi + 0x93], al
mov eax, dword [esi + 0x9c]
push edi
push dword [esi + 0xa0]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
lea eax, [esi + 0x95]
push dword [esi + 0xac]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
cmp dword [esi + 0xb8], 2
mov dl, byte [edi]
jne 0x141bb9c
movzx ecx, byte [esi + 0x93]
mov al, dl
not ecx
shr al, 4
sar ecx, 5
and al, 8
and cl, 7
or cl, al
or cl, 0x40
mov byte [esi + 0x68], cl
movzx eax, dl
and eax, 3
sub eax, 1
jne 0x141c025
mov dl, 1
jmp 0x141c028
add ecx, 0xffffffff
mov dword [esi + 0xa8], ecx
adc edx, 0xffffffff
mov dword [esi + 0xac], edx
jmp 0x141c025
cmp dl, 0xc4
jne 0x141bd22
push edi
push ecx
lea eax, [ebp - 6]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
cmp dword [esi + 0xb8], 2
je 0x141bc46
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x141bc46
mov ecx, dword [esi + 0xa8]
mov ebx, ecx
mov edx, dword [esi + 0xac]
add ebx, 0xffffffff
mov edi, edx
mov dword [esi + 0xa8], ebx
adc edi, 0xffffffff
add ecx, 0xfffffffe
mov dword [esi + 0xac], edi
adc edx, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], edx
cmp dword [esi + 0xcc], 2
jne 0x141c025
jmp 0x141bc72
mov ebx, dword [esi + 0xa8]
mov ecx, ebx
mov edi, dword [esi + 0xac]
add ecx, 0xffffffff
mov eax, edi
mov dword [esi + 0xcc], 2
adc eax, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
mov al, byte [ebp - 5]
mov byte [esi + 0x92], al
lea eax, [esi + 0x93]
push edi
push ebx
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
lea edi, [esi + 0x94]
adc dword [esi + 0xac], eax
push dword [esi + 0xac]
mov eax, dword [esi + 0x9c]
push dword [esi + 0xa8]
push edi
push dword [esi + 0xa0]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
cmp dword [esi + 0xb8], 2
mov dl, byte [edi]
jne 0x141bd0c
movzx ecx, byte [esi + 0x93]
mov al, dl
not ecx
shr al, 4
sar ecx, 5
and al, 8
and cl, 7
or cl, al
or cl, 0x40
mov byte [esi + 0x68], cl
movzx eax, dl
and eax, 3
sub eax, 1
jne 0x141c025
mov dl, 1
jmp 0x141c028
cmp dl, 0xc5
jne 0x141be03
push edi
push ecx
lea eax, [ebp - 6]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
cmp dword [esi + 0xb8], 2
je 0x141bd85
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x141bd85
add dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0xa8]
adc dword [esi + 0xac], 0xffffffff
cmp dword [esi + 0xcc], 1
mov edx, dword [esi + 0xac]
jne 0x141c025
jmp 0x141bd9b
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xcc], 1
mov al, byte [ebp - 5]
lea edi, [esi + 0x93]
push edx
push ecx
mov byte [esi + 0x92], al
mov eax, dword [esi + 0x9c]
push edi
push dword [esi + 0xa0]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
cmp dword [esi + 0xb8], 2
mov cl, byte [edi]
jne 0x141bded
movzx eax, cl
not eax
sar eax, 5
and al, 4
or al, 0x40
mov byte [esi + 0x68], al
movzx eax, cl
and eax, 3
sub eax, 1
jne 0x141c025
mov dl, 1
jmp 0x141c028
cmp dl, 0x8f
jne 0x141bf46
push edi
push ecx
lea eax, [ebp - 6]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
test byte [ebp - 6], 0x38
mov edx, dword [esi + 0xa8]
mov ebx, edx
mov edi, dword [esi + 0xac]
je 0x141be63
mov ecx, edx
mov dword [esi + 0xcc], 4
add ecx, 0xffffffff
mov eax, edi
mov dword [esi + 0xd0], ecx
mov ecx, edi
adc eax, 0xffffffff
mov dword [esi + 0xd4], eax
jmp 0x141be96
add ebx, 0xffffffff
mov ecx, edi
mov dword [esi + 0xa8], ebx
adc ecx, 0xffffffff
add edx, 0xfffffffe
mov dword [esi + 0xac], ecx
adc edi, 0xffffffff
mov dword [esi + 0xd0], edx
mov dword [esi + 0xd4], edi
cmp dword [esi + 0xcc], 4
jne 0x141c025
mov al, byte [ebp - 5]
push ecx
mov byte [esi + 0x92], al
lea eax, [esi + 0x93]
push ebx
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
lea edi, [esi + 0x94]
adc dword [esi + 0xac], eax
push dword [esi + 0xac]
mov eax, dword [esi + 0x9c]
push dword [esi + 0xa8]
push edi
push dword [esi + 0xa0]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
cmp dword [esi + 0xb8], 2
mov dl, byte [edi]
jne 0x141bf30
movzx ecx, byte [esi + 0x93]
mov al, dl
not ecx
shr al, 4
sar ecx, 5
and al, 8
and cl, 7
or cl, al
or cl, 0x40
mov byte [esi + 0x68], cl
movzx eax, dl
and eax, 3
sub eax, 1
jne 0x141c025
mov dl, 1
jmp 0x141c028
cmp dword [esi + 0xb8], 2
jne 0x141c001
and dl, 0xf0
cmp dl, 0x40
jne 0x141c001
push edi
push ecx
lea eax, [ebp - 7]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
nop word [eax + eax]
mov al, byte [ebp - 7]
mov ecx, dword [esi + 0xa8]
and al, 0xf0
mov edi, dword [esi + 0xac]
cmp al, 0x40
jne 0x141bff6
push edi
push ecx
lea eax, [ebp - 5]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x141bfe2
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
lea eax, [ebp - 7]
push dword [esi + 0xac]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
je 0x141bf80
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0141e6f0
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 5]
add ecx, 0xfffffffe
mov byte [esi + 0x68], al
jmp 0x141c016
add ecx, 0xffffffff
mov dword [esi + 0xa8], ecx
adc edi, 0xffffffff
add ecx, 0xffffffff
mov dword [esi + 0xac], edi
adc edi, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], edi
mov dl, byte [ebp - 9]
mov eax, dword [esi + 0xb8]
test eax, eax
jne 0x141c07c
test dl, dl
setne cl
cmp byte [ebp - 0xa], al
setne al
lea eax, [eax*2 + 2]
lea ecx, [ecx*2 + 2]
mov byte [esi + 0xd9], al
mov byte [esi + 0xda], al
xor eax, eax
mov byte [esi + 0xdc], cl
mov byte [esi + 0xdb], cl
mov byte [esi + 0xd8], cl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0141e6f0
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x141c08f
test dl, dl
sete cl
cmp byte [ebp - 0xa], 0
sete al
jmp 0x141c03d
cmp eax, 2
jne 0x141c151
mov al, byte [esi + 0x68]
test al, al
je 0x141c10d
test al, 8
je 0x141c0e1
cmp byte [ebp - 0xa], 0
mov byte [esi + 0xd8], 8
sete al
mov word [esi + 0xda], 0x404
mov byte [esi + 0xdc], 4
lea eax, [eax*4 + 4]
mov byte [esi + 0xd9], al
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0141e6f0
mov esp, ebp
pop ebp
ret
test al, al
je 0x141c10d
test dl, dl
sete cl
cmp byte [ebp - 0xa], 0
sete al
lea ecx, [ecx*2 + 2]
mov byte [esi + 0xdc], cl
lea eax, [eax*4 + 4]
mov byte [esi + 0xd9], al
jmp 0x141c13f
test dl, dl
sete cl
cmp byte [ebp - 0xa], 0
sete al
test dl, dl
lea ecx, [ecx*2 + 2]
lea eax, [eax*4 + 4]
mov byte [esi + 0xd9], al
sete al
lea eax, [eax*4 + 4]
mov byte [esi + 0xdc], al
mov byte [esi + 0xda], cl
mov byte [esi + 0xdb], cl
mov byte [esi + 0xd8], cl
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0141e6f0
mov esp, ebp
pop ebp
ret