Function at 0x1405019c0
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 0x1405019ea
mov eax, esi
shr eax, 5
jmp 0x140501a40
cmp esi, 0xffff
ja 0x140501a08
mov ecx, esi
shr ecx, 5
lea eax, [rcx + 0x140]
cmp esi, 0xdc00
cmovae eax, ecx
jmp 0x140501a40
mov eax, 0xd58
cmp esi, 0x10ffff
ja 0x140501a55
mov eax, 0x3040
cmp esi, 0xe07ff
ja 0x140501a55
mov eax, esi
shr eax, 0xb
lea rcx, [0x140654a60]
movzx ecx, word [rcx + rax*2 + 0x1040]
mov eax, esi
shr eax, 5
and eax, 0x3f
add eax, ecx
mov eax, eax
lea rcx, [0x140654a60]
movzx eax, word [rcx + rax*2]
mov ecx, esi
and ecx, 0x1f
lea eax, [rcx + rax*4]
mov eax, eax
lea r12, [0x140654a60]
movzx r13d, word [r12 + rax*2]
test r13b, 8
jne 0x140501a99
mov eax, esi
test r13b, 2
je 0x140501a7a
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, [0x140653a60]
lea r8, [rax*2 + 2]
add r8, rbp
movzx r15d, word [rbp + rax*2]
test r15d, 0x4000
jne 0x140501b04
test r15b, r15b
jns 0x140502081
mov eax, r15d
and eax, 0x7f
test r15d, 0x100
lea rcx, [0x1406532f0]
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 0x140502081
add rax, 2
mov qword [rdi], rax
jmp 0x140501a86
mov r9d, dword [rsp + 0x90]
cmp r9d, 3
jne 0x140501d2b
cmp esi, 0x127
jg 0x140501b43
lea eax, [rsi - 0x49]
cmp eax, 2
jb 0x140501b67
cmp esi, 0xcc
je 0x140501d8a
cmp esi, 0xcd
je 0x140501dd0
jmp 0x140502081
cmp esi, 0x12f
jg 0x140502051
cmp esi, 0x128
je 0x140501d1f
cmp esi, 0x12e
jne 0x140502081
test r14, r14
je 0x140501d03
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 0x140501d03
cmp eax, 0xd800
jae 0x140501ba0
mov ecx, eax
shr ecx, 5
jmp 0x140501bec
cmp eax, 0x10000
jae 0x140501bbc
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x140501bec
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x140501bfa
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x140501bfa
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 0x140501c0f
shr rax, 4
movzx eax, word [rbp + rax*2]
shr eax, 7
and eax, 0x60
cmp eax, 0x40
je 0x140501cd2
cmp eax, 0x60
je 0x140501c31
jmp 0x140501d03
and eax, 0x60
cmp eax, 0x60
jne 0x140501ccd
mov rcx, rbx
xor edx, edx
call r14
mov r9d, dword [rsp + 0x90]
mov r8, qword [rsp + 0x20]
test eax, eax
js 0x140501d03
cmp eax, 0xd7ff
ja 0x140501c5c
mov ecx, eax
shr ecx, 5
jmp 0x140501c76
cmp eax, 0xffff
ja 0x140501c9b
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 0x140501c25
shr rax, 4
movzx eax, word [rbp + rax*2]
shr eax, 7
jmp 0x140501c25
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x140501c84
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x140501c84
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 0x140501c76
cmp eax, 0x40
jne 0x140501d03
xor ebp, ebp
cmp esi, 0xcc
jg 0x140501da4
cmp esi, 0x49
je 0x140501fc2
cmp esi, 0x4a
je 0x140501fb9
cmp esi, 0xcc
je 0x140501d8a
jmp 0x140501a86
cmp esi, 0xcc
je 0x140501d8a
cmp esi, 0xcd
je 0x140501dd0
cmp esi, 0x128
jne 0x140501d2b
lea rax, [0x140653a16]
jmp 0x140501dd7
cmp esi, 0x130
jne 0x140501d42
mov ebp, 0x69
cmp r9d, 2
je 0x140501a86
cmp esi, 0x307
jne 0x140501f26
cmp r9d, 2
jne 0x140501f26
test r14, r14
je 0x140501e5f
mov rcx, rbx
mov dl, 0xff
mov rbp, r8
call r14
mov r8, rbp
test eax, eax
js 0x140501e5f
cmp eax, 0x49
jne 0x140501d93
mov qword [rdi], 0
xor ebp, ebp
jmp 0x140501a86
lea rax, [0x140653a0a]
jmp 0x140501dd7
cmp eax, 0xd800
jae 0x140501de4
mov ecx, eax
shr ecx, 5
jmp 0x140501e30
cmp esi, 0xcd
je 0x140501dd0
cmp esi, 0x128
je 0x140501d1f
cmp esi, 0x12e
jne 0x140501a86
lea rax, [0x140653a04]
jmp 0x140501fc9
lea rax, [0x140653a10]
mov qword [rdi], rax
mov ebp, 3
jmp 0x140501a86
cmp eax, 0x10000
jae 0x140501e00
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x140501e30
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x140501e3e
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x140501e3e
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 0x140501e59
shr rax, 4
lea rcx, [0x140653a60]
movzx eax, word [rcx + rax*2]
shr eax, 7
not eax
test al, 0x60
je 0x140501e7a
cmp esi, 0x130
je 0x140501fc2
jmp 0x140502081
not eax
test al, 0x60
jne 0x140501f26
mov rcx, rbx
xor edx, edx
call r14
mov r9d, dword [rsp + 0x90]
mov r8, rbp
test eax, eax
js 0x140501f26
cmp eax, 0x49
je 0x140501d7c
cmp eax, 0xd7ff
ja 0x140501eac
mov ecx, eax
shr ecx, 5
jmp 0x140501ec6
cmp eax, 0xffff
ja 0x140501ef4
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 0x140501e70
shr rax, 4
lea rcx, [0x140653a60]
movzx eax, word [rcx + rax*2]
shr eax, 7
jmp 0x140501e70
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x140501ed4
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x140501ed4
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 0x140501ec6
cmp esi, 0x49
jne 0x140502051
cmp r9d, 2
jne 0x140502051
mov ebp, 0x131
test r14, r14
je 0x140501a86
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov dl, 1
call r14
test eax, eax
js 0x140501a86
cmp eax, 0x307
jne 0x140501f75
cmp esi, 0x130
mov r8, qword [rsp + 0x20]
je 0x140501fc2
jmp 0x140502081
cmp eax, 0xd800
jb 0x140501fd6
cmp eax, 0x10000
jb 0x14050203c
mov ecx, 0xd58
cmp eax, 0x10ffff
ja 0x140501fe9
mov ecx, 0x3040
cmp eax, 0xe07ff
ja 0x140501fe9
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 0x140501fdb
lea rax, [0x140653a00]
jmp 0x140501fc9
lea rax, [0x1406533f0]
mov qword [rdi], rax
mov ebp, 2
jmp 0x140501a86
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 0x140502004
shr rax, 4
lea rcx, [0x140653a60]
movzx eax, word [rcx + rax*2]
shr eax, 7
not eax
test al, 0x60
jne 0x140501a86
mov rcx, rbx
xor edx, edx
call r14
test eax, eax
js 0x140501a86
cmp eax, 0x307
mov r8, qword [rsp + 0x20]
je 0x140502051
cmp eax, 0xd7ff
jbe 0x140501fd6
cmp eax, 0xffff
ja 0x140501f87
mov edx, eax
shr edx, 5
lea ecx, [rdx + 0x140]
cmp eax, 0xdc00
cmovae ecx, edx
jmp 0x140501fdb
cmp esi, 0x130
je 0x140501fc2
cmp esi, 0x3a3
jne 0x140502081
mov rcx, r14
mov rdx, rbx
mov rdi, r8
mov r8b, 1
call fcn.140502130
mov r8, rdi
test al, al
je 0x140502104
test r15b, 0x10
je 0x1405020ae
and r13d, 2
je 0x1405020ae
mov eax, r15d
and eax, 0xf
lea rcx, [0x1406532f0]
movzx eax, byte [rax + rcx]
test r15d, 0x100
jne 0x1405020cc
movzx eax, word [r8 + rax*2]
jmp 0x1405020dc
mov eax, esi
test r15b, 1
je 0x140501a7a
test r15d, 0x100
jne 0x1405020f1
movzx eax, word [r8]
jmp 0x140501a7a
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 0x140501a86
movzx ecx, word [r8]
shl ecx, 0x10
movzx eax, word [r8 + 2]
or eax, ecx
jmp 0x140501a7a
mov rcx, r14
mov rdx, rbx
mov r8b, 0xff
call fcn.140502130
mov r8, rdi
mov ebp, 0x3c2
test al, al
jne 0x140501a86
jmp 0x140502081