Function at 0x14020ad40
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov esi, ecx
cmp ecx, 0xd7ff
ja 0x14020ad6a
mov eax, esi
shr eax, 5
jmp 0x14020adc0
cmp esi, 0xffff
ja 0x14020ad88
mov ecx, esi
shr ecx, 5
lea eax, [rcx + 0x140]
cmp esi, 0xdc00
cmovae eax, ecx
jmp 0x14020adc0
mov eax, 0xd58
cmp esi, 0x10ffff
ja 0x14020add5
mov eax, 0x3040
cmp esi, 0xe07ff
ja 0x14020add5
mov eax, esi
shr eax, 0xb
lea rcx, [0x140352730]
movzx ecx, word [rcx + rax*2 + 0x1040]
mov eax, esi
shr eax, 5
and eax, 0x3f
add eax, ecx
mov eax, eax
lea rcx, [0x140352730]
movzx eax, word [rcx + rax*2]
mov ecx, esi
and ecx, 0x1f
lea eax, [rcx + rax*4]
mov eax, eax
lea r12, [0x140352730]
movzx r13d, word [r12 + rax*2]
test r13b, 8
jne 0x14020ae19
mov eax, esi
test r13b, 2
je 0x14020adfa
movsx eax, r13w
sar eax, 7
add eax, esi
xor ebp, ebp
cmp eax, esi
sete bpl
neg ebp
xor ebp, eax
mov eax, ebp
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, r13
shr rax, 4
lea rbp, [0x140351730]
lea r8, [rax*2 + 2]
add r8, rbp
movzx r15d, word [rbp + rax*2]
test r15d, 0x4000
jne 0x14020ae84
test r15b, r15b
jns 0x14020b401
mov eax, r15d
and eax, 0x7f
test r15d, 0x100
lea rcx, [0x140350fc0]
movzx eax, byte [rax + rcx]
lea rcx, [r8 + rax*2]
lea rax, [r8 + rax*4 + 2]
cmove rax, rcx
movzx ebp, word [rax]
and ebp, 0xf
je 0x14020b401
add rax, 2
mov qword [rdi], rax
jmp 0x14020ae06
mov r9d, dword [rsp + 0x90]
cmp r9d, 3
jne 0x14020b0ab
cmp esi, 0x127
jg 0x14020aec3
lea eax, [rsi - 0x49]
cmp eax, 2
jb 0x14020aee7
cmp esi, 0xcc
je 0x14020b10a
cmp esi, 0xcd
je 0x14020b150
jmp 0x14020b401
cmp esi, 0x12f
jg 0x14020b3d1
cmp esi, 0x128
je 0x14020b09f
cmp esi, 0x12e
jne 0x14020b401
test r14, r14
je 0x14020b083
mov rcx, rbx
mov dl, 1
mov qword [rsp + 0x20], r8
call r14
mov r9d, dword [rsp + 0x90]
mov r8, qword [rsp + 0x20]
test eax, eax
js 0x14020b083
cmp eax, 0xd800
jae 0x14020af20
mov ecx, eax
shr ecx, 5
jmp 0x14020af6c
cmp eax, 0x10000
jae 0x14020af3c
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x14020af6c
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x14020af7a
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x14020af7a
mov ecx, eax
shr ecx, 0xb
movzx edx, word [r12 + rcx*2 + 0x1040]
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
add ecx, edx
mov ecx, ecx
movzx ecx, word [r12 + rcx*2]
and eax, 0x1f
lea rcx, [rax + rcx*4]
movzx eax, word [r12 + rcx*2]
test al, 8
je 0x14020af8f
shr rax, 4
movzx eax, word [rbp + rax*2]
shr eax, 7
and eax, 0x60
cmp eax, 0x40
je 0x14020b052
cmp eax, 0x60
je 0x14020afb1
jmp 0x14020b083
and eax, 0x60
cmp eax, 0x60
jne 0x14020b04d
mov rcx, rbx
xor edx, edx
call r14
mov r9d, dword [rsp + 0x90]
mov r8, qword [rsp + 0x20]
test eax, eax
js 0x14020b083
cmp eax, 0xd7ff
ja 0x14020afdc
mov ecx, eax
shr ecx, 5
jmp 0x14020aff6
cmp eax, 0xffff
ja 0x14020b01b
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
mov ecx, ecx
movzx ecx, word [r12 + rcx*2]
and eax, 0x1f
lea rcx, [rax + rcx*4]
movzx eax, word [r12 + rcx*2]
test al, 8
je 0x14020afa5
shr rax, 4
movzx eax, word [rbp + rax*2]
shr eax, 7
jmp 0x14020afa5
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x14020b004
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x14020b004
mov ecx, eax
shr ecx, 0xb
movzx edx, word [r12 + rcx*2 + 0x1040]
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
add ecx, edx
jmp 0x14020aff6
cmp eax, 0x40
jne 0x14020b083
xor ebp, ebp
cmp esi, 0xcc
jg 0x14020b124
cmp esi, 0x49
je 0x14020b342
cmp esi, 0x4a
je 0x14020b339
cmp esi, 0xcc
je 0x14020b10a
jmp 0x14020ae06
cmp esi, 0xcc
je 0x14020b10a
cmp esi, 0xcd
je 0x14020b150
cmp esi, 0x128
jne 0x14020b0ab
lea rax, [0x1403516e6]
jmp 0x14020b157
cmp esi, 0x130
jne 0x14020b0c2
mov ebp, 0x69
cmp r9d, 2
je 0x14020ae06
cmp esi, 0x307
jne 0x14020b2a6
cmp r9d, 2
jne 0x14020b2a6
test r14, r14
je 0x14020b1df
mov rcx, rbx
mov dl, 0xff
mov rbp, r8
call r14
mov r8, rbp
test eax, eax
js 0x14020b1df
cmp eax, 0x49
jne 0x14020b113
mov qword [rdi], 0
xor ebp, ebp
jmp 0x14020ae06
lea rax, [0x1403516da]
jmp 0x14020b157
cmp eax, 0xd800
jae 0x14020b164
mov ecx, eax
shr ecx, 5
jmp 0x14020b1b0
cmp esi, 0xcd
je 0x14020b150
cmp esi, 0x128
je 0x14020b09f
cmp esi, 0x12e
jne 0x14020ae06
lea rax, [0x1403516d4]
jmp 0x14020b349
lea rax, [0x1403516e0]
mov qword [rdi], rax
mov ebp, 3
jmp 0x14020ae06
cmp eax, 0x10000
jae 0x14020b180
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x14020b1b0
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x14020b1be
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x14020b1be
mov ecx, eax
shr ecx, 0xb
movzx edx, word [r12 + rcx*2 + 0x1040]
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
add ecx, edx
mov ecx, ecx
movzx ecx, word [r12 + rcx*2]
and eax, 0x1f
lea rcx, [rax + rcx*4]
movzx eax, word [r12 + rcx*2]
test al, 8
je 0x14020b1d9
shr rax, 4
lea rcx, [0x140351730]
movzx eax, word [rcx + rax*2]
shr eax, 7
not eax
test al, 0x60
je 0x14020b1fa
cmp esi, 0x130
je 0x14020b342
jmp 0x14020b401
not eax
test al, 0x60
jne 0x14020b2a6
mov rcx, rbx
xor edx, edx
call r14
mov r9d, dword [rsp + 0x90]
mov r8, rbp
test eax, eax
js 0x14020b2a6
cmp eax, 0x49
je 0x14020b0fc
cmp eax, 0xd7ff
ja 0x14020b22c
mov ecx, eax
shr ecx, 5
jmp 0x14020b246
cmp eax, 0xffff
ja 0x14020b274
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
mov ecx, ecx
movzx ecx, word [r12 + rcx*2]
and eax, 0x1f
lea rcx, [rax + rcx*4]
movzx eax, word [r12 + rcx*2]
test al, 8
je 0x14020b1f0
shr rax, 4
lea rcx, [0x140351730]
movzx eax, word [rcx + rax*2]
shr eax, 7
jmp 0x14020b1f0
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x14020b254
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x14020b254
mov ecx, eax
shr ecx, 0xb
movzx edx, word [r12 + rcx*2 + 0x1040]
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
add ecx, edx
jmp 0x14020b246
cmp esi, 0x49
jne 0x14020b3d1
cmp r9d, 2
jne 0x14020b3d1
mov ebp, 0x131
test r14, r14
je 0x14020ae06
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov dl, 1
call r14
test eax, eax
js 0x14020ae06
cmp eax, 0x307
jne 0x14020b2f5
cmp esi, 0x130
mov r8, qword [rsp + 0x20]
je 0x14020b342
jmp 0x14020b401
cmp eax, 0xd800
jb 0x14020b356
cmp eax, 0x10000
jb 0x14020b3bc
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x14020b369
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x14020b369
mov ecx, eax
shr ecx, 0xb
movzx edx, word [r12 + rcx*2 + 0x1040]
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
add ecx, edx
jmp 0x14020b35b
lea rax, [0x1403516d0]
jmp 0x14020b349
lea rax, [0x1403510c0]
mov qword [rdi], rax
mov ebp, 2
jmp 0x14020ae06
mov ecx, eax
shr ecx, 5
mov ecx, ecx
movzx ecx, word [r12 + rcx*2]
and eax, 0x1f
lea rcx, [rax + rcx*4]
movzx eax, word [r12 + rcx*2]
test al, 8
je 0x14020b384
shr rax, 4
lea rcx, [0x140351730]
movzx eax, word [rcx + rax*2]
shr eax, 7
not eax
test al, 0x60
jne 0x14020ae06
mov rcx, rbx
xor edx, edx
call r14
test eax, eax
js 0x14020ae06
cmp eax, 0x307
mov r8, qword [rsp + 0x20]
je 0x14020b3d1
cmp eax, 0xd7ff
jbe 0x14020b356
cmp eax, 0xffff
ja 0x14020b307
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x14020b35b
cmp esi, 0x130
je 0x14020b342
cmp esi, 0x3a3
jne 0x14020b401
mov rcx, r14
mov rdx, rbx
mov rdi, r8
mov r8b, 1
call fcn.14020b4b0
mov r8, rdi
test al, al
je 0x14020b484
test r15b, 0x10
je 0x14020b42e
and r13d, 2
je 0x14020b42e
mov eax, r15d
and eax, 0xf
lea rcx, [0x140350fc0]
movzx eax, byte [rax + rcx]
test r15d, 0x100
jne 0x14020b44c
movzx eax, word [r8 + rax*2]
jmp 0x14020b45c
mov eax, esi
test r15b, 1
je 0x14020adfa
test r15d, 0x100
jne 0x14020b471
movzx eax, word [r8]
jmp 0x14020adfa
movzx ecx, word [r8 + rax*4]
shl ecx, 0x10
movzx eax, word [r8 + rax*4 + 2]
or eax, ecx
mov ebp, eax
neg ebp
test r15d, 0x400
cmove ebp, eax
add ebp, esi
jmp 0x14020ae06
movzx ecx, word [r8]
shl ecx, 0x10
movzx eax, word [r8 + 2]
or eax, ecx
jmp 0x14020adfa
mov rcx, r14
mov rdx, rbx
mov r8b, 0xff
call fcn.14020b4b0
mov r8, rdi
mov ebp, 0x3c2
test al, al
jne 0x14020ae06
jmp 0x14020b401