Function at 0x180134e50
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rbx, rcx
mov byte [rbp + 0x158], 0
lea rsi, [rcx + 0x48]
mov r15d, 4
lea rdi, [rcx + 0x58]
lea r14, [rcx + 0x50]
nop dword [rax + rax]
cmp dword [rbx + 0x60], 2
mov r12, rdi
mov rax, rdi
jne 0x180134f45
mov r8, qword [rdi]
lea rdx, [rbp + 0x158]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
mov rcx, qword [rdi]
movzx eax, byte [rbp + 0x158]
and al, 0xf0
lea r8, [rcx + 1]
mov qword [rdi], r8
cmp al, 0x40
jne 0x180134f3f
nop
mov rcx, qword [r14]
lea rdx, [rbp + 0x158]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
movzx ecx, byte [rbp + 0x158]
movzx eax, cl
and al, 0xf0
cmp al, 0x40
jne 0x180134f13
mov r8, qword [rdi]
lea rdx, [rbp + 0x158]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
inc qword [rdi]
mov r8, qword [rdi]
jmp 0x180134ed0
lea eax, [rcx - 0x26]
cmp eax, 0xcd
ja case.0x180134f38.39
lea rdx, [0x180000000]
cdqe
movzx eax, byte [rdx + rax + 0x135570]
mov ecx, dword [rdx + rax*4 + 0x135568]
add rcx, rdx
jmp rcx
dec qword [rdi]
jmp case.0x180134f38.38
mov qword [rdi], rcx
mov rax, rdi
mov r8, qword [rax]
lea rdx, [rbp + 0x158]
mov rcx, qword [r14]
mov rdi, rax
call qword [rsi]
test eax, eax
jne case.0x180135094.6
mov rax, qword [r12]
movzx edx, byte [rbp + 0x158]
lea r8, [rax + 1]
mov qword [r12], r8
cmp rax, qword [rbx + 0x68]
jne 0x180135027
lea eax, [rdx + 0xe]
cmp al, 1
ja 0x180135027
mov rcx, qword [r14]
lea rdx, [rbp + 0x160]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
movzx ecx, byte [rbp + 0x160]
movzx edx, byte [rbp + 0x158]
cmp cl, 0xf0
je 0x180134fc0
movzx eax, cl
and al, 0xfe
cmp al, 0x86
je 0x180134fc0
movzx eax, cl
and al, 0xf8
cmp al, 0x90
jne 0x180134fc3
mov byte [rbx + 0x36], dl
cmp dl, 0xf3
jne 0x180134fda
lea eax, [rcx + 0x78]
cmp al, 1
jbe 0x180134fd6
lea eax, [rcx + 0x3a]
cmp al, 1
ja 0x180134fda
mov byte [rbx + 0x36], 0xf3
cmp dword [rbx + 0x60], 2
jne 0x180135027
sub cl, 0x40
cmp cl, 0xf
ja 0x180135027
mov r8, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
inc qword [r12]
lea rdx, [rbp + 0x168]
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
dec qword [r12]
movzx edx, byte [rbp + 0x158]
movzx r8d, dl
add r8d, 0xffffffda
cmp r8d, 0xcd
ja case.0x18013505a.39
lea r9, [0x180000000]
movsxd rax, r8d
movzx eax, byte [r9 + rax + 0x135654]
mov ecx, dword [r9 + rax*4 + 0x135640]
add rcx, r9
jmp rcx
mov rcx, rbx
call fcn.1801358f0
movzx eax, byte [rbp + 0x158]
mov byte [rbx + 1], al
jmp 0x180134e90
cmp r8d, 0x3f
ja case.0x180135094.6
movsxd rax, r8d
movzx eax, byte [r9 + rax + 0x135740]
mov ecx, dword [r9 + rax*4 + 0x135724]
add rcx, r9
jmp rcx
mov rcx, rbx
mov dword [rbx + 8], 1
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov dword [rbx + 8], 2
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov dword [rbx + 8], 3
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov dword [rbx + 8], r15d
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov dword [rbx + 8], 5
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov dword [rbx + 8], 6
mov byte [rbx + 2], dl
call fcn.1801358f0
jmp 0x180134e90
mov rcx, rbx
mov byte [rbx + 0x38], 1
call fcn.1801358f0
movzx eax, byte [rbp + 0x158]
mov byte [rbx + 3], al
jmp 0x180134e90
mov rcx, rbx
mov byte [rbx + 0x37], 1
call fcn.1801358f0
movzx eax, byte [rbp + 0x158]
mov byte [rbx + 4], al
jmp 0x180134e90
mov dword [rbx + 0x78], 0
cmp dl, 0x62
jne 0x18013524a
mov r8, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
inc qword [r12]
lea rdx, [rsp + 0x20]
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
movzx ecx, byte [rbp + 0x168]
test eax, eax
jne 0x1801351d0
cmp dword [rbx + 0x60], 2
je 0x1801351a7
movzx eax, cl
and al, 0xc0
cmp al, 0xc0
jne 0x1801351d0
mov eax, ecx
not eax
and eax, 0xc
cmp al, 0xc
jne 0x1801351d0
test byte [rsp + 0x20], r15b
je 0x1801351d0
mov dword [rbx + 0x78], 3
jmp 0x1801351d5
add qword [r12], 0xfffffffffffffffe
cmp dword [rbx + 0x78], 3
jne 0x180135461
movzx eax, byte [rbp + 0x158]
lea rdx, [rbx + 0x3e]
mov byte [rbx + 0x3c], al
mov byte [rbx + 0x3d], cl
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
inc qword [r12]
lea rdx, [rbx + 0x3f]
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
inc qword [r12]
cmp dword [rbx + 0x60], 2
jne 0x180135461
movzx ecx, byte [rbx + 0x3d]
movzx eax, byte [rbx + 0x3e]
not ecx
sar ecx, 5
shr al, 4
and cl, 7
and al, 8
or cl, al
or cl, 0x40
mov byte [rbx + 5], cl
jmp 0x180135461
cmp dl, 0xc4
jne 0x1801352f5
mov r8, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
cmp dword [rbx + 0x60], 2
je 0x180135284
movzx eax, byte [rbp + 0x168]
and al, 0xc0
cmp al, 0xc0
je 0x180135284
dec qword [r12]
jmp 0x18013528b
mov dword [rbx + 0x78], 2
cmp dword [rbx + 0x78], 2
jne 0x180135461
movzx eax, byte [rbp + 0x158]
lea rdx, [rbx + 0x3d]
mov byte [rbx + 0x3c], al
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne 0x1801352b4
inc qword [r12]
mov r8, qword [r12]
lea rdx, [rbx + 0x3e]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne 0x1801352c9
inc qword [r12]
cmp dword [rbx + 0x60], 2
jne 0x180135461
movzx ecx, byte [rbx + 0x3d]
movzx eax, byte [rbx + 0x3e]
not ecx
sar ecx, 5
shr al, 4
and cl, 7
and al, 8
or cl, al
or cl, 0x40
mov byte [rbx + 5], cl
jmp 0x180135461
cmp dl, 0xc5
jne 0x18013537f
mov r8, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
cmp dword [rbx + 0x60], 2
je 0x18013532f
movzx eax, byte [rbp + 0x168]
and al, 0xc0
cmp al, 0xc0
je 0x18013532f
dec qword [r12]
jmp 0x180135336
mov dword [rbx + 0x78], 1
cmp dword [rbx + 0x78], 1
jne 0x180135461
movzx eax, byte [rbp + 0x158]
lea rdx, [rbx + 0x3d]
mov byte [rbx + 0x3c], al
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne 0x18013535f
inc qword [r12]
cmp dword [rbx + 0x60], 2
jne 0x180135376
movzx eax, byte [rbx + 0x3d]
not eax
sar eax, 5
and al, r15b
or al, 0x40
mov byte [rbx + 5], al
movzx ecx, byte [rbx + 0x3d]
jmp 0x180135418
cmp dl, 0x8f
jne 0x180135425
mov r8, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne case.0x180135094.6
test byte [rbp + 0x168], 0x38
je 0x1801353af
mov dword [rbx + 0x78], r15d
jmp 0x1801353b3
dec qword [r12]
cmp dword [rbx + 0x78], r15d
jne 0x180135461
movzx eax, byte [rbp + 0x158]
lea rdx, [rbx + 0x3d]
mov byte [rbx + 0x3c], al
mov r8, qword [r12]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne 0x1801353dc
inc qword [r12]
mov r8, qword [r12]
lea rdx, [rbx + 0x3e]
mov rcx, qword [r14]
call qword [rsi]
test eax, eax
jne 0x1801353f1
inc qword [r12]
cmp dword [rbx + 0x60], 2
jne 0x180135414
movzx ecx, byte [rbx + 0x3d]
movzx eax, byte [rbx + 0x3e]
not ecx
sar ecx, 5
shr al, 4
and cl, 7
and al, 8
or cl, al
or cl, 0x40
mov byte [rbx + 5], cl
movzx ecx, byte [rbx + 0x3e]
and ecx, 3
cmp ecx, 1
jne 0x180135461
mov byte [rbx + 0x38], cl
jmp 0x180135461
cmp dword [rbx + 0x60], 2
mov rax, qword [r12]
jne 0x18013545a
sub dl, 0x40
cmp dl, 0xf
ja 0x18013545a
mov rcx, qword [r14]
lea rdx, [rbp + 0x160]
mov r8, rax
call qword [rsi]
test eax, eax
jne case.0x180135094.6
movzx eax, byte [rbp + 0x158]
mov byte [rbx + 5], al
jmp 0x180135461
dec rax
mov qword [r12], rax
mov eax, dword [rbx + 0x60]
test eax, eax
jne 0x180135498
cmp byte [rbx + 0x38], 0
mov ecx, 2
mov eax, ecx
cmovne eax, r15d
cmp byte [rbx + 0x37], 0
mov byte [rbx + 0x7c], al
cmovne ecx, r15d
mov byte [rbx + 0x7f], al
mov byte [rbx + 0x80], al
xor eax, eax
mov byte [rbx + 0x7d], cl
mov byte [rbx + 0x7e], cl
jmp 0x18013554b
cmp eax, 1
jne 0x1801354cf
cmp byte [rbx + 0x38], 0
mov eax, r15d
mov ecx, 2
cmovne eax, ecx
cmp byte [rbx + 0x37], 0
mov byte [rbx + 0x7c], al
cmovne r15d, ecx
mov byte [rbx + 0x7f], al
mov byte [rbx + 0x80], al
xor eax, eax
mov byte [rbx + 0x7d], r15b
mov byte [rbx + 0x7e], r15b
jmp 0x18013554b
cmp eax, 2
jne 0x180135542
movzx eax, byte [rbx + 5]
test al, al
je 0x180135507
test al, 8
je 0x180135507
cmp byte [rbx + 0x37], 0
mov r8d, 8
mov byte [rbx + 0x7c], 8
cmovne r8d, r15d
mov word [rbx + 0x7e], 0x404
mov byte [rbx + 0x7d], r8b
xor eax, eax
mov byte [rbx + 0x80], r15b
jmp 0x18013554b
movzx edx, byte [rbx + 0x38]
mov eax, 2
test dl, dl
mov r8d, 8
mov ecx, r15d
cmovne ecx, eax
cmp byte [rbx + 0x37], 0
mov eax, r8d
mov byte [rbx + 0x7c], cl
cmovne eax, r15d
mov byte [rbx + 0x7f], cl
test dl, dl
mov byte [rbx + 0x7d], al
mov byte [rbx + 0x7e], cl
cmovne r8d, r15d
mov byte [rbx + 0x80], r8b
xor eax, eax
jmp 0x18013554b
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x250]
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret