Function at 0x142537b
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
mov byte [ebp - 1], 0
xor al, al
mov byte [ebp - 3], 0
mov byte [ebp - 2], al
push edi
mov ecx, dword [esi + 0xa8]
lea edi, [esi + 0xa0]
mov eax, dword [esi + 0xac]
lea ebx, [esi + 0x9c]
add ecx, 0xffffffff
mov dword [esi + 0xd0], ecx
adc eax, 0xffffffff
mov dword [esi + 0xd4], eax
cmp dword [esi + 0xb8], 2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], edi
jne case.0x1425352.38
push dword [esi + 0xac]
lea eax, [ebp - 1]
push dword [esi + 0xa8]
push eax
push dword [edi]
mov eax, dword [ebx]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov eax, dword [esi + 0xa8]
mov ecx, eax
mov edx, dword [esi + 0xac]
add ecx, 1
mov dword [ebp - 0x10], eax
mov al, byte [ebp - 1]
mov dword [ebp - 0xc], edx
adc edx, 0
and al, 0xf0
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edx
cmp al, 0x40
jne 0x1425369
nop
push edx
push ecx
lea eax, [ebp - 1]
push eax
push dword [edi]
mov eax, dword [ebx]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov cl, byte [ebp - 1]
mov al, cl
and al, 0xf0
cmp al, 0x40
jne 0x142533e
push dword [esi + 0xac]
lea eax, [ebp - 1]
push dword [esi + 0xa8]
push eax
push dword [edi]
mov eax, dword [ebx]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
add dword [esi + 0xa8], 1
mov ecx, dword [esi + 0xa8]
adc dword [esi + 0xac], eax
mov edx, dword [esi + 0xac]
jmp 0x14252e0
movzx eax, cl
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x1425352.39
movzx eax, byte [eax + 0x1425ca0]
jmp dword [eax*4 + 0x1425c98]
add dword [esi + 0xa8], 0xffffffff
adc dword [esi + 0xac], 0xffffffff
jmp case.0x1425352.38
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0xac], eax
mov ecx, dword [esi + 0xac]
mov eax, dword [esi + 0xa8]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ebx, edx
push ecx
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 1]
push eax
mov eax, edi
mov dword [ebp - 0xc], ecx
push dword [eax]
mov eax, dword [edx]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov eax, dword [esi + 0xa8]
mov edx, eax
mov ecx, dword [esi + 0xac]
add edx, 1
mov dword [ebp - 0x18], ecx
adc ecx, 0
mov dword [ebp - 0x14], edx
mov dword [esi + 0xa8], edx
mov dword [esi + 0xac], ecx
cmp eax, dword [esi + 0xc0]
jne 0x14254de
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0xc4]
jne 0x14254de
mov dl, byte [ebp - 1]
cmp dl, 0xf2
je 0x1425400
cmp dl, 0xf3
jne 0x14254e1
push ecx
push dword [ebp - 0x14]
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov cl, byte [ebp - 4]
mov dl, byte [ebp - 1]
cmp cl, 0xf0
je 0x142543a
mov al, cl
and al, 0xfe
cmp al, 0x86
je 0x142543a
mov al, cl
and al, 0xf8
cmp al, 0x90
jne 0x1425440
mov byte [esi + 0x91], dl
cmp dl, 0xf3
jne 0x1425460
cmp cl, 0x88
je 0x1425459
cmp cl, 0x89
je 0x1425459
cmp cl, 0xc6
je 0x1425459
cmp cl, 0xc7
jne 0x1425460
mov byte [esi + 0x91], 0xf3
cmp dword [esi + 0xb8], 2
jne 0x14254e1
and cl, 0xf0
cmp cl, 0x40
jne 0x14254e1
push dword [esi + 0xac]
lea eax, [ebp - 4]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
lea eax, [ebp - 4]
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 0x1425b02
add dword [esi + 0xa8], 0xffffffff
adc dword [esi + 0xac], 0xffffffff
mov dl, byte [ebp - 1]
movzx eax, dl
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x14254f9.39
movzx eax, byte [eax + 0x1425d98]
jmp dword [eax*4 + 0x1425d70]
push dword [ebp - 0xc]
mov ecx, esi
mov word [esi + 0xe], 0
push dword [ebp - 0x10]
mov byte [esi + 0xd], 0
call fcn.01424e00
add esp, 8
mov byte [esi + 1], dl
jmp 0x1425272
mov dword [esi + 0x6c], 1
push dword [ebp - 0xc]
mov ecx, esi
mov dword [esi + 6], 0
push dword [ebp - 0x10]
mov byte [esi + 5], 0
mov byte [esi + 0xa], 0
call fcn.01424e00
add esp, 8
mov byte [esi + 2], dl
jmp 0x1425272
mov dword [esi + 0x6c], 2
jmp 0x1425529
mov dword [esi + 0x6c], 3
jmp 0x1425529
mov dword [esi + 0x6c], 4
jmp 0x1425529
mov dword [esi + 0x6c], 5
jmp 0x1425529
mov dword [esi + 0x6c], 6
jmp 0x1425529
push dword [ebp - 0xc]
mov ecx, esi
mov byte [ebp - 2], 1
push dword [ebp - 0x10]
call fcn.01424e00
add esp, 8
mov byte [esi + 3], dl
jmp 0x1425272
push dword [ebp - 0xc]
mov ecx, esi
mov byte [ebp - 3], 1
push dword [ebp - 0x10]
call fcn.01424e00
add esp, 8
mov byte [esi + 4], dl
jmp 0x1425272
mov dword [esi + 0xcc], 0
lea edi, [esi + 0xcc]
cmp dl, 0x62
jne 0x1425778
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 0x1425b02
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
add ecx, 1
mov bl, byte [ebp - 5]
adc edx, eax
mov dword [esi + 0xa8], ecx
cmp dword [esi + 0xb8], 2
mov dword [esi + 0xac], edx
je 0x142562c
mov al, bl
and al, 0xc0
cmp al, 0xc0
jne 0x1425761
movzx eax, bl
not eax
and eax, 0xc
cmp al, 0xc
jne 0x1425761
push edx
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 0x1425b02
test byte [ebp - 6], 4
je 0x142566d
mov dword [esi + 0xcc], 3
jmp 0x142569d
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 0xfffffffe
mov dword [esi + 0xa8], ecx
adc eax, 0xffffffff
add ecx, 0xfffffffe
mov dword [esi + 0xac], eax
adc eax, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
cmp dword [esi + 0xcc], 3
jne 0x1425b76
movzx eax, byte [ebp - 1]
lea edi, [esi + 0x94]
mov byte [esi + 0x92], al
movzx eax, byte [ebp - 5]
mov byte [esi + 0x93], al
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 0x1425b02
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 1
mov dword [esi + 0xa8], ecx
adc eax, 0
push eax
mov dword [esi + 0xac], eax
lea eax, [esi + 0x95]
push ecx
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 1
mov dword [esi + 0xa8], ecx
adc eax, 0
cmp dword [esi + 0xb8], 2
mov dword [esi + 0xac], eax
jne 0x1425a45
movzx ecx, byte [esi + 0x93]
jmp 0x1425a2e
add ecx, 0xfffffffe
mov dword [esi + 0xa8], ecx
adc edx, 0xffffffff
mov dword [esi + 0xac], edx
jmp 0x1425b76
cmp dl, 0xc4
jne 0x1425823
push dword [esi + 0xac]
lea eax, [ebp - 6]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
cmp dword [esi + 0xb8], 2
je 0x14257dc
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x14257dc
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
add eax, 0xffffffff
mov dword [esi + 0xa8], eax
adc ecx, 0xffffffff
mov dword [esi + 0xac], ecx
jmp 0x14257ee
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
mov dword [edi], 2
add eax, 0xffffffff
mov dword [esi + 0xd0], eax
adc ecx, 0xffffffff
mov dword [esi + 0xd4], ecx
cmp dword [edi], 2
jne 0x1425b76
mov al, byte [ebp - 1]
mov byte [esi + 0x92], al
push dword [esi + 0xac]
push dword [esi + 0xa8]
jmp 0x14259a4
cmp dl, 0xc5
jne 0x1425918
push dword [esi + 0xac]
lea eax, [ebp - 6]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
cmp dword [esi + 0xb8], 2
mov eax, edi
je 0x1425895
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x142588f
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 0xffffffff
mov dword [esi + 0xa8], ecx
adc eax, 0xffffffff
mov dword [esi + 0xac], eax
lea eax, [esi + 0xcc]
jmp 0x142589b
lea eax, [esi + 0xcc]
mov dword [edi], 1
cmp dword [eax], 1
jne 0x1425b76
mov al, byte [ebp - 1]
lea edi, [esi + 0x93]
mov byte [esi + 0x92], al
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 0x1425b02
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 1
mov dword [esi + 0xa8], ecx
adc eax, 0
cmp dword [esi + 0xb8], 2
mov dword [esi + 0xac], eax
jne 0x1425a45
movzx eax, byte [edi]
not eax
sar eax, 5
and al, 4
or al, 0x40
mov byte [esi + 0x68], al
jmp 0x1425a45
cmp dl, 0x8f
jne 0x1425a5b
push dword [esi + 0xac]
lea eax, [ebp - 6]
push dword [esi + 0xa8]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
test byte [ebp - 6], 0x38
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
je 0x1425964
mov dword [edi], 4
jmp 0x1425976
add eax, 0xffffffff
mov dword [esi + 0xa8], eax
adc ecx, 0xffffffff
mov dword [esi + 0xac], ecx
mov edx, eax
mov edi, ecx
add eax, 0xffffffff
mov dword [esi + 0xd0], eax
adc ecx, 0xffffffff
mov dword [esi + 0xd4], ecx
cmp dword [esi + 0xcc], 4
jne 0x1425b76
mov al, byte [ebp - 1]
push edi
mov byte [esi + 0x92], al
push edx
mov eax, dword [esi + 0x9c]
lea ebx, [esi + 0x93]
push ebx
push dword [esi + 0xa0]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov ecx, dword [esi + 0xa8]
lea edi, [esi + 0x94]
mov eax, dword [esi + 0xac]
add ecx, 1
mov dword [esi + 0xa8], ecx
adc eax, 0
push eax
push ecx
push edi
push dword [esi + 0xa0]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
add ecx, 1
mov dword [esi + 0xa8], ecx
adc eax, 0
cmp dword [esi + 0xb8], 2
mov dword [esi + 0xac], eax
jne 0x1425a45
movzx ecx, byte [ebx]
mov al, byte [edi]
not ecx
sar ecx, 5
shr al, 4
and cl, 7
and al, 8
or cl, al
or cl, 0x40
mov byte [esi + 0x68], cl
movzx eax, byte [edi]
and eax, 3
sub eax, 1
jne 0x1425b76
mov dl, 1
jmp 0x1425b79
cmp dword [esi + 0xb8], 2
mov ecx, dword [esi + 0xa8]
jne 0x1425b4c
mov edi, dword [esi + 0xac]
and dl, 0xf0
cmp dl, 0x40
jne 0x1425b26
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 0x1425b02
nop dword [eax + eax]
mov al, byte [ebp - 5]
mov ecx, dword [esi + 0xa8]
and al, 0xf0
mov edi, dword [esi + 0xac]
cmp al, 0x40
jne 0x1425b0c
push edi
push ecx
lea eax, [ebp - 1]
push eax
push dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
call eax
add esp, 0x10
test eax, eax
jne 0x1425b02
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], eax
lea eax, [ebp - 5]
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 0x1425aa0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 1]
add ecx, 0xfffffffe
mov byte [esi + 0x68], al
adc edi, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], edi
jmp 0x1425b76
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
jmp 0x1425b76
mov eax, dword [esi + 0xac]
add ecx, 0xffffffff
mov dword [esi + 0xa8], ecx
adc eax, 0xffffffff
add ecx, 0xffffffff
mov dword [esi + 0xac], eax
adc eax, 0xffffffff
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
mov dl, byte [ebp - 2]
mov eax, dword [esi + 0xb8]
test eax, eax
jne 0x1425bc3
test dl, dl
setne cl
cmp byte [ebp - 3], 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 esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x1425bd6
test dl, dl
sete cl
cmp byte [ebp - 3], 0
sete al
jmp 0x1425b8e
cmp eax, 2
jne 0x1425c8e
mov al, byte [esi + 0x68]
test al, al
je 0x1425c4a
test al, 8
je 0x1425c1e
cmp byte [ebp - 3], 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 esp, ebp
pop ebp
ret
test al, al
je 0x1425c4a
test dl, dl
sete cl
cmp byte [ebp - 3], 0
sete al
lea ecx, [ecx*2 + 2]
mov byte [esi + 0xdc], cl
lea eax, [eax*4 + 4]
mov byte [esi + 0xd9], al
jmp 0x1425c7c
test dl, dl
sete cl
cmp byte [ebp - 3], 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
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret