Function at 0x14253bb
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.0x1425392.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 0x1425b42
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 0x14253a9
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 0x1425b42
mov cl, byte [ebp - 1]
mov al, cl
and al, 0xf0
cmp al, 0x40
jne 0x142537e
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 0x1425b42
add dword [esi + 0xa8], 1
mov ecx, dword [esi + 0xa8]
adc dword [esi + 0xac], eax
mov edx, dword [esi + 0xac]
jmp 0x1425320
movzx eax, cl
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x1425392.39
movzx eax, byte [eax + 0x1425ce0]
jmp dword [eax*4 + 0x1425cd8]
add dword [esi + 0xa8], 0xffffffff
adc dword [esi + 0xac], 0xffffffff
jmp case.0x1425392.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 0x1425b42
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 0x142551e
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0xc4]
jne 0x142551e
mov dl, byte [ebp - 1]
cmp dl, 0xf2
je 0x1425440
cmp dl, 0xf3
jne 0x1425521
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 0x1425b42
mov cl, byte [ebp - 4]
mov dl, byte [ebp - 1]
cmp cl, 0xf0
je 0x142547a
mov al, cl
and al, 0xfe
cmp al, 0x86
je 0x142547a
mov al, cl
and al, 0xf8
cmp al, 0x90
jne 0x1425480
mov byte [esi + 0x91], dl
cmp dl, 0xf3
jne 0x14254a0
cmp cl, 0x88
je 0x1425499
cmp cl, 0x89
je 0x1425499
cmp cl, 0xc6
je 0x1425499
cmp cl, 0xc7
jne 0x14254a0
mov byte [esi + 0x91], 0xf3
cmp dword [esi + 0xb8], 2
jne 0x1425521
and cl, 0xf0
cmp cl, 0x40
jne 0x1425521
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 0x1425b42
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 0x1425b42
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.0x1425539.39
movzx eax, byte [eax + 0x1425dd8]
jmp dword [eax*4 + 0x1425db0]
push dword [ebp - 0xc]
mov ecx, esi
mov word [esi + 0xe], 0
push dword [ebp - 0x10]
mov byte [esi + 0xd], 0
call fcn.01424e40
add esp, 8
mov byte [esi + 1], dl
jmp 0x14252b2
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.01424e40
add esp, 8
mov byte [esi + 2], dl
jmp 0x14252b2
mov dword [esi + 0x6c], 2
jmp 0x1425569
mov dword [esi + 0x6c], 3
jmp 0x1425569
mov dword [esi + 0x6c], 4
jmp 0x1425569
mov dword [esi + 0x6c], 5
jmp 0x1425569
mov dword [esi + 0x6c], 6
jmp 0x1425569
push dword [ebp - 0xc]
mov ecx, esi
mov byte [ebp - 2], 1
push dword [ebp - 0x10]
call fcn.01424e40
add esp, 8
mov byte [esi + 3], dl
jmp 0x14252b2
push dword [ebp - 0xc]
mov ecx, esi
mov byte [ebp - 3], 1
push dword [ebp - 0x10]
call fcn.01424e40
add esp, 8
mov byte [esi + 4], dl
jmp 0x14252b2
mov dword [esi + 0xcc], 0
lea edi, [esi + 0xcc]
cmp dl, 0x62
jne 0x14257b8
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 0x1425b42
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 0x142566c
mov al, bl
and al, 0xc0
cmp al, 0xc0
jne 0x14257a1
movzx eax, bl
not eax
and eax, 0xc
cmp al, 0xc
jne 0x14257a1
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 0x1425b42
test byte [ebp - 6], 4
je 0x14256ad
mov dword [esi + 0xcc], 3
jmp 0x14256dd
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 0x1425bb6
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 0x1425b42
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 0x1425b42
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 0x1425a85
movzx ecx, byte [esi + 0x93]
jmp 0x1425a6e
add ecx, 0xfffffffe
mov dword [esi + 0xa8], ecx
adc edx, 0xffffffff
mov dword [esi + 0xac], edx
jmp 0x1425bb6
cmp dl, 0xc4
jne 0x1425863
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 0x1425b42
cmp dword [esi + 0xb8], 2
je 0x142581c
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x142581c
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 0x142582e
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 0x1425bb6
mov al, byte [ebp - 1]
mov byte [esi + 0x92], al
push dword [esi + 0xac]
push dword [esi + 0xa8]
jmp 0x14259e4
cmp dl, 0xc5
jne 0x1425958
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 0x1425b42
cmp dword [esi + 0xb8], 2
mov eax, edi
je 0x14258d5
mov al, byte [ebp - 6]
and al, 0xc0
cmp al, 0xc0
je 0x14258cf
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 0x14258db
lea eax, [esi + 0xcc]
mov dword [edi], 1
cmp dword [eax], 1
jne 0x1425bb6
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 0x1425b42
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 0x1425a85
movzx eax, byte [edi]
not eax
sar eax, 5
and al, 4
or al, 0x40
mov byte [esi + 0x68], al
jmp 0x1425a85
cmp dl, 0x8f
jne 0x1425a9b
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 0x1425b42
test byte [ebp - 6], 0x38
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
je 0x14259a4
mov dword [edi], 4
jmp 0x14259b6
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 0x1425bb6
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 0x1425b42
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 0x1425b42
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 0x1425a85
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 0x1425bb6
mov dl, 1
jmp 0x1425bb9
cmp dword [esi + 0xb8], 2
mov ecx, dword [esi + 0xa8]
jne 0x1425b8c
mov edi, dword [esi + 0xac]
and dl, 0xf0
cmp dl, 0x40
jne 0x1425b66
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 0x1425b42
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 0x1425b4c
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 0x1425b42
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 0x1425ae0
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 0x1425bb6
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 0x1425bb6
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 0x1425c03
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 0x1425c16
test dl, dl
sete cl
cmp byte [ebp - 3], 0
sete al
jmp 0x1425bce
cmp eax, 2
jne 0x1425cce
mov al, byte [esi + 0x68]
test al, al
je 0x1425c8a
test al, 8
je 0x1425c5e
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 0x1425c8a
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 0x1425cbc
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