Function at 0x1401a59a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov r12, qword [rsp + 0xf0]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov rbx, rdx
mov ebp, r9d
mov qword [rsp + 0x38], r9
mov edi, r9d
mov qword [rsp + 0x30], r9
mov r11d, dword [r12 + 0xf0]
mov r14d, r9d
mov r15, qword [r12 + 0x20]
lea rax, [rsi - 0x50]
mov r13d, r11d
mov dword [rsp + 0xf0], r9d
shr r13d, 0x13
mov r8d, r9d
and r13d, 1
shr r11d, 0x11
mov dword [r15 + 0x30], r9d
and r11d, 1
mov dword [r15 + 0x6c], r9d
mov dword [r15 + 0x68], 0xffffffff
mov qword [r15 + 0x50], rcx
mov qword [r15 + 0x58], rcx
mov qword [r15 + 0x60], r9
mov qword [r15 + 0x78], r9
mov qword [r15 + 0x70], 0xffffffffffffffff
mov dword [rsp + 0xc0], r11d
mov qword [rsp + 0x58], rax
mov dword [rsp + 0xc8], r9d
mov dword ds:[r15 + 0x34], r8d
mov qword [r15], rbx
mov qword [r15 + 0x20], rsi
test r8d, r8d
je 0x1401a5a97
mov rax, r15
sub rax, qword [r12 + 0x20]
mov qword [r15 + 0x70], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x1401a5a8f
movzx eax, r8w
mov dword [r15 + 0x68], eax
mov dword [rsp + 0xc8], r9d
mov edx, dword [r12 + 0x48]
lea eax, [rdx + 1]
mov dword [r12 + 0x48], eax
cmp edx, dword [r12 + 0x40]
jae 0x1401b0af0
mov eax, dword [r12 + 0x44]
cmp dword [r15 + 0x30], eax
jb 0x1401a5b31
mov eax, 0xffffffcb
jmp 0x1401b0af5
mov rbp, qword [rsp + 0x38]
mov r14d, dword [rsp + 0xf0]
jmp 0x1401a5b40
mov r14d, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
jmp 0x1401a5b31
mov r14d, dword [rsp + 0xf0]
jmp 0x1401a5b31
mov r14d, dword [rsp + 0xf0]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b40
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
jmp 0x1401a5b40
mov rdi, qword [rsp + 0x30]
xor r9d, r9d
jmp 0x1401a5b40
xor r9d, r9d
mov r11d, dword [rsp + 0xc0]
lea r8, [0x140000000]
nop dword [rax + rax]
mov rbx, qword [r15]
movzx r10d, byte [rbx]
mov byte [r15 + 0x49], r10b
mov edx, r10d
cmp r10d, 0xa6
ja case.0x1401ae2f4.15
movzx eax, byte [r8 + r10 + 0x1b0c64]
mov ecx, dword [r8 + rax*4 + 0x1b0b08]
add rcx, r8
jmp rcx
cmp dword [r15 + 0x68], 0xffffffff
jne 0x1401a5c03
movzx r8d, word [rbx + 2]
mov rcx, qword [r15 + 0x70]
cmp rcx, 0xffffffffffffffff
je case.0x1401ae2f4.15
mov rbp, qword [r12 + 0x20]
mov eax, r8d
add rbp, rcx
bts eax, 0x10
mov rcx, rbp
mov qword [rsp + 0x38], rbp
sub rcx, rsi
cmp dword [rbp + 0x34], eax
je 0x1401a5bb4
mov rcx, qword [rcx + 0x70]
jmp 0x1401a5b85
mov dword [r15 + 0x6c], r8d
lea edx, [r8*2 - 2]
mov rax, qword [rcx + 0x50]
lea r8, [0x140000000]
sub rax, qword [r12 + 0x98]
sar rax, 1
mov qword [r15 + rdx*8 + 0x80], rax
mov rax, qword [r15 + 0x50]
sub rax, qword [r12 + 0x98]
sar rax, 1
mov qword [r15 + rdx*8 + 0x88], rax
cmp rdx, qword [r15 + 0x78]
jb 0x1401a5c03
lea rax, [rdx + 2]
mov qword [r15 + 0x78], rax
mov rcx, qword [r15]
movzx eax, word [rcx]
movzx eax, byte [rax + r8 + 0x25cdf0]
lea rcx, [rcx + rax*2]
mov qword [r15], rcx
jmp 0x1401a5b40
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xc0]
jbe 0x1401a5c34
mov qword [r12 + 0xc0], rax
mov rbp, r15
mov qword [rsp + 0x30], r15
mov ebx, 0xfffffc19
jmp 0x1401aceaa
cmp dword [r15 + 0x68], 0xffffffff
je 0x1401a5ca7
mov rcx, qword [r15 + 0x70]
cmp rcx, 0xffffffffffffffff
je case.0x1401ae2f4.15
mov rbp, qword [r12 + 0x20]
add rbp, rcx
mov rcx, rbp
mov qword [rsp + 0x38], rbp
sub rcx, rsi
mov eax, dword [rbp + 0x34]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x1401a5c83
mov rcx, qword [rcx + 0x70]
jmp 0x1401a5c51
mov rax, qword [r15 + 0x50]
mov qword [rcx + 0x50], rax
mov rax, qword [r15 + 0x60]
mov qword [rcx + 0x60], rax
mov rax, qword [r15 + 0x58]
mov r15, rcx
mov qword [rcx + 0x58], rax
add qword [rcx], 4
jmp 0x1401a5b40
mov r8, qword [r15 + 0x58]
mov rdx, qword [r15 + 0x50]
cmp rdx, r8
jne 0x1401a5cec
mov eax, dword ds:[r12 + 0xec]
test al, 4
jne case.0x1401a5b6f.82
test al, 8
je 0x1401a5cec
mov rcx, qword [r12 + 0x70]
mov rax, qword [r12 + 0x98]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x1401a5cec
xor edi, edi
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceac
cmp rdx, qword [r12 + 0xa8]
jae 0x1401b09fd
mov eax, dword [r12 + 0xec]
or eax, dword [r12 + 0xf0]
bt eax, 0x1d
jae 0x1401b09fd
test r10b, r10b
jne 0x1401b09f6
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401a5d8c
mov rcx, qword [r15 + 0x50]
lea rdi, [r15 + 0x50]
lea rbx, [r12 + 0xa8]
mov r8, qword [rbx]
cmp rcx, r8
jae 0x1401a5d70
lea r9, ds:[r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
test eax, eax
je 0x1401a5d70
mov eax, 1
jmp 0x1401a5d72
xor eax, eax
lea rdx, [r12 + 0x100]
test eax, eax
je 0x1401a5dfa
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov edx, dword [r12 + 0x100]
mov rcx, qword [r15 + 0x50]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r12 + 0xa8]
cmp rcx, rax
ja 0x1401a5de6
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a5de6
nop word [rax + rax]
cmp edx, 1
je case.0x1401a5b6f.82
movzx eax, word [r12 + 0x106]
cmp word [rcx + 2], ax
jne 0x1401a5de6
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
lea rdx, [r12 + 0x100]
lea rdi, [r15 + 0x50]
lea rbx, [r12 + 0xa8]
movzx r8d, word [r12 + 0x80]
test r8w, r8w
je 0x1401a5e4b
mov rax, qword [rbx]
mov rcx, qword [rdi]
sub rax, 2
cmp rcx, rax
jne 0x1401a5e4b
cmp dword [r12 + 0xfc], 0
jne 0x1401a5e4b
cmp dword [rdx], 2
jne 0x1401a5e4b
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a5e4b
mov dword ds:[r12 + 0x4c], 1
cmp r8w, 1
ja 0x1401a6b6a
lea r8, [0x140000000]
mov rcx, qword ds:[r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jb 0x1401a5eb4
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp rcx, qword [r12 + 0xb8]
ja 0x1401a5e92
cmp dword [r12 + 0x54], 0
je case.0x1401a5b6f.82
cmp ax, 1
mov dword ds:[r12 + 0x4c], 1
ja 0x1401a6b6a
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
add rcx, 2
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401a5eed
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a5eed
movzx eax, word ds:[rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401a5eed
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add qword [r15], 2
mov rdi, qword [rsp + 0x30]
xor r9d, r9d
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b40
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jb 0x1401a5f65
movzx ecx, word ds:[r12 + 0x80]
test cx, cx
je case.0x1401a5b6f.82
cmp rax, qword [r12 + 0xb8]
ja 0x1401a5f3f
cmp dword [r12 + 0x54], 0
je case.0x1401a5b6f.82
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
add rax, 2
mov qword [r15 + 0x50], rax
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b40
nop dword [rax]
test r13d, r13d
je 0x1401a603e
add rbx, 2
mov qword [r15 + 0x18], 1
mov ecx, 0xfc00
mov qword [r15], rbx
mov edx, 1
movzx eax, word [rbx]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x1401a5fbd
mov eax, 2
mov qword [r15 + 0x18], rax
mov edx, eax
mov rcx, qword [r12 + 0xa8]
mov r8, qword [r15 + 0x50]
mov rax, rcx
sub rax, r8
sar rax, 1
cmp rdx, rax
jbe 0x1401a6010
nop word [rax + rax]
cmp r8, rcx
jb case.0x1401a5b6f.82
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp r8, qword [r12 + 0xb8]
jmp 0x1401a5e84
movzx ecx, word [r8]
add r8, 2
movzx eax, word [rbx]
add rbx, 2
mov qword [r15 + 0x50], r8
mov qword [r15], rbx
cmp ax, cx
jne case.0x1401a5b6f.82
sub rdx, 1
mov qword [r15 + 0x18], rdx
jne 0x1401a6010
jmp 0x1401a5b31
mov r8, qword [r15 + 0x50]
mov rax, qword [r12 + 0xa8]
sub rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 2
jl 0x1401a5fe9
movzx edx, word [rbx + 2]
lea rax, [r8 + 2]
movzx ecx, word [r8]
mov qword [r15 + 0x50], rax
cmp dx, cx
jne case.0x1401a5b6f.82
lea rax, [rbx + 4]
mov qword [r15], rax
jmp 0x1401a5b31
mov r11, qword [r15 + 0x50]
cmp r11, qword [r12 + 0xa8]
jb 0x1401a60a9
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp r11, qword [r12 + 0xb8]
jmp 0x1401a5e84
test r13d, r13d
je 0x1401a620d
add rbx, 2
mov qword [r15 + 0x18], 1
mov qword [r15], rbx
mov ecx, 0xfc00
mov edx, 0xd800
movzx r8d, word [rbx]
lea r9, [rbx + 2]
mov eax, r8d
and eax, ecx
cmp eax, edx
jne 0x1401a610e
movzx ecx, word [r9]
mov eax, 0x3ff
and ecx, eax
and eax, r8d
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov ecx, 0xfc00
mov eax, 2
add r8d, 0x10000
mov qword [r15 + 0x18], rax
lea r10d, [rax + 2]
jmp 0x1401a6114
mov r10d, 2
movzx edx, word ds:[r11]
mov eax, 0x80
cmp r8d, eax
jae 0x1401a6165
mov eax, 0xff
cmp edx, eax
ja 0x1401a6137
mov rax, qword [r12 + 0x58]
movzx edx, byte [rdx + rax]
mov rax, qword [r12 + 0x58]
movzx ecx, byte [r8 + rax]
cmp ecx, edx
jne case.0x1401a5b6f.82
lea rax, ds:[r11 + 2]
mov qword [r15], r9
mov r11d, dword [rsp + 0xc0]
xor r9d, r9d
mov qword [r15 + 0x50], rax
jmp 0x1401a5b31
mov eax, edx
lea r9, [r11 + 2]
and eax, ecx
mov qword [r15 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a619c
movzx ecx, word [r9]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r9 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r11d, dword [rsp + 0xc0]
lea rax, [r10 + rbx]
mov qword [r15], rax
mov r9d, 0
cmp edx, r8d
je 0x1401a5b31
lfence
lea r10, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x241974]
add ecx, r8d
cmp edx, ecx
je 0x1401a5b31
xor edi, edi
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceb3
cmp dword [rsp + 0xc0], 0
je 0x1401a62cc
movzx edx, word [rbx + 2]
mov eax, 0x80
movzx r8d, word [r11]
cmp edx, eax
jae 0x1401a6265
mov eax, 0xff
cmp r8d, eax
ja 0x1401a6240
mov rax, qword [r12 + 0x58]
movzx r8d, byte [r8 + rax]
mov rax, qword [r12 + 0x58]
movzx ecx, byte [rdx + rax]
cmp ecx, r8d
jne case.0x1401a5b6f.82
add qword ds:[r15 + 0x50], 2
add qword [r15], 4
jmp 0x1401a5b29
cmp r8d, edx
je 0x1401a6252
lfence
mov eax, edx
test edx, edx
jns 0x1401a6276
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401a629e
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x245b80]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x241974]
add ecx, edx
cmp r8d, ecx
je 0x1401a6252
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
movzx eax, word [rbx + 2]
mov edx, 0xff
cmp ax, dx
ja 0x1401a62e8
mov ecx, eax
mov rax, qword [r12 + 0x58]
movzx r8d, byte [rcx + rax]
jmp 0x1401a62eb
mov r8d, eax
movzx eax, word [r11]
cmp ax, dx
ja 0x1401a6302
mov ecx, eax
mov rax, qword [r12 + 0x58]
movzx edx, byte [rcx + rax]
jmp 0x1401a6304
mov edx, eax
cmp r8d, edx
jne case.0x1401a5b6f.82
lea rax, ds:[r11 + 2]
mov qword [r15 + 0x50], rax
lea rax, [rbx + 4]
mov qword [r15], rax
jmp 0x1401a5b29
mov r9, qword [r15 + 0x50]
cmp r9, qword [r12 + 0xa8]
jb 0x1401a6356
movzx eax, word ds:[r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp r9, qword [r12 + 0xb8]
jmp 0x1401a5e84
lea rax, ds:[rbx + 2]
test r13d, r13d
je 0x1401a6469
mov qword [r15], rax
lea r8, [rax + 2]
movzx edx, word [rax]
mov ebx, 0xd800
mov eax, edx
mov qword [r15], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, ebx
mov ebx, 0x3ff
jne 0x1401a63b0
movzx ecx, word [r8]
and edx, ebx
mov eax, edx
and ecx, ebx
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 0xfc00
lea rax, [r8 + 2]
add edx, 0x10000
mov qword [r15], rax
movzx r8d, word [r9]
add r9, 2
mov eax, r8d
mov qword [r15 + 0x50], r9
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a63ee
movzx ecx, word [r9]
and r8d, ebx
mov eax, r8d
and ecx, ebx
shl eax, 0xa
mov r8d, ecx
or r8d, eax
lea rax, [r9 + 2]
mov qword [r15 + 0x50], rax
add r8d, 0x10000
cmp edx, r8d
je case.0x1401a5b6f.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401a5b31
lea r10, [0x140000000]
cmp edx, 0x7f
jbe 0x1401a6449
lfence
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x241974]
jmp 0x1401a6452
mov rax, qword [r12 + 0x60]
movzx edx, byte [rax + rdx]
cmp edx, r8d
jne 0x1401a5b31
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
movzx r8d, word [r9]
lea rdx, [r9 + 2]
test r11d, r11d
je 0x1401a6511
mov qword [r15 + 0x50], rdx
movzx edx, word [rax]
lea rax, [rbx + 4]
mov qword [r15], rax
cmp edx, r8d
je case.0x1401a5b6f.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401a5b31
cmp edx, 0x7f
jbe 0x1401a6505
lfence
mov eax, edx
test edx, edx
jns 0x1401a64bb
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401a64e3
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x245b80]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x241974]
jmp 0x1401a6452
lea r10, [0x140000000]
jmp 0x1401a6449
movzx ecx, word ds:[rax]
mov qword [r15 + 0x50], rdx
cmp ecx, r8d
je case.0x1401a5b6f.82
cmp r10b, 0x20
jne 0x1401a654a
mov eax, 0xff
cmp ecx, eax
ja 0x1401a654a
mov rax, qword [r12 + 0x60]
movzx ecx, byte [rax + rcx]
cmp ecx, r8d
je case.0x1401a5b6f.82
lea rax, [rbx + 4]
xor r9d, r9d
mov qword [r15], rax
jmp 0x1401a5b31
movzx r14d, word [rbx + 2]
lea r9, [r15 + 0x3c]
mov r11d, dword [rsp + 0xf0]
add rbx, 4
mov dword [r9], r14d
mov dword [r15 + 0x38], r14d
mov qword [r15], rbx
jmp 0x1401a66ba
mov eax, 2
mov r11d, eax
mov dword [rsp + 0xf0], eax
mov dword [r15 + 0x38], r9d
lea r9, [r15 + 0x3c]
movzx eax, word [rbx + 2]
add rbx, 4
mov dword [r9], eax
xor eax, eax
mov r14d, eax
mov qword [r15], rbx
jmp 0x1401a66ba
mov dword [r15 + 0x38], r9d
mov r11d, 1
movzx eax, word [rbx + 2]
lea r9, [r15 + 0x3c]
add rbx, 4
mov dword [r9], eax
xor eax, eax
mov qword [r15], rbx
mov r14d, eax
jmp 0x1401a66b2
mov r11d, r9d
mov dword [rsp + 0xf0], r9d
jmp 0x1401a658c
mov eax, 2
mov dword [r15 + 0x38], r9d
add rbx, rax
mov dword [rsp + 0xf0], eax
mov r11d, eax
mov dword [r15 + 0x3c], 0xffffffff
lea r9, [r15 + 0x3c]
mov qword [r15], rbx
xor eax, eax
mov r14d, eax
jmp 0x1401a66ba
mov eax, 2
mov dword [r15 + 0x38], 1
lea r9, [r15 + 0x3c]
add rbx, rax
mov dword [r9], 0xffffffff
mov r11d, eax
mov dword [rsp + 0xf0], eax
lea r14d, [rax - 1]
mov qword [r15], rbx
jmp 0x1401a66ba
mov eax, 2
mov dword [r15 + 0x38], r9d
add rbx, rax
mov dword [rsp + 0xf0], eax
mov r11d, eax
mov dword [r15 + 0x3c], 1
lea r9, [r15 + 0x3c]
mov qword [r15], rbx
xor eax, eax
mov r14d, eax
jmp 0x1401a66ba
mov ecx, 0x21
lea r9, [r15 + 0x3c]
mov eax, 0x2e
cmp r10b, al
cmovb eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r15], rbx
lea rcx, [rcx*4]
mov r14d, dword [rcx + r8 + 0x240678]
mov eax, dword [rcx + r8 + 0x240648]
mov r11d, dword [rcx + r8 + 0x240618]
mov dword [r15 + 0x38], r14d
mov dword [r9], eax
mov dword [rsp + 0xf0], r11d
nop word [rax + rax]
test r13d, r13d
je 0x1401a69dc
mov qword [r15 + 0x18], 1
lea rcx, [rbx + 2]
mov r8d, 0xfc00
mov qword [r15 + 0x10], rbx
movzx edx, word [rbx]
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401a69cf
movzx r8d, word [rcx]
lea rax, [rbx + 4]
mov r9d, 0x3ff
mov r11d, 2
and r8d, r9d
mov qword [r15 + 0x18], r11
and edx, r9d
mov qword [r15], rax
shl edx, 0xa
or r8d, edx
add r8d, 0x10000
cmp r10b, 0x2e
jb 0x1401a67af
lea rdx, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [rdx + rax*2 + 0x258780]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [rdx + rcx*2 + 0x245b80]
lea rax, [rax + rax*2]
mov ecx, dword [rdx + rax*4 + 0x241974]
add ecx, r8d
cmp ecx, r8d
je 0x1401a67af
cmp ecx, 0xffff
ja 0x1401a677d
mov word [r15 + 0x4a], cx
lea eax, [r11 - 1]
jmp 0x1401a67b1
add ecx, 0xffff0000
mov edx, 0xd800
mov eax, ecx
and cx, r9w
shr eax, 0xa
or ax, dx
mov word [r15 + 0x4a], ax
mov eax, 0xdc00
or cx, ax
mov rax, r11
mov word [r15 + 0x4c], cx
mov r14d, dword [r15 + 0x38]
jmp 0x1401a67b1
xor eax, eax
mov ebp, 1
mov qword [r15 + 0x28], rax
cmp r14d, ebp
jb 0x1401a685b
nop dword [rax]
mov rax, qword [r15 + 0x18]
mov rsi, qword [r12 + 0xa8]
mov rbx, qword [r15 + 0x50]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401a6804
mov rdx, qword [r15 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
nop
test eax, eax
je 0x1401a6848
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1401a6922
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401a6922
lea rdx, [r15 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
nop dword [rax + rax]
test eax, eax
jne 0x1401a6922
inc ebp
lea rax, [rdi + rbx]
mov qword [r15 + 0x50], rax
cmp ebp, r14d
jbe 0x1401a67d0
mov ebp, dword [r15 + 0x3c]
lea r8, [0x140000000]
mov rsi, qword [rsp + 0xe8]
mov r9d, 0
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp r14d, ebp
je 0x1401a5ad0
cmp dword [rsp + 0xf0], r9d
je 0x1401b03ba
mov rax, qword [r15 + 0x50]
mov qword [r15 + 8], rax
cmp r14d, ebp
jae 0x1401a698a
nop dword [rax]
mov rax, qword [r15 + 0x18]
mov rsi, qword [r12 + 0xa8]
mov rbx, qword [r15 + 0x50]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401a68e4
mov rdx, qword [r15 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
nop
test eax, eax
je 0x1401a690e
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1401a694a
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401a694a
lea rdx, [r15 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
test eax, eax
jne 0x1401a694a
inc r14d
lea rax, [rdi + rbx]
mov qword [r15 + 0x50], rax
cmp r14d, ebp
jb 0x1401a68b0
nop
jmp 0x1401a698a
cmp rbx, rsi
jb case.0x1401a5b6f.82
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp rbx, qword [r12 + 0xb8]
jmp 0x1401a5e84
cmp rbx, rsi
jb 0x1401a698a
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a698a
nop dword [rax]
cmp rbx, qword [r12 + 0xb8]
ja 0x1401a6972
cmp dword [r12 + 0x54], 0
je 0x1401a698a
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov r14d, dword ds:[rsp + 0xf0]
lea r8, [0x140000000]
mov rbp, qword [rsp + 0x38]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401ae9c7
mov qword [r15], rcx
lea rax, [r15 + 0x3c]
mov dword [r15 + 0x40], edx
jmp 0x1401a69ed
movzx edx, word [rbx]
lea rax, [rbx + 2]
mov dword [r15 + 0x40], edx
mov qword [r15], rax
mov rax, r9
cmp r10b, 0x2e
jb 0x1401a6bcf
test r13d, r13d
jne 0x1401a6a0a
nop dword [rax]
cmp dword [rsp + 0xc0], r13d
je 0x1401a6a46
cmp edx, 0x7f
jbe 0x1401a6a46
lea r10, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rax, [rax + rax*2]
add edx, dword [r10 + rax*4 + 0x241974]
jmp 0x1401a6a5f
mov eax, 0xff
cmp edx, eax
ja 0x1401a6a58
mov rax, qword [r12 + 0x60]
movzx edx, byte [rax + rdx]
lea r10, [0x140000000]
mov dword [r15 + 0x44], edx
mov edx, 1
cmp r14d, edx
jb 0x1401a6ab9
nop dword [rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a6b27
movzx ecx, word [rax]
cmp dword [r15 + 0x40], ecx
je 0x1401a6aaa
nop word [rax + rax]
cmp dword [r15 + 0x44], ecx
jne case.0x1401a7f84.8193
add rax, 2
inc edx
mov qword [r15 + 0x50], rax
cmp edx, r14d
jbe 0x1401a6a70
mov edx, dword [r15 + 0x3c]
lea r8, [0x140000000]
mov r9d, 0
cmp r14d, edx
je 0x1401a5afb
test r11d, r11d
je 0x1401adf5a
mov rax, qword [r15 + 0x50]
mov qword [r15 + 8], rax
cmp r14d, edx
jae 0x1401a6ba6
nop dword [rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a6b74
movzx ecx, word [rax]
cmp dword [r15 + 0x40], ecx
je 0x1401a6b11
cmp dword [r15 + 0x44], ecx
jne 0x1401a6ba6
add rax, 2
inc r14d
mov qword [r15 + 0x50], rax
cmp r14d, edx
jb 0x1401a6af0
jmp 0x1401a6ba6
movzx ecx, word [r12 + 0x80]
test cx, cx
je case.0x1401a7f84.8193
nop dword [rax]
cmp rax, qword [r12 + 0xb8]
ja 0x1401a6b56
cmp dword [r12 + 0x54], 0
je case.0x1401a7f84.8193
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
jbe case.0x1401a7f84.8193
mov eax, 0xfffffffe
jmp 0x1401b0af5
movzx ecx, word ds:[r12 + 0x80]
test cx, cx
je 0x1401a6ba6
cmp rax, qword [r12 + 0xb8]
ja 0x1401a6b96
cmp dword [r12 + 0x54], r9d
je 0x1401a6ba6
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov r14d, dword ds:[rsp + 0xf0]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401adf84
mov r8d, 1
cmp r14d, r8d
jb 0x1401a6c15
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp dword [r15 + 0x40], edx
jne case.0x1401a5b6f.82
inc r8d
cmp r8d, r14d
jbe 0x1401a6be0
mov rax, r9
mov edx, dword [rax]
lea r8, [0x140000000]
mov r9d, 0
cmp r14d, edx
je 0x1401a5afb
test r11d, r11d
je 0x1401ae00a
mov rax, qword ds:[r15 + 0x50]
mov qword [r15 + 8], rax
cmp r14d, edx
jae 0x1401a6cab
nop word [rax + rax]
mov rcx, qword [r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a6c79
movzx eax, word [rcx]
cmp dword [r15 + 0x40], eax
jne 0x1401a6cab
inc r14d
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
cmp r14d, edx
jb 0x1401a6c50
jmp 0x1401a6cab
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a6cab
cmp rcx, qword [r12 + 0xb8]
ja 0x1401a6c98
cmp dword [r12 + 0x54], r9d
je 0x1401a6cab
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov r14d, dword [rsp + 0xf0]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401ae034
movzx edi, word [rbx + 2]
add rbx, 4
mov dword [r15 + 0x3c], edi
mov dword [r15 + 0x38], edi
mov qword [r15], rbx
jmp 0x1401a6e20
mov dword [r15 + 0x38], r9d
mov r14d, 1
movzx eax, word [rbx + 2]
mov edi, r9d
add rbx, 4
mov dword [r15 + 0x3c], eax
mov qword [r15], rbx
jmp 0x1401a6e18
mov dword [r15 + 0x38], r9d
mov r14d, r9d
movzx eax, word [rbx + 2]
mov edi, r9d
add rbx, 4
mov dword [r15 + 0x3c], eax
mov qword [r15], rbx
mov dword [rsp + 0xf0], r9d
jmp 0x1401a6e20
mov eax, 2
mov dword [r15 + 0x38], r9d
add rbx, rax
mov dword [r15 + 0x3c], 0xffffffff
mov qword [r15], rbx
mov r14d, eax
mov dword [rsp + 0xf0], eax
mov edi, r9d
jmp 0x1401a6e20
mov eax, 2
mov dword [r15 + 0x38], 1
add rbx, rax
mov dword [r15 + 0x3c], 0xffffffff
mov r14d, eax
mov dword [rsp + 0xf0], eax
mov qword [r15], rbx
lea edi, [rax - 1]
jmp 0x1401a6e20
mov eax, 2
mov dword [r15 + 0x38], r9d
add rbx, rax
mov dword [r15 + 0x3c], 1
mov qword [r15], rbx
mov r14d, eax
mov dword [rsp + 0xf0], eax
mov edi, r9d
jmp 0x1401a6e20
mov eax, 2
mov dword [r15 + 0x38], r9d
mov r14d, eax
mov dword [rsp + 0xf0], eax
movzx eax, word [rbx + 2]
mov edi, r9d
add rbx, 4
mov dword [r15 + 0x3c], eax
mov qword [r15], rbx
jmp 0x1401a6e20
mov ecx, 0x48
cmp r10b, 0x48
mov eax, 0x3b
cmovae eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r15], rbx
lea rcx, [rcx*4]
mov edi, dword [rcx + r8 + 0x240678]
mov eax, dword [rcx + r8 + 0x240648]
mov r14d, dword [rcx + r8 + 0x240618]
mov dword [r15 + 0x38], edi
mov dword [r15 + 0x3c], eax
mov dword [rsp + 0xf0], r14d
movzx ecx, word [rbx]
lea rdx, [rbx + 2]
mov dword [r15 + 0x40], ecx
mov r9d, ecx
mov qword [r15], rdx
test r13d, r13d
je 0x1401a6e6d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401a6e6d
movzx r9d, word [rdx]
lea rax, [rbx + 4]
mov edx, 0x3ff
and ecx, edx
and r9d, edx
shl ecx, 0xa
or r9d, ecx
add r9d, 0x10000
mov dword [r15 + 0x40], r9d
mov qword [r15], rax
cmp r10b, 0x48
jb 0x1401a716f
test r13d, r13d
jne 0x1401a6e85
nop dword [rax]
test r11d, r11d
je 0x1401a6ec2
cmp r9d, 0x7f
jbe 0x1401a6ec2
mov eax, r9d
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x258780]
mov eax, r9d
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x245b80]
lea rax, [rax + rax*2]
mov r11d, dword [r8 + rax*4 + 0x241974]
add r11d, r9d
jmp 0x1401a6ede
mov eax, 0xff
cmp r9d, eax
ja 0x1401a6edb
mov rax, qword [r12 + 0x60]
mov ecx, r9d
movzx r11d, byte [rax + rcx]
jmp 0x1401a6ede
mov r11d, r9d
mov dword [r15 + 0x44], r11d
mov r10d, edi
test r13d, r13d
je 0x1401a6f78
mov ebx, 1
cmp edi, ebx
jb 0x1401a6fc4
nop dword [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a6f51
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp r9d, edx
je case.0x1401a5b6f.82
nop word [rax + rax]
cmp r11d, edx
je case.0x1401a5b6f.82
inc ebx
cmp ebx, edi
jbe 0x1401a6f00
lea r8, [0x140000000]
jmp 0x1401a6fc4
mov edx, 1
cmp edi, edx
jb 0x1401a6fc4
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word ds:[rax]
cmp r9d, ecx
je case.0x1401a5b6f.82
cmp r11d, ecx
je case.0x1401a5b6f.82
add rax, 2
inc edx
mov qword [r15 + 0x50], rax
cmp edx, edi
jbe 0x1401a6f84
mov r9d, dword [r15 + 0x3c]
mov r11d, dword [rsp + 0xc0]
cmp r10d, r9d
je 0x1401a5b1c
nop dword [rax]
test r14d, r14d
je 0x1401b00e5
mov r8, qword [r15 + 0x50]
mov qword [r15 + 8], r8
test r13d, r13d
je 0x1401a70d3
nop word [rax + rax]
cmp edi, r9d
jae 0x1401a70aa
mov r10d, 0xfc00
mov r11d, 0xd800
cmp r8, qword [r12 + 0xa8]
jae 0x1401a706f
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, r10d
cmp eax, r11d
jne 0x1401a7052
movzx ecx, word [r8 + 2]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 2
add edx, 0x10000
cmp dword [r15 + 0x40], edx
je 0x1401a70aa
cmp dword [r15 + 0x44], edx
je 0x1401a70aa
inc edi
lea r8, [r8 + rcx*2]
mov qword [r15 + 0x50], r8
cmp edi, r9d
jb 0x1401a7015
jmp 0x1401a70aa
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a70aa
nop dword [rax]
cmp r8, qword [r12 + 0xb8]
ja 0x1401a7092
cmp dword [r12 + 0x54], 0
je 0x1401a70aa
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rdi, qword [rsp + 0x30]
mov r9d, 0
mov r11d, dword [rsp + 0xc0]
lea r8, [0x140000000]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401aeac4
cmp edi, r9d
jae 0x1401a714a
nop dword [rax + rax]
cmp r8, qword [r12 + 0xa8]
jae 0x1401a710b
movzx eax, word [r8]
cmp dword [r15 + 0x40], eax
je 0x1401a714a
cmp dword [r15 + 0x44], eax
je 0x1401a714a
add r8, 2
inc edi
mov qword [r15 + 0x50], r8
cmp edi, r9d
jb 0x1401a70e0
jmp 0x1401a714a
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a714a
nop dword [rax]
cmp r8, qword [r12 + 0xb8]
ja 0x1401a7132
cmp dword [r12 + 0x54], 0
je 0x1401a714a
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rdi, qword ds:[rsp + 0x30]
lea r8, [0x140000000]
mov r9d, 0
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401ae0e6
mov eax, edi
test r13d, r13d
je 0x1401a720f
mov r8d, 1
cmp edi, r8d
jb 0x1401a7206
nop dword [rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov r10d, 0xfc00
mov qword [r15 + 0x50], rdx
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401a71f1
movzx eax, word [rdx]
mov r10d, 0x3ff
and ecx, r10d
and eax, r10d
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
cmp r9d, ecx
je case.0x1401a5b6f.82
mov eax, dword [r15 + 0x38]
inc r8d
cmp r8d, eax
jbe 0x1401a7190
lea r8, [0x140000000]
jmp 0x1401a7253
mov edx, 1
cmp edi, edx
jb 0x1401a7253
nop dword [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp r9d, ecx
je case.0x1401a5b6f.82
mov eax, dword [r15 + 0x38]
inc edx
cmp edx, eax
jbe 0x1401a7220
mov r9d, dword ds:[r15 + 0x3c]
cmp eax, r9d
je 0x1401a5b1c
test r14d, r14d
je 0x1401b0105
mov rdx, qword ds:[r15 + 0x50]
mov qword [r15 + 8], rdx
mov eax, dword [r15 + 0x3c]
test r13d, r13d
je 0x1401a734f
cmp edi, eax
jae 0x1401a732a
mov ebx, 0xd800
mov r10d, 0xfc00
nop dword [rax]
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a72f7
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, r10d
cmp eax, ebx
jne 0x1401a72e0
movzx ecx, word [rdx + 2]
mov eax, 0x3ff
and ecx, eax
and eax, r8d
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov ecx, 2
add r8d, 0x10000
cmp dword [r15 + 0x40], r8d
je 0x1401a732a
inc edi
lea rdx, [rdx + rcx*2]
mov qword [r15 + 0x50], rdx
cmp edi, r9d
jb 0x1401a72a0
jmp 0x1401a732a
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a732a
cmp rdx, qword [r12 + 0xb8]
ja 0x1401a7317
cmp dword [r12 + 0x54], 0
je 0x1401a732a
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rdi, qword ds:[rsp + 0x30]
mov r9d, 0
lea r8, [0x140000000]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401aebba
cmp edi, eax
jae 0x1401a73aa
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a7377
movzx eax, word [rdx]
cmp dword [r15 + 0x40], eax
je 0x1401a73aa
add rdx, 2
inc edi
mov qword [r15 + 0x50], rdx
cmp edi, r9d
jb 0x1401a7353
jmp 0x1401a73aa
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a73aa
cmp rdx, qword [r12 + 0xb8]
ja 0x1401a7397
cmp dword [r12 + 0x54], 0
je 0x1401a73aa
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rdi, qword [rsp + 0x30]
mov r9d, 0
cmp r14d, 2
je 0x1401a5b40
nop
jmp 0x1401ae195
lea rax, [rbx + 2]
mov qword [r15 + 0x10], rax
lea rdx, [rbx + 0x22]
mov qword [r15], rdx
lea r10, [0x140000000]
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 0xb
ja case.default.0x1401a73f9
cdqe
mov ecx, dword [r10 + rax*4 + 0x1b0d0c]
add rcx, r10
jmp rcx
lea rax, [rbx + 0x24]
mov qword [r15], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x240678]
mov dword [r15 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x240648]
mov r14d, dword [r10 + rcx*4 + 0x240618]
mov dword [r15 + 0x3c], eax
mov dword [rsp + 0xf0], r14d
jmp 0x1401a7488
movzx eax, word [rdx + 2]
mov dword [r15 + 0x38], eax
movzx eax, word [rdx + 4]
mov dword [r15 + 0x3c], eax
test eax, eax
jne 0x1401a745c
mov dword [r15 + 0x3c], 0xffffffff
movzx eax, word [rdx]
mov r14d, dword [r10 + rax*4 + 0x240490]
lea rax, [rdx + 6]
mov qword [r15], rax
mov dword [rsp + 0xf0], r14d
jmp 0x1401a7488
mov dword [r15 + 0x3c], 1
mov dword [r15 + 0x38], 1
mov ebx, dword [r15 + 0x38]
mov eax, ebx
mov r9d, 1
test r13d, r13d
je 0x1401a756b
nop dword [rax]
cmp ebx, r9d
jb 0x1401a75df
nop dword [rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a6b27
movzx r8d, word [rax]
lea rdx, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], rdx
mov eax, r8d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7512
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r8d
shl eax, 0xa
mov r8d, ecx
or r8d, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add r8d, 0x10000
mov eax, 0xff
cmp r8d, eax
jbe 0x1401a7534
cmp byte [r15 + 0x49], 0x6e
jne 0x1401a7555
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
mov r8d, eax
jmp 0x1401aceb9
mov rax, qword [r15 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
test byte [rcx + rax], dl
je case.0x1401a7f84.8193
mov eax, dword ds:[r15 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401a74b0
jmp 0x1401a75df
cmp ebx, r9d
jb 0x1401a75df
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a6b27
movzx r8d, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
mov eax, 0xff
cmp r8d, eax
jbe 0x1401a75b2
cmp byte [r15 + 0x49], 0x6e
je 0x1401a7523
jmp 0x1401a75d3
mov rax, qword [r15 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov rcx, r8
shr rcx, 3
test byte [rcx + rax], dl
je case.0x1401a7f84.8193
mov eax, dword [r15 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401a7570
mov r11d, dword [r15 + 0x3c]
mov r9d, 0
cmp eax, r11d
je 0x1401a5b29
test r14d, r14d
je 0x1401b0125
mov r9, qword [r15 + 0x50]
mov qword [r15 + 8], r9
mov eax, dword [r15 + 0x3c]
test r13d, r13d
je 0x1401a76f9
cmp ebx, eax
jae 0x1401a76ea
nop dword [rax + rax]
cmp r9, qword [r12 + 0xa8]
jae 0x1401a76b4
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7670
movzx ecx, word [r9 + 2]
mov eax, 0x3ff
and ecx, eax
mov r10d, 2
and eax, r8d
mov r8d, ecx
shl eax, 0xa
or r8d, eax
add r8d, 0x10000
mov eax, 0xff
cmp r8d, eax
jbe 0x1401a7682
cmp byte ds:[r15 + 0x49], 0x6e
jmp 0x1401a769d
mov rax, qword [r15 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
test byte [rcx + rax], dl
je 0x1401a76ea
inc ebx
lea r9, [r9 + r10*2]
mov qword [r15 + 0x50], r9
cmp ebx, r11d
jb 0x1401a7620
jmp 0x1401a76ea
movzx eax, word ds:[r12 + 0x80]
test ax, ax
je 0x1401a76ea
cmp r9, qword [r12 + 0xb8]
ja 0x1401a76d7
cmp dword [r12 + 0x54], 0
je 0x1401a76ea
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
cmp r14d, 2
jne 0x1401b039d
jmp 0x1401a5b26
nop dword [rax]
cmp ebx, eax
jae 0x1401a778e
nop dword [rax + rax]
cmp r9, qword [r12 + 0xa8]
jae 0x1401a775b
movzx eax, word [r9]
mov ecx, 0xff
cmp eax, ecx
jbe 0x1401a772e
cmp byte [r15 + 0x49], 0x6e
jmp 0x1401a7748
mov ecx, eax
mov edx, 1
and ecx, 7
shl edx, cl
mov rcx, rax
mov rax, qword [r15 + 0x10]
shr rcx, 3
test byte [rcx + rax], dl
je 0x1401a778e
add r9, 2
inc ebx
mov qword [r15 + 0x50], r9
cmp ebx, r11d
jb 0x1401a7710
jmp 0x1401a778e
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a778e
cmp r9, qword [r12 + 0xb8]
ja 0x1401a777b
cmp dword [r12 + 0x54], 0
je 0x1401a778e
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
cmp r14d, 2
je 0x1401a5b26
mov rbp, qword [rsp + 0x30]
mov rax, qword [r15 + 8]
cmp qword [r15 + 0x50], rax
jae 0x1401b027a
xor edi, edi
jmp 0x1401ae88a
lea rax, [rbx + 4]
mov qword [r15 + 0x10], rax
movzx eax, word [rbx + 2]
lea rdx, [rbx + rax*2]
mov qword [r15], rdx
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 0xb
ja case.default.0x1401a77ea
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1b0d3c]
add rcx, r10
jmp rcx
lea rax, [rdx + 2]
mov qword [r15], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x240678]
mov dword [r15 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x240648]
mov r14d, dword [r10 + rcx*4 + 0x240618]
mov dword [r15 + 0x3c], eax
mov dword [rsp + 0xf0], r14d
jmp 0x1401a7878
movzx eax, word [rdx + 2]
mov dword [r15 + 0x38], eax
movzx eax, word [rdx + 4]
mov dword [r15 + 0x3c], eax
test eax, eax
jne 0x1401a784c
mov dword [r15 + 0x3c], 0xffffffff
movzx eax, word [rdx]
mov r14d, dword [r10 + rax*4 + 0x240490]
lea rax, [rdx + 6]
mov qword [r15], rax
mov dword [rsp + 0xf0], r14d
jmp 0x1401a7878
mov dword [r15 + 0x3c], 1
mov dword [r15 + 0x38], 1
mov edi, dword [r15 + 0x38]
mov ebx, 1
cmp edi, ebx
jb 0x1401a791c
nop dword [rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx r9d, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401a78f7
mov ecx, 0xfc00
mov eax, r9d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a78f7
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r9d
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add r9d, 0x10000
mov rdx, qword [r15 + 0x10]
mov r8d, r13d
mov ecx, r9d
call fcn.1401d7a20
test eax, eax
je case.0x1401a5b6f.82
mov edi, dword [r15 + 0x38]
inc ebx
cmp ebx, edi
jbe 0x1401a7890
mov ecx, dword [r15 + 0x3c]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xc0]
mov r9d, 0
cmp edi, ecx
je 0x1401a5b15
nop dword [rax]
test r14d, r14d
je 0x1401b036c
mov rax, qword [r15 + 0x50]
mov qword [r15 + 8], rax
cmp edi, ecx
jae 0x1401a7a0e
nop dword [rax]
mov rcx, qword [r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a79db
movzx r9d, word [rcx]
mov ebx, 1
test r13d, r13d
je 0x1401a79b2
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401a79b2
movzx ecx, word [rcx + 2]
mov eax, 0x3ff
and ecx, eax
mov ebx, 2
and eax, r9d
mov r9d, ecx
shl eax, 0xa
or r9d, eax
add r9d, 0x10000
mov rdx, qword ds:[r15 + 0x10]
mov r8d, r13d
mov ecx, r9d
call fcn.1401d7a20
test eax, eax
je 0x1401a7a0e
lea rax, [rbx + rbx]
inc edi
add qword [r15 + 0x50], rax
cmp edi, dword [r15 + 0x3c]
jb 0x1401a7960
jmp 0x1401a7a0e
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a7a0e
cmp rcx, qword [r12 + 0xb8]
ja 0x1401a79fb
cmp dword [r12 + 0x54], 0
je 0x1401a7a0e
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
cmp r14d, 2
jne 0x1401ae787
mov rdi, qword [rsp + 0x30]
xor r9d, r9d
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jb 0x1401a7a6f
movzx ecx, word [r12 + 0x80]
test cx, cx
je case.0x1401a5b6f.82
cmp rax, qword [r12 + 0xb8]
ja 0x1401a7a66
cmp dword ds:[r12 + 0x54], 0
je case.0x1401a5b6f.82
cmp cx, 1
jmp 0x1401a5e96
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7ab3
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7ab3
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0xff
cmp edx, r8d
ja case.0x1401a7f84.8203
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
je case.0x1401a7f84.8203
mov rbp, qword [rsp + 0x30]
lea r10, [0x140000000]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb9
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7b46
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7b46
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0xff
cmp edx, r8d
ja 0x1401a7ad8
mov rax, qword ds:[r12 + 0x68]
test byte [rdx + rax], 8
je 0x1401a7ad8
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b31
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401a7bdd
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401a7bdd
movzx eax, word [rdx]
mov r8d, 0x3ff
and ecx, r8d
and eax, r8d
shl ecx, 0xa
lea r8, [0x140000000]
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
mov eax, 0xff
cmp ecx, eax
ja 0x1401a5f6d
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
je 0x1401a5f6d
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7c5d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7c5d
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0xff
cmp edx, r8d
ja 0x1401a7ad8
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
je 0x1401a7ad8
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b31
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7cdd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7cdd
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0xff
cmp edx, r8d
ja case.0x1401a7f84.8203
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
jmp 0x1401a7ad2
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7d52
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7d52
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0xff
cmp edx, r8d
ja 0x1401a7ad8
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
je 0x1401a7ad8
lea rax, ds:[rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b31
mov r8, qword [r15 + 0x50]
cmp r8, qword [r12 + 0xa8]
jae 0x1401a5fe9
movzx ecx, word [r8]
add r8, 2
mov qword [r15 + 0x50], r8
mov rdx, r8
test r13d, r13d
je 0x1401a7de5
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401a7de5
movzx eax, word [r8]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
lea rdx, [r8 + 2]
or ecx, eax
mov qword [r15 + 0x50], rdx
add ecx, 0x10000
cmp ecx, 0xd
ja 0x1401a7e73
je 0x1401a7e05
sub ecx, 0xa
je 0x1401a7e9c
sub ecx, 1
jmp 0x1401a7e81
cmp rdx, qword [r12 + 0xa8]
jb 0x1401a7e5b
movzx eax, word ds:[r12 + 0x80]
nop
test ax, ax
je 0x1401a7e9c
cmp rdx, qword [r12 + 0xb8]
ja 0x1401a7e3f
cmp dword [r12 + 0x54], 0
je 0x1401a7e9c
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
add qword [r15], 2
jmp 0x1401a5b31
cmp word ds:[rdx], 0xa
jne 0x1401a7e9c
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add qword [r15], 2
jmp 0x1401a5b31
sub ecx, 0x85
je 0x1401a7e8c
sub ecx, 0x1fa3
je 0x1401a7e8c
cmp ecx, 1
jne case.0x1401a5b6f.82
cmp word [r12 + 0x82], 2
je case.0x1401a5b6f.82
add qword [r15], 2
jmp 0x1401a5b31
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401a7eff
mov r8d, 0xfc00
mov eax, ecx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401a7eff
movzx eax, word [rdx]
mov r8d, 0x3ff
and ecx, r8d
and eax, r8d
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
mov r8d, 0x2000
cmp ecx, r8d
ja 0x1401a7f4a
je case.default.0x1401a8070
cmp ecx, 9
je case.default.0x1401a8070
cmp ecx, 0x20
je case.default.0x1401a8070
mov eax, 0xa0
cmp ecx, eax
je case.default.0x1401a8070
mov eax, 0x1680
cmp ecx, eax
je case.default.0x1401a8070
mov eax, 0x180e
cmp ecx, eax
jne case.0x1401a7f84.8203
mov rbp, qword [rsp + 0x30]
lea r10, [0x140000000]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
mov eax, 0x3000
cmp ecx, eax
ja case.0x1401a7f84.8203
je case.default.0x1401a8070
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401a7f84.8203
lea r10, [0x140000000]
movzx eax, byte [r10 + rcx + 0x1b0d74]
mov ecx, dword [r10 + rax*4 + 0x1b0d6c]
add rcx, r10
jmp rcx
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a7fdc
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a7fdc
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401a802d
je case.0x1401a7f84.8203
cmp edx, 9
je case.0x1401a7f84.8203
cmp edx, 0x20
je case.0x1401a7f84.8203
mov eax, 0xa0
cmp edx, eax
je case.0x1401a7f84.8203
mov eax, 0x1680
cmp edx, eax
je case.0x1401a7f84.8203
mov eax, 0x180e
cmp edx, eax
je case.0x1401a7f84.8203
jmp case.default.0x1401a8070
mov eax, 0x3000
cmp edx, eax
ja case.default.0x1401a8070
nop word [rax + rax]
je case.0x1401a7f84.8203
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x1401a8070
lea r10, [0x140000000]
movzx eax, byte [r10 + rdx + 0x1b0ddc]
mov ecx, dword [r10 + rax*4 + 0x1b0dd4]
add rcx, r10
jmp rcx
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a80d2
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a80d2
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401a8107
je case.0x1401a5b6f.82
nop dword [rax]
sub edx, 0xa
je case.0x1401a5b6f.82
sub edx, 1
je case.0x1401a5b6f.82
cmp edx, 1
je case.0x1401a5b6f.82
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b31
sub edx, 0x85
je case.0x1401a5b6f.82
sub edx, 0x1fa3
je case.0x1401a5b6f.82
nop
cmp edx, 1
jne case.0x1401a7f84.8203
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401a819d
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401a819d
movzx eax, word [rdx]
mov r8d, 0x3ff
and ecx, r8d
and eax, r8d
shl ecx, 0xa
lea r8, [0x140000000]
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
nop dword [rax]
cmp ecx, 0xd
ja 0x1401a81b9
je 0x1401a5f6d
sub ecx, 0xa
je 0x1401a5f6d
sub ecx, 1
jmp 0x1401a81d2
nop dword [rax]
sub ecx, 0x85
je 0x1401a5f6d
sub ecx, 0x1fa3
je 0x1401a5f6d
nop dword [rax + rax]
cmp ecx, 1
je 0x1401a5f6d
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a7a3b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a8252
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8252
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x258780]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
cmp r10b, 0xf
sete r9b
movzx eax, word [r8 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 2]
lea r8, [r8 + rcx*4]
lea r8, [r8 + 0x241970]
cmp eax, 0xd
ja case.0x1401ae2f4.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1b0e3c]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
nop dword [rax]
cmp r10b, 0xf
jne 0x1401a8649
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
movzx ecx, byte [r8 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x1401a82ed
cmp cl, 5
je 0x1401a82ed
xor eax, eax
jmp 0x1401a82f2
mov eax, 1
cmp eax, r9d
jne 0x1401a8649
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
movzx edx, byte [r8 + 1]
lea r10, [0x140000000]
movzx eax, word [rbx + 4]
xor ecx, ecx
cmp eax, dword [r10 + rdx*4 + 0x25cd70]
sete cl
cmp ecx, r9d
jne 0x1401a8649
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
movzx eax, byte [r8 + 1]
xor ecx, ecx
cmp word [rbx + 4], ax
sete cl
cmp ecx, r9d
jne 0x1401a8649
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
movzx eax, byte [r8]
jmp 0x1401a8342
movzx ecx, word [rbx + 4]
lea r10, [0x140000000]
movzx eax, byte [r8]
cmp cx, ax
je 0x1401a83aa
movzx edx, word [r8 + 8]
mov eax, 0x3ff
and rdx, rax
movzx eax, cx
shr rax, 5
and ecx, 0x1f
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x2410e0]
bt eax, ecx
jb 0x1401a83aa
xor eax, eax
jmp 0x1401a83af
mov eax, 1
cmp eax, r9d
jne 0x1401a8649
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x25cd70]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r9d
jne 0x1401a8649
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
mov eax, 0x2000
cmp edx, eax
ja 0x1401a84d4
je case.0x1401a82b7.0
nop dword [rax + rax]
cmp edx, 0x20
ja 0x1401a8497
je case.0x1401a82b7.0
sub edx, 9
je case.0x1401a82b7.0
nop dword [rax + rax]
sub edx, 1
je case.0x1401a82b7.0
sub edx, 1
je case.0x1401a82b7.0
sub edx, 1
je case.0x1401a82b7.0
cmp edx, 1
nop
je case.0x1401a82b7.0
movzx ecx, byte [r8 + 1]
lea r10, [0x140000000]
xor eax, eax
cmp dword [r10 + rcx*4 + 0x25cd70], 6
sete al
cmp eax, r9d
jne 0x1401a8649
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb3
nop word [rax + rax]
sub edx, 0x85
je case.0x1401a82b7.0
sub edx, 0x1b
je case.0x1401a82b7.0
nop word [rax + rax]
sub edx, 0x15e0
je case.0x1401a82b7.0
cmp edx, 0x18e
jmp 0x1401a845e
mov eax, 0x3000
cmp edx, eax
ja case.0x1401a8510.8194
nop dword [rax]
je case.0x1401a82b7.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401a8510.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1b0e7c]
mov ecx, dword [rdx + rax*4 + 0x1b0e74]
add rcx, rdx
jmp rcx
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x25cd70]
dec ecx
test ecx, 0xfffffffd
je 0x1401a83aa
cmp edx, 0x5f
je 0x1401a83aa
xor eax, eax
jmp 0x1401a83af
movzx eax, word ds:[rbx + 4]
lea r8, [0x140000000]
lea rcx, [r8 + 0x240f20]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401a8572
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401a858a
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401a8564
cmp r10b, 0xf
je 0x1401a8650
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
cmp r10b, 0xf
jne 0x1401a8650
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401a85c6
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401a82ed
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401a82ed
nop word [rax + rax]
cmp edx, 0xe000
jae 0x1401a82ed
xor eax, eax
jmp 0x1401a82f2
movzx eax, word [r8 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [rbx + 4]
jmp 0x1401a8348
movzx ecx, word ds:[rbx + 4]
lea r10, [0x140000000]
movzx edx, word [r8 + 0xa]
mov eax, ecx
and edx, 0xfff
shr rax, 5
add rdx, rax
and ecx, 0x1f
mov eax, dword [r10 + rdx*4 + 0x2413e0]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r9d
je case.0x1401a7f84.8193
lea r8, [0x140000000]
lea rax, [rbx + 6]
xor r9d, r9d
mov qword [r15], rax
jmp 0x1401a5b40
mov rdx, qword [r15 + 0x50]
cmp rdx, qword [r12 + 0xa8]
jb 0x1401a868c
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401a5b6f.82
cmp rdx, qword [r12 + 0xb8]
jmp 0x1401a5e84
movzx r10d, word ds:[rdx]
add rdx, 2
mov qword [r15 + 0x50], rdx
mov rcx, rdx
test r13d, r13d
je 0x1401a86ea
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401a86ea
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r10d
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r15 + 0x50], rcx
mov r8, qword [r12 + 0x98]
mov rdx, rcx
mov qword [rsp + 0x28], r9
mov ecx, r10d
mov r9, qword [r12 + 0xa8]
mov dword [rsp + 0x20], r13d
call fcn.1401d8560
mov qword ds:[r15 + 0x50], rax
nop
cmp rax, qword [r12 + 0xa8]
jb 0x1401a876a
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401a876a
nop dword [rax]
cmp rax, qword [r12 + 0xb8]
ja 0x1401a8752
cmp dword [r12 + 0x54], 0
je 0x1401a876a
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
add qword [r15], 2
mov r11d, dword [rsp + 0xc0]
xor r9d, r9d
jmp 0x1401a5b31
movzx eax, word [rbx + 2]
lea r10, [0x140000000]
mov dword [r15 + 0x3c], eax
add rbx, 4
mov dword [r15 + 0x38], eax
mov qword [r15], rbx
jmp 0x1401a88d9
xor edi, edi
lea r10, [0x140000000]
mov dword [r15 + 0x38], edi
mov r14d, edi
movzx eax, word [rbx + 2]
mov dword [r15 + 0x3c], eax
cmp word [rbx], 0x5c
setne r14b
add rbx, 4
mov qword [r15], rbx
mov dword [rsp + 0xf0], r14d
jmp 0x1401a88db
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xf0], eax
mov dword [r15 + 0x38], edi
add rbx, rax
mov dword [r15 + 0x3c], 0xffffffff
mov r14d, eax
mov qword [r15], rbx
jmp 0x1401a88db
mov eax, 2
mov dword [r15 + 0x38], 1
add rbx, rax
mov dword [r15 + 0x3c], 0xffffffff
mov qword [r15], rbx
lea r10, [0x140000000]
mov r14d, eax
mov dword [rsp + 0xf0], eax
jmp 0x1401a88d9
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xf0], eax
mov dword [r15 + 0x38], edi
add rbx, rax
mov dword [r15 + 0x3c], 1
mov r14d, eax
mov qword [r15], rbx
jmp 0x1401a88db
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xf0], eax
mov dword [r15 + 0x38], edi
mov r14d, eax
movzx eax, word [rbx + 2]
add rbx, 4
mov dword [r15 + 0x3c], eax
mov qword [r15], rbx
jmp 0x1401a88db
movzx eax, word [rbx]
lea r10, [0x140000000]
sub eax, 0x55
add rbx, 2
mov qword [r15], rbx
lea rcx, [rax*4]
mov eax, dword [rcx + r10 + 0x240678]
mov r14d, dword [rcx + r10 + 0x240618]
mov dword [r15 + 0x38], eax
mov eax, dword [rcx + r10 + 0x240648]
mov dword [r15 + 0x3c], eax
mov dword [rsp + 0xf0], r14d
xor edi, edi
movzx eax, word [rbx]
lea rcx, [rbx + 2]
mov dword [r15 + 0x40], eax
sub ax, 0xf
mov qword [r15], rcx
cmp ax, 1
jbe 0x1401a88fa
mov esi, 0xffffffff
jmp 0x1401a8912
movzx esi, word [rcx]
add rcx, 2
mov qword [r15], rcx
movzx eax, word [rcx]
mov dword [r15 + 0x44], eax
lea rax, [rcx + 2]
mov qword [r15], rax
mov r11d, dword [r15 + 0x38]
test r11d, r11d
je 0x1401a971f
mov edx, dword [r15 + 0x40]
test esi, esi
js 0x1401a93fe
cmp edx, 0xf
mov r10d, edi
sete r10b
cmp esi, 0xd
ja case.0x1401ae2f4.15
lea rbx, [0x140000000]
movsxd rax, esi
mov ecx, dword [rbx + rax*4 + 0x1b0edc]
add rcx, rbx
jmp rcx
cmp edx, 0xf
je 0x1401a5ce0
mov r8d, 1
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a89b3
movzx edx, word [rcx]
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
test r13d, r13d
je 0x1401a89a6
mov eax, 0xfc00
and edx, eax
mov eax, 0xd800
cmp edx, eax
jne 0x1401a89a6
lea rax, [rcx + 4]
mov qword [r15 + 0x50], rax
inc r8d
cmp r8d, r11d
jbe 0x1401a8970
jmp 0x1401a971f
movzx eax, word ds:[r12 + 0x80]
test ax, ax
je 0x1401a5ce0
cmp rcx, qword [r12 + 0xb8]
ja 0x1401a89df
cmp dword [r12 + 0x54], 0
je 0x1401a5ce0
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceac
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a8a5a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8a5a
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx edx, byte [rbx + rcx*4 + 0x241971]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401a8a92
mov eax, edi
cmp dl, 8
jne 0x1401a8a97
mov eax, 1
nop word [rax + rax]
cmp eax, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a8a04
jmp 0x1401a971f
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401a5ce0
cmp rax, qword [r12 + 0xb8]
ja 0x1401a8ae6
cmp dword ds:[r12 + 0x54], 0
je 0x1401a5ce0
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceac
mov r9d, 1
nop dword [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a8b66
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8b66
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + 0x44]
movzx edx, byte [rbx + rcx*4 + 0x241971]
mov ecx, edi
cmp dword [rbx + rdx*4 + 0x25cd70], eax
sete cl
cmp ecx, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a8b10
jmp 0x1401a971f
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a8c19
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8c19
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x241971]
mov ecx, edi
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a8bc0
jmp 0x1401a971f
mov r8d, 1
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401a8cd6
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401a8cd6
movzx eax, word [rcx]
mov r9d, 0x3ff
and edx, r9d
and eax, r9d
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x241970]
mov ecx, edi
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r10d
je 0x1401a5ce0
inc r8d
cmp r8d, r11d
jbe 0x1401a8c74
nop
jmp 0x1401a971f
mov r9d, 1
nop dword [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
mov ebx, 0x3ff
test r13d, r13d
je 0x1401a8d96
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8d96
movzx ecx, word [r8]
and edx, ebx
mov eax, edx
and ecx, ebx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
lea r8, [0x140000000]
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x241970]
mov ecx, dword [r15 + 0x44]
movzx eax, byte [rdx + r8]
cmp eax, ecx
je 0x1401a8dfa
movzx edx, word [rdx + r8 + 8]
mov eax, ecx
shr rax, 5
and rdx, rbx
add rdx, rax
and ecx, 0x1f
mov eax, dword [r8 + rdx*4 + 0x2410e0]
bt eax, ecx
mov eax, edi
jae 0x1401a8dff
mov eax, 1
nop
cmp eax, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a8d30
jmp 0x1401a9726
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a8e79
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a8e79
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x241971]
mov eax, dword [rbx + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete al
cmp eax, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a8e20
jmp 0x1401a971f
mov r8d, 1
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea rcx, [rax + 2]
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401a8f3d
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401a8f3d
movzx eax, word [rcx]
mov r9d, 0x3ff
and edx, r9d
and eax, r9d
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x1401a9002
je case.0x1401a902e.8193
cmp edx, 0x20
ja 0x1401a8fe5
je case.0x1401a902e.8193
mov eax, edx
sub eax, 9
je case.0x1401a902e.8193
sub eax, 1
je case.0x1401a902e.8193
sub eax, 1
je case.0x1401a902e.8193
nop dword [rax]
sub eax, 1
je case.0x1401a902e.8193
cmp eax, 1
je case.0x1401a902e.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, edi
movzx edx, byte [rbx + rcx*4 + 0x241971]
cmp dword [rbx + rdx*4 + 0x25cd70], 6
sete al
cmp eax, r10d
je 0x1401a5ce0
inc r8d
cmp r8d, r11d
jbe 0x1401a8ee0
nop
jmp 0x1401a971f
mov eax, edx
sub eax, 0x85
je case.0x1401a902e.8193
sub eax, 0x1b
je case.0x1401a902e.8193
sub eax, 0x15e0
je case.0x1401a902e.8193
cmp eax, 0x18e
jmp 0x1401a8f8c
mov eax, 0x3000
cmp edx, eax
ja case.0x1401a902e.8194
je case.0x1401a902e.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401a902e.8194
movzx eax, byte [rbx + rax + 0x1b0f1c]
mov ecx, dword [rbx + rax*4 + 0x1b0f14]
add rcx, rbx
jmp rcx
test r10d, r10d
jne 0x1401a5ce0
jmp 0x1401a8fd2
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a9099
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9099
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x241971]
mov eax, dword [rbx + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
je 0x1401a90dc
mov eax, edi
cmp edx, 0x5f
jne 0x1401a90e1
mov eax, 1
cmp eax, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a9041
jmp 0x1401a971f
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a9159
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9159
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, dword [r15 + 0x44]
lea rcx, [rbx + 0x240f20]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401a917e
nop
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401a919a
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401a9170
nop
test r10d, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a9101
jmp 0x1401a971f
nop word [rax + rax]
test r10d, r10d
jne 0x1401a5ce0
jmp 0x1401a9189
mov r8d, 1
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401a9216
mov r9d, 0xfc00
mov eax, ecx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401a9216
movzx eax, word [rdx]
mov r9d, 0x3ff
and ecx, r9d
and eax, r9d
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
lea eax, [rcx - 0x24]
cmp eax, 0x3c
ja 0x1401a922e
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x1401a9248
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401a9248
mov eax, edi
cmp ecx, 0xe000
jb 0x1401a924d
mov eax, 1
cmp eax, r10d
je 0x1401a5ce0
inc r8d
cmp r8d, r11d
jbe 0x1401a91b1
jmp 0x1401a971f
mov r9d, 1
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a92d2
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a92d2
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + rcx*4 + 0x241978]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a9274
nop dword [rax]
jmp 0x1401a971f
mov r9d, 1
nop dword [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401a9392
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9392
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, dword [r15 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rbx + rcx*4 + 0x24197a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rbx + rdx*4 + 0x2413e0]
bt eax, r8d
mov edx, edi
setb dl
cmp edx, r10d
je 0x1401a5ce0
inc r9d
cmp r9d, r11d
jbe 0x1401a9330
jmp 0x1401a971f
nop
cmp edx, 0x16
jne 0x1401a94fb
lea ebx, [rdx - 0x15]
nop dword [rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a8aba
movzx r10d, word ds:[rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
mov rcx, rdx
test r13d, r13d
je 0x1401a9481
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401a9481
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r10d
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r15 + 0x50], rcx
mov r9, qword [r12 + 0xa8]
mov rdx, rcx
mov r8, qword [r12 + 0x98]
mov ecx, r10d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r13d
call fcn.1401d8560
mov qword [r15 + 0x50], rax
cmp rax, qword [r12 + 0xa8]
jb 0x1401a94ea
movzx ecx, word ds:[r12 + 0x80]
test cx, cx
je 0x1401a94ea
cmp rax, qword [r12 + 0xb8]
ja 0x1401a94d7
cmp dword [r12 + 0x54], 0
je 0x1401a94ea
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
inc ebx
cmp ebx, dword [r15 + 0x38]
jbe 0x1401a9410
jmp 0x1401a971f
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x1401ae2f4.15
test r13d, r13d
je 0x1401a9e6a
mov ecx, dword [r10 + rdx*4 + 0x1b0f7c]
add rcx, r10
jmp rcx
mov edi, 1
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword ds:[r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jae 0x1401a5e6a
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401a9571
lea r9, [r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
test eax, eax
jne case.0x1401a5b6f.82
jmp 0x1401a95af
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401a95af
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a95af
cmp edx, 1
je case.0x1401a5b6f.82
movzx eax, word [r12 + 0x106]
cmp word [rcx + 2], ax
je case.0x1401a5b6f.82
movzx edx, word [r12 + 0x80]
test dx, dx
je 0x1401a960a
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb 0x1401a960a
cmp dword [r12 + 0xfc], 0
jne 0x1401a960a
cmp dword [r12 + 0x100], 2
jne 0x1401a960a
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a960a
mov dword ds:[r12 + 0x4c], 1
cmp dx, 1
ja 0x1401a6b6a
mov rcx, qword ds:[r15 + 0x50]
add rcx, 2
mov qword [r15 + 0x50], rcx
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a9647
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401a9647
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
inc edi
cmp edi, dword [r15 + 0x38]
jbe 0x1401a9530
jmp 0x1401a971f
mov edx, 1
nop dword [rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
lea rcx, ds:[rax + 2]
mov qword [r15 + 0x50], rcx
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a96ae
movzx eax, word ds:[rcx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x1401a96ae
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
inc edx
cmp edx, r11d
jbe 0x1401a9660
jmp 0x1401a971f
movzx ecx, word [r12 + 0x80]
test cx, cx
je case.0x1401aa128.8193
cmp rax, qword [r12 + 0xb8]
ja 0x1401a96df
cmp dword [r12 + 0x54], 0
je case.0x1401aa128.8193
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceb3
mov rdx, qword [r15 + 0x50]
imul rax, r11, 0xfffffffffffffffe
add rax, qword [r12 + 0xa8]
cmp rdx, rax
ja case.0x1401aa128.8193
lea rax, [rdx + r11*2]
mov qword [r15 + 0x50], rax
lea r8, [0x140000000]
mov ebx, dword ds:[r15 + 0x3c]
mov r9d, 0
mov edi, dword [r15 + 0x38]
mov r11d, dword [rsp + 0xc0]
cmp edi, ebx
je 0x1401a5b0d
test r14d, r14d
je 0x1401b0145
mov r10, qword ds:[r15 + 0x50]
mov qword [r15 + 8], r10
mov eax, dword [r15 + 0x40]
test esi, esi
js 0x1401ab2fc
cmp eax, 0xf
mov r11d, r9d
sete r11b
cmp esi, 0xd
ja case.0x1401ae2f4.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x1b0fbc]
add rcx, rsi
jmp rcx
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a97f1
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r15 + 0x50], r8
cmp edx, 0xd
ja 0x1401a981d
je 0x1401a9802
sub edx, 0xa
je 0x1401a9849
sub edx, 1
jmp 0x1401a982e
cmp r8, qword [r12 + 0xa8]
jae 0x1401a9849
cmp word [r8], 0xa
jne 0x1401a9849
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
jmp 0x1401a9849
nop dword [rax]
sub edx, 0x85
je 0x1401a9839
sub edx, 0x1fa3
je 0x1401a9839
cmp edx, 1
jne case.0x1401aa128.8193
cmp word [r12 + 0x82], 2
je case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a97a0
jmp 0x1401a971f
mov r9d, 1
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a98b1
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401a9919
nop dword [rax]
je case.0x1401aa128.8193
cmp edx, 9
je case.0x1401aa128.8193
cmp edx, 0x20
je case.0x1401aa128.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401aa128.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401aa128.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a9860
jmp 0x1401a971f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401a9949.8194
je case.0x1401aa128.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401a9949.8194
movzx eax, byte [r10 + rdx + 0x1b0ffc]
mov ecx, dword [r10 + rax*4 + 0x1b0ff4]
add rcx, r10
jmp rcx
mov r9d, 1
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a99ad
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401a99f9
je case.0x1401a9a2d.8193
cmp edx, 9
je case.0x1401a9a2d.8193
nop
cmp edx, 0x20
je case.0x1401a9a2d.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401a9a2d.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401a9a2d.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a9951
jmp 0x1401a971f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401aa128.8193
je case.0x1401a9a2d.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401aa128.8193
movzx eax, byte [r10 + rdx + 0x1b1064]
mov ecx, dword [r10 + rax*4 + 0x1b105c]
add rcx, r10
jmp rcx
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9a91
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401a9aae
je case.0x1401aa128.8193
nop dword [rax]
sub edx, 0xa
je case.0x1401aa128.8193
sub edx, 1
jmp 0x1401a9ac0
sub edx, 0x85
je case.0x1401aa128.8193
sub edx, 0x1fa3
je case.0x1401aa128.8193
cmp edx, 1
je case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a9a40
nop dword [rax + rax]
jmp 0x1401a971f
mov r9d, 1
nop dword [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9b4d
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401a9b5e
je 0x1401a9b79
sub edx, 0xa
je 0x1401a9b79
sub edx, 1
jmp 0x1401a9b6e
nop
sub edx, 0x85
je 0x1401a9b79
sub edx, 0x1fa3
je 0x1401a9b79
cmp edx, 1
jne case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a9af0
jmp 0x1401a971f
mov r9d, 1
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r15 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401a9bed
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, 0x80
cmp edx, eax
jae 0x1401a9c06
mov rax, qword ds:[r12 + 0x68]
test byte [rdx + rax], 8
jne case.0x1401aa128.8193
inc r9d
cmp r9d, r11d
jbe 0x1401a9b94
jmp 0x1401a971f
mov r8d, 1
nop dword [rax]
mov rdx, qword [r15 + 0x50]
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 8
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401a9c20
jmp 0x1401a971f
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401aa128.8193
cmp rdx, qword [r12 + 0xb8]
ja 0x1401a9c92
cmp dword [r12 + 0x54], 0
je case.0x1401aa128.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401aceb3
mov r8d, 1
nop dword [rax]
mov rdx, qword [r15 + 0x50]
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401a9cec
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
jne case.0x1401aa128.8193
lea rcx, [rdx + 2]
mov qword [r15 + 0x50], rcx
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a9d1b
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401a9d1b
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
inc r8d
cmp r8d, r11d
jbe 0x1401a9cc0
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401a9d30
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401a9dcc
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
jne case.0x1401aa128.8193
lea rcx, [rdx + 2]
mov qword [r15 + 0x50], rcx
cmp rcx, qword [r12 + 0xa8]
jae 0x1401a9dfb
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401a9dfb
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
inc r8d
cmp r8d, r11d
jbe 0x1401a9d90
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401a9e10
jmp 0x1401a971f
mov ecx, dword [r10 + rdx*4 + 0x1b10c4]
add rcx, r10
jmp rcx
mov edi, 1
nop dword [rax]
mov rcx, qword [r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jae 0x1401a5e6a
mov edx, dword ds:[r12 + 0xfc]
test edx, edx
je 0x1401a9ec2
lea r9, [r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
test eax, eax
jne case.0x1401a5b6f.82
nop
jmp 0x1401a9f0a
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401a9f0a
movzx eax, word ds:[r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a9f0a
cmp edx, 1
je case.0x1401a5b6f.82
movzx eax, word ds:[r12 + 0x106]
nop dword [rax]
cmp word [rcx + 2], ax
je case.0x1401a5b6f.82
movzx edx, word [r12 + 0x80]
test dx, dx
je 0x1401a9f6a
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb 0x1401a9f6a
cmp dword [r12 + 0xfc], 0
jne 0x1401a9f6a
cmp dword ds:[r12 + 0x100], 2
jne 0x1401a9f6a
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401a9f6a
mov dword ds:[r12 + 0x4c], 1
nop
cmp dx, 1
ja 0x1401a6b6a
add qword [r15 + 0x50], 2
inc edi
cmp edi, dword [r15 + 0x38]
jbe 0x1401a9e80
nop dword [rax + rax]
jmp 0x1401a971f
mov rcx, qword [r15 + 0x50]
imul rax, r11, 0xfffffffffffffffe
add rax, qword [r12 + 0xa8]
cmp rcx, rax
jbe 0x1401a9fb9
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401aa128.8193
cmp rcx, qword [r12 + 0xb8]
jmp 0x1401a9c84
lea rax, ds:[rcx + r11*2]
jmp 0x1401a971b
mov edx, 1
nop word [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx ecx, word [rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp ecx, 0xd
ja 0x1401aa026
nop
je 0x1401aa00c
sub ecx, 0xa
je 0x1401aa04f
sub ecx, 1
jmp 0x1401aa034
cmp rax, qword [r12 + 0xa8]
jae 0x1401aa04f
cmp word [rax], 0xa
jne 0x1401aa04f
add rax, 2
mov qword [r15 + 0x50], rax
jmp 0x1401aa04f
sub ecx, 0x85
je 0x1401aa03f
sub ecx, 0x1fa3
je 0x1401aa03f
cmp ecx, 1
jne case.0x1401aa128.8193
cmp word [r12 + 0x82], 2
je case.0x1401aa128.8193
inc edx
cmp edx, r11d
jbe 0x1401a9fd0
jmp 0x1401a971f
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx ecx, word [rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp cx, r8w
ja 0x1401aa0f5
nop
je case.0x1401aa128.8193
cmp ecx, 9
je case.0x1401aa128.8193
cmp ecx, 0x20
je case.0x1401aa128.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401aa128.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401aa128.8193
mov eax, 0x180e
cmp cx, ax
je case.0x1401aa128.8193
inc edx
cmp edx, r11d
jbe 0x1401aa070
jmp 0x1401a971f
mov eax, 0x3000
cmp cx, ax
ja case.0x1401aa128.8194
nop
je case.0x1401aa128.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401aa128.8194
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1b110c]
mov ecx, dword [r10 + rax*4 + 0x1b1104]
add rcx, r10
jmp rcx
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx ecx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp cx, r8w
ja 0x1401aa1a5
je case.0x1401aa1e0.8193
cmp ecx, 9
je case.0x1401aa1e0.8193
cmp ecx, 0x20
je case.0x1401aa1e0.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401aa1e0.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401aa1e0.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x1401aa128.8193
inc edx
cmp edx, r11d
jbe 0x1401aa140
nop dword [rax + rax]
jmp 0x1401a971f
mov eax, 0x3000
cmp cx, ax
ja case.0x1401aa128.8193
je case.0x1401aa1e0.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401aa128.8193
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1b1174]
mov ecx, dword [r10 + rax*4 + 0x1b116c]
add rcx, r10
jmp rcx
mov edx, 1
nop word [rax + rax]
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx ecx, word [rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp ecx, 0xd
ja 0x1401aa234
nop
je case.0x1401aa128.8193
sub ecx, 0xa
je case.0x1401aa128.8193
sub ecx, 1
jmp 0x1401aa252
nop dword [rax]
nop dword [rax + rax]
sub ecx, 0x85
je case.0x1401aa128.8193
sub ecx, 0x1fa3
je case.0x1401aa128.8193
nop dword [rax + rax]
cmp ecx, 1
je case.0x1401aa128.8193
inc edx
cmp edx, r11d
jbe 0x1401aa1f0
jmp 0x1401a971f
mov edx, 1
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401a96b7
movzx ecx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp ecx, 0xd
ja 0x1401aa2b1
je 0x1401aa2cb
sub ecx, 0xa
je 0x1401aa2cb
sub ecx, 1
jmp 0x1401aa2bf
sub ecx, 0x85
je 0x1401aa2cb
sub ecx, 0x1fa3
nop
je 0x1401aa2cb
cmp ecx, 1
jne case.0x1401aa128.8193
inc edx
cmp edx, r11d
jbe 0x1401aa280
jmp 0x1401a971f
mov r8d, 1
nop dword [rax]
mov rdx, qword [r15 + 0x50]
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401aa310
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 8
jne case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa2e0
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 8
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa330
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401aa3cc
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
jne case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa390
nop dword [rax]
jmp 0x1401a971f
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa3f0
jmp 0x1401a971f
mov r8d, 1
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401aa48c
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
jne case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa450
nop dword [rax]
jmp 0x1401a971f
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword ds:[r15 + 0x50]
nop
cmp rdx, qword [r12 + 0xa8]
jae 0x1401a9c6a
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401aa128.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
je case.0x1401aa128.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
cmp r8d, r11d
jbe 0x1401aa4b0
jmp 0x1401a971f
cmp edi, ebx
jae 0x1401ab2d1
cmp r10, qword [r12 + 0xa8]
jae 0x1401aa55c
mov ecx, 1
test r13d, r13d
je 0x1401aa53f
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
nop
test r11d, r11d
jne 0x1401ab2d1
inc edi
lea r10, [r10 + rcx*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa512
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
cmp r10, qword [r12 + 0xb8]
ja 0x1401aa58b
nop dword [rax + rax]
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop dword [rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aa665
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aa600
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aa600
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x241971]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401aa639
mov eax, r9d
cmp dl, 8
jne 0x1401aa63e
mov eax, 1
nop
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa5b0
nop dword [rax + rax]
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401aa695
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aa76d
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aa710
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aa710
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + 0x44]
movzx edx, byte [rsi + rcx*4 + 0x241971]
mov ecx, r9d
cmp dword [rsi + rdx*4 + 0x25cd70], eax
sete cl
cmp ecx, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa6c0
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop
cmp r10, qword [r12 + 0xb8]
ja 0x1401aa795
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aa865
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aa810
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aa810
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x241971]
mov ecx, r9d
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa7c0
nop
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401aa895
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aa965
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aa910
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aa910
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x241970]
mov ecx, r9d
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa8c0
nop
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401aa995
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aaaad
movzx edx, word ds:[r10]
mov r8d, 1
mov esi, 0x3ff
test r13d, r13d
je 0x1401aaa15
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aaa15
movzx ecx, word [r10 + 2]
and edx, esi
mov eax, edx
and ecx, esi
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
lea rcx, [0x140000000]
and edx, 0x7f
shr rax, 7
movzx ecx, word [rcx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
lea rdx, [0x140000000]
movzx eax, word [rdx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
lea rdx, [rdx + rcx*4]
mov ecx, dword [r15 + 0x44]
movzx eax, byte [rdx + 0x241970]
lea rdx, [rdx + 0x241970]
cmp eax, ecx
je 0x1401aaa88
movzx edx, word [rdx + 8]
mov eax, ecx
shr rax, 5
and rdx, rsi
add rdx, rax
and ecx, 0x1f
lea rax, [0x140000000]
mov eax, dword [rax + rdx*4 + 0x2410e0]
bt eax, ecx
mov eax, r9d
jae 0x1401aaa8d
mov eax, 1
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aa9c0
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop
cmp r10, qword [r12 + 0xb8]
ja 0x1401aaad5
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aabae
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aab50
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aab50
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x241971]
mov eax, dword [rsi + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
mov eax, r9d
sete al
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aab00
jmp 0x1401ab2d1
movzx eax, word ds:[r12 + 0x80]
nop dword [rax]
test ax, ax
je 0x1401ab2d1
cmp r10, qword [r12 + 0xb8]
ja 0x1401aabde
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop
cmp r10, qword [r12 + 0xa8]
jae 0x1401aad70
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aac50
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aac50
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x1401aad31
nop dword [rax]
je case.0x1401aad63.8193
cmp edx, 0x20
ja 0x1401aad0d
je case.0x1401aad63.8193
mov eax, edx
sub eax, 9
je case.0x1401aad63.8193
sub eax, 1
je case.0x1401aad63.8193
sub eax, 1
je case.0x1401aad63.8193
nop dword [rax + rax]
sub eax, 1
je case.0x1401aad63.8193
cmp eax, 1
je case.0x1401aad63.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, r9d
movzx edx, byte [rsi + rcx*4 + 0x241971]
cmp dword [rsi + rdx*4 + 0x25cd70], 6
sete al
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aac00
jmp 0x1401ab2d1
mov eax, edx
sub eax, 0x85
je case.0x1401aad63.8193
sub eax, 0x1b
je case.0x1401aad63.8193
nop dword [rax + rax]
sub eax, 0x15e0
je case.0x1401aad63.8193
cmp eax, 0x18e
jmp 0x1401aacac
mov eax, 0x3000
cmp edx, eax
ja case.0x1401aad63.8194
nop
je case.0x1401aad63.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401aad63.8194
movzx eax, byte [rsi + rax + 0x1b11dc]
mov ecx, dword [rsi + rax*4 + 0x1b11d4]
add rcx, rsi
jmp rcx
test r11d, r11d
jne 0x1401ab2d1
jmp 0x1401aacf3
movzx eax, word ds:[r12 + 0x80]
nop
test ax, ax
je 0x1401ab2d1
cmp r10, qword [r12 + 0xb8]
ja 0x1401aad9e
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop
cmp r10, qword [r12 + 0xa8]
jae 0x1401aae85
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aae10
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aae10
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x241971]
mov eax, dword [rsi + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
je 0x1401aae54
mov eax, r9d
cmp edx, 0x5f
jne 0x1401aae59
mov eax, 1
nop dword [rax]
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aadc0
nop dword [rax + rax]
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401aaeb5
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401aaf7e
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401aaf30
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aaf30
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, dword [r15 + 0x44]
lea rcx, [rsi + 0x240f20]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401aaf53
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401aaf73
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401aaf45
test r11d, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aaee0
jmp 0x1401ab2d1
test r11d, r11d
jne 0x1401ab2d1
jmp 0x1401aaf5c
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
cmp r10, qword [r12 + 0xb8]
ja 0x1401aafab
nop word [rax + rax]
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop dword [rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab085
movzx edx, word [r10]
mov ecx, 1
test r13d, r13d
je 0x1401ab025
mov r8d, 0xfc00
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401ab025
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 2
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401ab03d
movabs r8, 0x1000000010000001
bt r8, rax
jb 0x1401ab055
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401ab055
mov eax, r9d
cmp edx, 0xe000
jb 0x1401ab05a
mov eax, 1
nop word [rax + rax]
cmp eax, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + rcx*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aafd0
nop dword [rax + rax]
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401ab0b5
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab18d
movzx edx, word [r10]
mov r8d, 1
test r13d, r13d
je 0x1401ab130
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ab130
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x241978]
mov ecx, r9d
shr eax, 0xb
cmp eax, dword [r15 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ab2d1
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ab0e0
jmp 0x1401ab2d1
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2d1
nop
cmp r10, qword [r12 + 0xb8]
ja 0x1401ab1b5
cmp dword [r12 + 0x54], r9d
je 0x1401ab2d1
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401ab2d1
cmp edi, ebx
jae 0x1401ab2d1
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab29b
movzx edx, word [r10]
mov r9d, 1
test r13d, r13d
je 0x1401ab230
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ab230
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r9d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov r8d, dword [r15 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x24197a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x2413e0]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, r11d
je 0x1401ab2ce
inc edi
lea r10, [r10 + r9*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ab1e0
jmp 0x1401ab2ce
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ab2ce
cmp r10, qword [r12 + 0xb8]
ja 0x1401ab2bb
cmp dword [r12 + 0x54], 0
je 0x1401ab2ce
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
lea r8, [0x140000000]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401afadd
nop dword [rax]
cmp eax, 0x16
jne 0x1401ab45c
cmp edi, ebx
jae 0x1401ab42b
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401ab3f8
movzx r10d, word ds:[rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
mov rcx, rdx
test r13d, r13d
je 0x1401ab381
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401ab381
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r10d
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r15 + 0x50], rcx
mov r9, qword [r12 + 0xa8]
xor eax, eax
mov r8, qword [r12 + 0x98]
mov rdx, rcx
mov qword [rsp + 0x28], rax
mov ecx, r10d
mov dword [rsp + 0x20], r13d
call fcn.1401d8560
mov qword [r15 + 0x50], rax
cmp rax, qword [r12 + 0xa8]
jb 0x1401ab3ea
movzx ecx, word ds:[r12 + 0x80]
test cx, cx
je 0x1401ab3ea
cmp rax, qword [r12 + 0xb8]
ja 0x1401ab3d7
cmp dword [r12 + 0x54], 0
je 0x1401ab3ea
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
inc edi
cmp edi, dword [r15 + 0x3c]
jb 0x1401ab311
jmp 0x1401ab42b
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401ab42b
cmp rax, qword [r12 + 0xb8]
ja 0x1401ab418
cmp dword [r12 + 0x54], 0
je 0x1401ab42b
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rsi, qword [rsp + 0xe8]
mov r9d, 0
mov rdi, qword [rsp + 0x30]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401b0037
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401ae2f4.15
test r13d, r13d
je 0x1401abdcf
mov ecx, dword [r8 + rax*4 + 0x1b123c]
add rcx, r8
jmp rcx
nop
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax + rax]
mov rcx, qword ds:[r12 + 0xa8]
nop
cmp r10, rcx
jae 0x1401ab5be
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401ab4d7
mov r8, rcx
mov dword [rsp + 0x20], r13d
mov rcx, r10
lea r9, [r12 + 0x100]
call fcn.1401d7780
test eax, eax
jne 0x1401abd98
jmp 0x1401ab51d
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401ab51d
movzx eax, word [r12 + 0x104]
cmp word [r10], ax
jne 0x1401ab51d
nop word [rax + rax]
cmp edx, 1
je 0x1401abd98
movzx eax, word [r12 + 0x106]
cmp word [r10 + 2], ax
je 0x1401abd98
movzx edx, word [r12 + 0x80]
test dx, dx
je 0x1401ab578
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb 0x1401ab578
cmp dword [r12 + 0xfc], 0
jne 0x1401ab578
cmp dword [r12 + 0x100], 2
jne 0x1401ab578
movzx eax, word ds:[r12 + 0x104]
cmp word [rcx], ax
jne 0x1401ab578
mov dword [r12 + 0x4c], 1
cmp dx, 1
ja 0x1401a6b6a
mov r10, qword [r15 + 0x50]
add r10, 2
mov qword [r15 + 0x50], r10
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab5ad
movzx eax, word ds:[r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ab5ad
add r10, 2
mov qword [r15 + 0x50], r10
inc edi
cmp edi, dword [r15 + 0x3c]
jb 0x1401ab490
jmp 0x1401abd98
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abd98
cmp r10, qword [r12 + 0xb8]
ja 0x1401abd85
cmp dword [r12 + 0x54], 0
jmp 0x1401abd83
cmp ebx, 0xffffffff
jae 0x1401ab68f
cmp edi, ebx
jae 0x1401abd9f
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab649
add r10, 2
mov qword [r15 + 0x50], r10
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab63a
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ab63a
add r10, 2
mov qword [r15 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x1401ab600
jmp 0x1401abd9f
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abd9f
nop dword [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401ab675
cmp dword [r12 + 0x54], r9d
je 0x1401abd9f
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401abd9f
mov rax, qword [r12 + 0xa8]
mov qword [r15 + 0x50], rax
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401abd9f
cmp rax, qword [r12 + 0xb8]
ja 0x1401ab6cb
nop word [rax + rax]
cmp dword [r12 + 0x54], r9d
je 0x1401abd9f
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
nop
jmp 0x1401abd9f
mov rcx, qword [r12 + 0xa8]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x1401ab745
mov qword [r15 + 0x50], rcx
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abd9f
cmp rcx, qword [r12 + 0xb8]
ja 0x1401ab72b
nop dword [rax]
cmp dword [r12 + 0x54], r9d
je 0x1401abd9f
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp 0x1401abd9f
lea rcx, [r10 + rbx*2]
mov qword [r15 + 0x50], rcx
jmp 0x1401abd9f
cmp edi, ebx
jae 0x1401abd9f
nop word [rax + rax]
mov r8, r10
cmp r10, qword [r12 + 0xa8]
jae 0x1401ab82d
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
add r10, 2
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ab7ac
movzx ecx, word [r10]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 4
add edx, 0x10000
jmp 0x1401ab7b1
mov ecx, 2
cmp edx, 0xd
jne 0x1401ab7db
mov qword ds:[r15 + 0x50], r10
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd98
cmp word [r10], 0xa
jne 0x1401ab81d
add r10, 2
jmp 0x1401ab819
nop dword [rax + rax]
cmp edx, 0xa
je 0x1401ab815
cmp word [r12 + 0x82], 2
je 0x1401abd98
lea eax, [rdx - 0xb]
cmp eax, 1
jbe 0x1401ab815
mov eax, 0x85
cmp edx, eax
je 0x1401ab815
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x1401abd98
lea r10, [rcx + r8]
mov qword [r15 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x1401ab760
jmp 0x1401abd98
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abd98
cmp r8, qword [r12 + 0xb8]
jmp 0x1401abd7c
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ab8ab
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x1401ab91f
je case.0x1401ab950.8193
nop word [rax + rax]
cmp edx, 9
je case.0x1401ab950.8193
cmp edx, 0x20
je case.0x1401ab950.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401ab950.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401ab950.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401ab950.8193
xor eax, eax
mov ecx, eax
cmp dword ds:[r15 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ab860
jmp 0x1401abd98
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ab950.8194
je case.0x1401ab950.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ab950.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1b1284]
mov ecx, dword [rdx + rax*4 + 0x1b127c]
add rcx, rdx
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x1401ab8f1
nop dword [rax + rax]
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ab9bb
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
nop dword [rax + rax]
cmp edx, 0xd
ja 0x1401ab9d1
je 0x1401ab9ed
sub edx, 0xa
je 0x1401ab9ed
sub edx, 1
jmp 0x1401ab9df
sub edx, 0x85
je 0x1401ab9ed
sub edx, 0x1fa3
nop
je 0x1401ab9ed
cmp edx, 1
je 0x1401ab9ed
xor eax, eax
mov ecx, eax
jmp 0x1401ab9f4
mov ecx, 1
xor eax, eax
cmp dword ds:[r15 + 0x40], 0x14
sete al
cmp ecx, eax
je 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ab970
jmp 0x1401abd98
nop
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401aba7b
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
nop dword [rax + rax]
cmp edx, 0x100
jae 0x1401aba97
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
jne 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401aba30
jmp 0x1401abd98
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax]
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401abb0b
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
cmp edx, 0x100
jae 0x1401abd98
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
je 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401abab2
jmp 0x1401abd98
nop dword [rax]
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401abb9b
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
nop dword [rax + rax]
cmp edx, 0x100
jae 0x1401abbb7
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
jne 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401abb50
jmp 0x1401abd98
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax]
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401abc2b
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
cmp edx, 0x100
jae 0x1401abd98
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
je 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401abbd2
jmp 0x1401abd98
nop dword [rax]
cmp edi, ebx
jae 0x1401abd9f
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401abcbb
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
nop dword [rax + rax]
cmp edx, 0x100
jae 0x1401abcd7
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
jne 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401abc70
jmp 0x1401abd98
cmp edi, ebx
jae 0x1401abd9f
cmp r10, qword [r12 + 0xa8]
jae 0x1401abd66
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401abd39
movzx ecx, word [r10 + 2]
mov eax, 0x3ff
and ecx, eax
mov r8d, 2
and eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
nop dword [rax]
cmp edx, 0x100
jae 0x1401abd98
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
je 0x1401abd98
inc edi
lea r10, [r10 + r8*2]
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401abcf2
jmp 0x1401abd98
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abd98
cmp r10, qword [r12 + 0xb8]
ja 0x1401abd85
cmp dword [r12 + 0x54], r9d
je 0x1401abd98
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
lea r8, [0x140000000]
mov rsi, qword ds:[rsp + 0xe8]
mov r9d, 0
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401b006f
mov ecx, dword [r8 + rax*4 + 0x1b12e4]
add rcx, r8
jmp rcx
nop dword [rax]
cmp edi, ebx
jae case.0x1401ac16a.8193
mov rcx, qword [r12 + 0xa8]
cmp r10, rcx
jae 0x1401abf05
mov edx, dword ds:[r12 + 0xfc]
test edx, edx
je 0x1401abe55
mov r8, rcx
mov dword [rsp + 0x20], r13d
mov rcx, r10
lea r9, [r12 + 0x100]
call fcn.1401d7780
nop dword [rax]
test eax, eax
je 0x1401abe8d
lea r8, [0x140000000]
mov rsi, qword [rsp + 0xe8]
mov r9d, 0
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp r14d, 2
je 0x1401a5b40
jmp 0x1401aff20
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401abe8d
movzx eax, word [r12 + 0x104]
cmp word [r10], ax
jne 0x1401abe8d
cmp edx, 1
je 0x1401abe24
movzx eax, word [r12 + 0x106]
cmp word [r10 + 2], ax
je 0x1401abe24
movzx edx, word [r12 + 0x80]
test dx, dx
je 0x1401abeea
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb 0x1401abeea
cmp dword [r12 + 0xfc], 0
jne 0x1401abeea
cmp dword [r12 + 0x100], 2
jne 0x1401abeea
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401abeea
mov dword ds:[r12 + 0x4c], 1
cmp dx, 1
ja 0x1401a6b6a
add qword [r15 + 0x50], 2
inc edi
mov r10, qword [r15 + 0x50]
cmp edi, dword [r15 + 0x3c]
jb 0x1401abde4
nop
jmp 0x1401abe24
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401abe24
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401abf36
cmp dword [r12 + 0x54], 0
je 0x1401abe24
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp 0x1401abe24
mov rcx, qword [r12 + 0xa8]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x1401abfaf
mov qword [r15 + 0x50], rcx
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
nop dword [rax]
cmp rcx, qword [r12 + 0xb8]
ja 0x1401abf95
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
lea rcx, [r10 + rbx*2]
mov qword [r15 + 0x50], rcx
jmp case.0x1401ac16a.8193
nop dword [rax]
cmp edi, ebx
jae case.0x1401ac16a.8193
nop dword [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac065
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x1401ac007
add r10, 2
mov qword [r15 + 0x50], r10
cmp r10, qword [r12 + 0xa8]
jae case.0x1401ac16a.8193
cmp word [r10], 0xa
jne 0x1401ac052
jmp 0x1401ac04a
cmp cx, 0xa
je 0x1401ac04a
cmp word [r12 + 0x82], 2
je case.0x1401ac16a.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x1401ac04a
mov eax, 0x85
cmp cx, ax
je 0x1401ac04a
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x1401ac16a.8193
add r10, 2
mov qword [r15 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x1401abfd0
nop dword [rax]
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac095
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac16c
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x1401ac13b
nop dword [rax + rax]
je case.0x1401ac16a.8193
cmp eax, 9
je case.0x1401ac16a.8193
cmp eax, 0x20
je case.0x1401ac16a.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401ac16a.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401ac16a.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac0c0
jmp case.0x1401ac16a.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401ac16a.8194
je case.0x1401ac16a.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401ac16a.8194
cdqe
movzx eax, byte [r8 + rax + 0x1b132c]
mov ecx, dword [r8 + rax*4 + 0x1b1324]
add rcx, r8
jmp rcx
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
nop
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac195
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac251
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x1401ac21c
je case.0x1401ac24f.8193
nop dword [rax]
cmp eax, 9
je case.0x1401ac24f.8193
cmp eax, 0x20
je case.0x1401ac24f.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401ac24f.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401ac24f.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac1c0
jmp case.0x1401ac16a.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401ac16a.8193
je case.0x1401ac24f.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401ac16a.8193
cdqe
movzx eax, byte [r8 + rax + 0x1b1394]
mov ecx, dword [r8 + rax*4 + 0x1b138c]
add rcx, r8
jmp rcx
movzx eax, word ds:[r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac27e
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac305
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401ac2ce
je case.0x1401ac16a.8193
nop dword [rax]
sub ecx, 0xa
je case.0x1401ac16a.8193
sub ecx, 1
jmp 0x1401ac2e0
sub ecx, 0x85
je case.0x1401ac16a.8193
sub ecx, 0x1fa3
je case.0x1401ac16a.8193
cmp ecx, 1
je case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac2a0
nop dword [rax]
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac335
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac3ac
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401ac37f
je 0x1401ac399
sub ecx, 0xa
je 0x1401ac399
sub ecx, 1
jmp 0x1401ac38e
nop
sub ecx, 0x85
je 0x1401ac399
sub ecx, 0x1fa3
je 0x1401ac399
cmp ecx, 1
jne case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac360
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
nop
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac3d5
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword ds:[r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop word [rax + rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac43c
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ac429
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 8
jne case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac400
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac46b
nop dword [rax + rax]
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop dword [rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac4d0
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401ac16a.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 8
je case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac490
jmp case.0x1401ac16a.8193
movzx eax, word ds:[r12 + 0x80]
nop
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac4fe
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac55c
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ac549
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
jne case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac520
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac58b
nop dword [rax + rax]
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop dword [rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac5f0
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401ac16a.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 1
je case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac5b0
jmp case.0x1401ac16a.8193
movzx eax, word ds:[r12 + 0x80]
nop
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac61e
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac67c
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ac669
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
jne case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac640
jmp case.0x1401ac16a.8193
movzx eax, word [r12 + 0x80]
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac6ab
nop dword [rax + rax]
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
nop
jmp case.0x1401ac16a.8193
cmp edi, ebx
jae case.0x1401ac16a.8193
nop dword [rax]
cmp r10, qword [r12 + 0xa8]
jae 0x1401ac710
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401ac16a.8193
mov ecx, eax
mov rax, qword [r12 + 0x68]
test byte [rcx + rax], 0x10
je case.0x1401ac16a.8193
add r10, 2
inc edi
mov qword [r15 + 0x50], r10
cmp edi, ebx
jb 0x1401ac6d0
jmp case.0x1401ac16a.8193
movzx eax, word ds:[r12 + 0x80]
nop
test ax, ax
je case.0x1401ac16a.8193
cmp r10, qword [r12 + 0xb8]
ja 0x1401ac73e
cmp dword [r12 + 0x54], r9d
je case.0x1401ac16a.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
jmp case.0x1401ac16a.8193
mov eax, r9d
cmp r10b, 0x74
sete al
mov dword [r15 + 0x40], eax
movzx ecx, word [rbx + 2]
movzx eax, word [r12 + 0x86]
movzx r8d, word [rbx + 4]
imul ecx, eax
mov rax, qword [r12 + 0x88]
movsxd rcx, ecx
lea rdx, [rax + rcx*2]
lea rax, [rbx + 6]
mov qword [r15], rax
test r8d, r8d
je 0x1401ac7fc
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdx]
dec r8d
lea rax, [rax*2 - 2]
mov qword [r15 + 0x28], rax
cmp rax, qword [r15 + 0x78]
jae 0x1401ac7c3
cmp qword [r15 + rax*8 + 0x80], 0xffffffffffffffff
jne 0x1401ac7fc
movzx eax, word [r12 + 0x86]
lea rdx, [rdx + rax*2]
test r8d, r8d
jg 0x1401ac7a0
jmp 0x1401ac7fc
mov eax, r9d
cmp r10b, 0x72
sete al
mov dword [r15 + 0x40], eax
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
mov qword [r15 + 0x28], rax
lea rax, [rbx + 4]
mov qword [r15], rax
mov rdx, qword [r15]
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 7
ja case.default.0x1401ac824
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1b13f4]
add rcx, r10
jmp rcx
lea rax, ds:[rdx + 2]
mov qword [r15], rax
lea r14, [r15 + 0x3c]
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x240678]
mov dword [r15 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x240648]
mov r8d, dword [r10 + rcx*4 + 0x240618]
mov dword [r14], eax
mov dword [rsp + 0xf0], r8d
jmp 0x1401ac8a7
movzx eax, word [rdx + 2]
lea r14, [r15 + 0x3c]
mov dword [r15 + 0x38], eax
movzx ecx, word [rdx + 4]
mov dword [r14], ecx
movzx eax, word [rdx]
mov eax, dword [r10 + rax*4 + 0x240490]
mov dword [rsp + 0xf0], eax
test ecx, ecx
jne 0x1401ac8a0
mov dword [r14], 0xffffffff
lea rax, [rdx + 6]
mov qword [r15], rax
mov rax, qword [r15 + 0x28]
mov rsi, r14
cmp rax, qword [r15 + 0x78]
jae 0x1401ac8e6
mov rcx, qword ds:[r15 + rax*8 + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x1401ac8e2
mov rsi, qword [rsp + 0xe8]
cmp rcx, qword [r15 + rax*8 + 0x88]
je 0x1401a5af1
lea rsi, [r15 + 0x3c]
jmp 0x1401ac906
lea rsi, [r15 + 0x3c]
cmp dword [r15 + 0x38], 0
je 0x1401a5adf
test dword ds:[r12 + 0xf0], 0x200
jne 0x1401a5adf
mov ebx, dword [r15 + 0x38]
mov edi, 1
cmp ebx, edi
jb 0x1401ac971
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r15 + 0x40]
lea rax, [rsp + 0x48]
mov rcx, qword [r15 + 0x28]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401a5680
nop dword [rax]
test eax, eax
jne 0x1401aca11
mov rcx, qword ds:[r15 + 0x50]
inc edi
mov rax, qword [rsp + 0x48]
lea rcx, [rcx + rax*2]
mov qword [r15 + 0x50], rcx
mov ebx, dword [r15 + 0x38]
cmp edi, ebx
jbe 0x1401ac920
mov rsi, r14
lea r10, [0x140000000]
xor r9d, r9d
mov edx, dword [rsi]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
cmp ebx, edx
je 0x1401a5adf
cmp dword [rsp + 0xf0], 0
je 0x1401b024b
mov rax, qword ds:[r15 + 0x50]
mov edi, 1
mov qword [r15 + 8], rax
mov rcx, qword [r15 + 0x28]
mov rax, qword [r15 + rcx*8 + 0x88]
sub rax, qword [r15 + rcx*8 + 0x80]
mov qword [r15 + 0x18], rax
cmp ebx, edx
jae 0x1401aca7a
nop dword [rax + rax]
mov edx, dword [r15 + 0x40]
lea rax, [rsp + 0x50]
mov rcx, qword [r15 + 0x28]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401a5680
test eax, eax
jne 0x1401aca36
mov rax, qword [rsp + 0x50]
mov ecx, 0
cmp rax, qword [r15 + 0x18]
cmovne edi, ecx
add rax, rax
add qword [r15 + 0x50], rax
inc ebx
cmp ebx, dword [rsi]
jb 0x1401ac9d0
jmp 0x1401aca6b
jle 0x1401aca1f
mov rax, qword [r12 + 0xa8]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jb case.0x1401a5b6f.82
jmp 0x1401a7a3b
jle 0x1401aca6b
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401aca6b
mov rax, qword [r12 + 0xb8]
cmp qword [r12 + 0xa8], rax
jbe 0x1401aca6b
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
test edi, edi
je 0x1401b018b
lea r10, [0x140000000]
mov rbp, qword [rsp + 0x30]
mov rax, qword [r15 + 8]
cmp qword [r15 + 0x50], rax
jae 0x1401b0265
xor edi, edi
jmp 0x1401ae88a
mov edx, dword [r15 + 0x40]
lea rax, [rsp + 0x40]
mov rcx, qword [r15 + 0x28]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401a5680
test eax, eax
jne 0x1401aca11
mov rax, qword [rsp + 0x40]
add rax, rax
add qword [r15 + 0x50], rax
jmp 0x1401a5b26
add rbx, 2
mov qword [r15], rbx
movzx eax, word [rbx + 2]
lea rax, [rbx + rax*2]
mov qword [r15], rax
mov rbx, rax
cmp word [rax], 0x78
je 0x1401acad1
add rax, 4
mov qword [r15], rax
jmp 0x1401a5b40
cmp dword [r12 + 0x50], 0
jne 0x1401b01a5
cmp dword [r15 + 0x30], 0
je 0x1401b01a5
lea r10, [0x140000000]
jmp 0x1401ad814
lea r8, ds:[rsp + 0x40]
mov rdx, r12
mov rcx, r15
call fcn.1401a5540
mov ebx, eax
test eax, eax
jg case.0x1401a5b6f.82
js 0x1401acea5
mov rax, qword [rsp + 0x40]
mov r11d, dword [rsp + 0xc0]
add rax, rax
add qword [r15], rax
xor r9d, r9d
jmp 0x1401a5b31
movzx eax, word [rbx + 2]
mov qword [r15 + 0x18], rax
cmp word [rbx + rax*2], 0x78
je 0x1401acb67
add rax, 0xfffffffffffffffe
mov qword [r15 + 0x18], rax
add rbx, 4
mov qword [r15], rbx
movzx eax, word [rbx]
cmp ax, 0x76
je 0x1401acb7d
cmp ax, 0x77
jne 0x1401acbb4
lea r8, [rsp + 0x40]
mov rdx, r12
mov rcx, r15
call fcn.1401a5540
mov ebx, eax
test eax, eax
jg case.0x1401a5b6f.82
js 0x1401acea5
mov rax, qword [rsp + 0x40]
add rax, rax
add qword [r15], rax
mov rax, qword [rsp + 0x40]
mov rbx, qword [r15]
sub qword [r15 + 0x18], rax
movzx edx, word [rbx]
lea r10, [0x140000000]
lea eax, [rdx - 0x90]
cmp eax, 0x12
ja case.0x1401acbda.150
cdqe
mov ecx, dword [r10 + rax*4 + 0x1b1414]
add rcx, r10
jmp rcx
mov ecx, dword [r15 + 0x68]
cmp ecx, 0xffffffff
je case.0x1401acbda.148
movzx eax, word [rbx + 2]
cmp eax, 0xffff
je case.0x1401acbda.149
cmp eax, ecx
je case.0x1401acbda.149
mov rdx, qword [r15 + 0x18]
mov rcx, qword [r15]
mov rsi, qword [rsp + 0xe8]
lea rbx, [rcx + rdx*2]
mov qword [r15], rbx
cmp byte [r15 + 0x49], 0x8f
je 0x1401b021d
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov r14d, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
mov r10d, dword [r15 + 0x68]
cmp r10d, 0xffffffff
je case.0x1401acbda.148
movzx eax, word [rbx + 2]
movzx r9d, word [r12 + 0x86]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r12 + 0x88]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401acbda.148
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x1401acc9b
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401acc71
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0xf0], r14d
jmp case.0x1401acbda.148
mov qword [rsp + 0x38], rbp
lea r10, [0x140000000]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0xf0], r14d
jmp case.0x1401acbda.149
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r15 + 0x78]
jae case.0x1401acbda.148
cmp qword [r15 + rax*8 + 0x80], 0xffffffffffffffff
je case.0x1401acbda.148
nop
jmp case.0x1401acbda.149
movzx eax, word [rbx + 2]
movzx r9d, word [r12 + 0x86]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r12 + 0x88]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401acbda.148
mov rcx, qword [r15 + 0x78]
nop word [rax + rax]
movzx eax, word [r8]
dec edx
lea rax, [rax*2 - 2]
cmp rax, rcx
jae 0x1401acd46
cmp qword ds:[r15 + rax*8 + 0x80], 0xffffffffffffffff
jne case.0x1401acbda.149
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401acd20
jmp case.0x1401acbda.148
movzx edx, word [rbx + 2]
test r13d, r13d
je 0x1401acdb3
nop dword [rax]
test edx, edx
je 0x1401acde0
mov ebx, 0xdc00
mov r10d, 0xfc00
nop
mov rcx, qword ds:[r15 + 0x50]
dec edx
cmp rcx, qword [r12 + 0xa0]
jbe case.0x1401a5b6f.82
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
movzx eax, word [rcx]
and ax, r10w
cmp ax, bx
jne 0x1401acdad
lea rax, [rcx - 2]
mov qword [r15 + 0x50], rax
test edx, edx
jne 0x1401acd70
jmp 0x1401acde0
mov rcx, qword [r15 + 0x50]
mov rax, rcx
sub rax, qword [r12 + 0x98]
sar rax, 1
cmp rdx, rax
jg case.0x1401a5b6f.82
lea rax, [rdx + rdx]
sub rcx, rax
lea r8, [0x140000000]
mov qword [r15 + 0x50], rcx
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xb8]
jae 0x1401acdf6
mov qword [r12 + 0xb8], rax
add qword [r15], 4
jmp 0x1401a5b40
movzx eax, word [rbx + 2]
lea rcx, [rbx + rax*2]
mov qword [r15], rcx
mov rbx, rcx
cmp word [rcx], 0x78
je case.0x1401a5b6f.59
jmp 0x1401a5b40
movzx eax, word [rbx + 2]
mov ecx, 0x86
add rax, rax
sub rbx, rax
movzx eax, word [rbx]
sub ax, cx
mov ecx, 0xfffb
test cx, ax
je 0x1401acf23
mov rbp, qword [r15 + 0x70]
add rbp, qword [r12 + 0x20]
mov rdi, rbp
mov qword [rsp + 0x38], rbp
sub rdi, rsi
mov rax, qword [rdi + 0x70]
mov qword [r15 + 0x70], rax
mov eax, dword [rbp + 0x34]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x1401acf26
mov r8, qword [r15 + 0x78]
lea rdx, [r15 + 0x80]
shl r8, 3
lea rcx, [rdi + 0x80]
call fcn.1401e3aa0
mov rax, qword [r15 + 0x78]
mov ebx, 1
mov qword [rdi + 0x78], rax
mov rax, qword [r15 + 0x60]
mov qword [rdi + 0x60], rax
mov rax, r15
sub rax, rdi
mov qword [r15 + 0x20], rax
mov rbp, qword [rsp + 0x30]
xor edi, edi
lea r10, [0x140000000]
mov r8d, 0xff
mov esi, 0xfc00
mov r14d, 0xd800
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xc0]
jbe 0x1401aceda
mov qword [r12 + 0xc0], rax
cmp dword ds:[r15 + 0x30], 0
je 0x1401b0ad0
sub r15, qword ds:[r15 + 0x20]
mov rax, qword [r12 + 0x110]
or dword [rax + 0x68], 2
movzx eax, byte [r15 + 0x48]
dec eax
cmp eax, 0xe0
ja case.0x1401ae2f4.15
cdqe
movzx eax, byte [r10 + rax + 0x1b1558]
mov ecx, dword [r10 + rax*4 + 0x1b1460]
add rcx, r10
jmp rcx
mov rdi, r9
movzx eax, word [rbx]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x1401acf49.134
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1b163c]
add rcx, r10
jmp rcx
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xc0]
jbe 0x1401acf61
mov qword [r12 + 0xc0], rax
mov rax, qword [rdi + 0x50]
mov qword [r15 + 0x50], rax
jmp case.0x1401acf49.134
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xc0]
jbe 0x1401acf84
mov qword [r12 + 0xc0], rax
mov rax, qword [rdi + 0x50]
mov qword [r15 + 0x50], rax
mov rax, r15
sub rax, rdi
mov qword [r15 + 0x20], rax
mov rcx, qword [rdi]
movzx eax, word [rcx + 2]
add rax, rax
cmp word [rax + rcx], 0x78
jne case.0x1401acf49.134
nop dword [rax + rax]
add rax, rcx
mov rcx, rax
mov qword [rdi], rax
movzx eax, word [rax + 2]
add rax, rax
cmp word [rax + rcx], 0x78
je 0x1401acfb0
jmp case.0x1401acf49.134
mov rbp, qword [rsp + 0x30]
mov ebx, 1
xor edi, edi
jmp 0x1401aceb3
mov rdx, qword [r15 + 0x50]
mov r8d, r13d
mov rcx, qword [rdi + 0x50]
call fcn.1401d8060
test eax, eax
jne case.0x1401acf49.134
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
movzx edx, word [rbx + 4]
cmp dword [r15 + 0x68], edx
jne 0x1401ad065
mov rbx, rbp
lea rcx, [r15 + 0x80]
sub rbx, rsi
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401e3aa0
mov rax, qword [rbx + 0x78]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
mov qword [r15 + 0x78], rax
mov eax, dword [rbx + 0x6c]
mov dword [r15 + 0x6c], eax
mov eax, dword [rbx + 0x68]
mov dword [r15 + 0x68], eax
mov rax, qword [rbx]
add rax, 4
mov qword [r15], rax
xor r9d, r9d
jmp 0x1401a5b31
mov dword ds:[r15 + 0x6c], edx
lea ecx, [rdx*2 - 2]
mov rax, qword [rdi + 0x50]
sub rax, qword [r12 + 0x98]
sar rax, 1
mov qword [r15 + rcx*8 + 0x80], rax
mov rax, qword [r15 + 0x50]
sub rax, qword [r12 + 0x98]
sar rax, 1
mov qword [r15 + rcx*8 + 0x88], rax
cmp rcx, qword [r15 + 0x78]
jb case.0x1401acf49.134
lea rax, [rcx + 2]
mov qword [r15 + 0x78], rax
mov rdx, qword [r15]
cmp word [rdx], 0x7c
jne 0x1401ad0d3
mov r8, qword [rsp + 0x58]
lea rdx, [r15 + 0x50]
lea rcx, [rdi + 0x50]
call fcn.1401e3aa0
mov ebx, 0xfffffc1a
jmp 0x1401acea5
movzx ecx, byte ds:[r15 + 0x49]
cmp cl, 0x79
je 0x1401ada21
test rdi, rdi
je 0x1401ad0fc
mov rax, qword [rdi + 0x50]
cmp qword [r15 + 0x50], rax
je 0x1401ada21
nop dword [rax]
cmp cl, 0x7b
jne 0x1401b0205
lea rbx, [rdx + 4]
mov byte [r15 + 0x48], 6
jmp 0x1401b08dc
mov rax, qword ds:[r12 + 0x98]
cmp qword [r15 + 0x50], rax
jne case.0x1401a5b6f.82
test byte [r12 + 0xec], 1
jne case.0x1401a5b6f.82
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b40
mov rax, qword [r12 + 0x98]
cmp qword [r15 + 0x50], rax
je 0x1401a5f6d
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
test byte [r12 + 0xec], 2
jne case.0x1401a5b6f.82
test byte [r12 + 0xf0], 0x10
je case.0x1401a5b6f.21
mov rax, qword [r12 + 0xa8]
cmp qword [r15 + 0x50], rax
jb case.0x1401a5b6f.82
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ad1b2
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
add qword [r15], 2
jmp 0x1401a5b40
mov rcx, qword [r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jae 0x1401ad2a7
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401ad1f4
lea r9, [r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
test eax, eax
je 0x1401ad246
jmp 0x1401ad22a
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401ad246
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401ad246
cmp edx, 1
je 0x1401ad22a
movzx eax, word [r12 + 0x106]
cmp word [rcx + 2], ax
jne 0x1401ad246
mov eax, dword ds:[r12 + 0x100]
imul rcx, rax, 0xfffffffffffffffe
add rcx, qword [r12 + 0xa8]
cmp qword [r15 + 0x50], rcx
je 0x1401ad2a7
movzx edx, word [r12 + 0x80]
test dx, dx
je case.0x1401a5b6f.82
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb case.0x1401a5b6f.82
cmp dword [r12 + 0xfc], 0
jne case.0x1401a5b6f.82
cmp dword [r12 + 0x100], 2
jne case.0x1401a5b6f.82
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne case.0x1401a5b6f.82
cmp dx, 1
jmp 0x1401a5e96
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a876a
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
add qword ds:[r15], 2
mov r11d, dword [rsp + 0xc0]
xor r9d, r9d
jmp 0x1401a5b31
test byte [r12 + 0xec], 1
je 0x1401ad30a
mov rax, qword ds:[r12 + 0x98]
nop
cmp qword [r15 + 0x50], rax
je case.0x1401a5b6f.82
mov rcx, qword [r15 + 0x50]
mov rax, qword [r12 + 0x98]
cmp rcx, rax
je 0x1401ad3d2
nop
cmp rcx, qword [r12 + 0xa8]
jne 0x1401ad33c
test dword [r12 + 0xf0], 0x200000
je case.0x1401a5b6f.82
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401ad385
cmp rcx, rax
jbe 0x1401ad370
lea r9, ds:[r12 + 0x100]
mov dword [rsp + 0x20], r13d
mov r8, rax
call fcn.1401d7840
test eax, eax
je 0x1401ad370
mov eax, 1
jmp 0x1401ad372
xor eax, eax
test eax, eax
jne 0x1401ad3cb
mov rbp, qword ds:[rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov r8d, dword [r12 + 0x100]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x1401a5b6f.82
movzx eax, word [r12 + 0x104]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x1401a5b6f.82
cmp r8d, 1
je 0x1401ad3cb
movzx eax, word [r12 + 0x106]
cmp word [rcx + 2], ax
jne case.0x1401a5b6f.82
lea r8, [0x140000000]
add qword [r15], 2
mov r11d, dword [rsp + 0xc0]
xor r9d, r9d
jmp 0x1401a5b40
mov rcx, qword [r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jae 0x1401ad4ae
mov edx, dword [r12 + 0xfc]
lea rbx, [r12 + 0x100]
test edx, edx
je 0x1401ad42a
mov r9, rbx
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
nop dword [rax]
test eax, eax
jne 0x1401a876a
jmp 0x1401ad46a
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401ad46a
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401ad46a
cmp edx, 1
je 0x1401a876a
movzx eax, word ds:[r12 + 0x106]
nop
cmp word [rcx + 2], ax
je 0x1401a876a
movzx edx, word [r12 + 0x80]
test dx, dx
je case.0x1401a5b6f.82
mov rcx, qword [r15 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r12 + 0xa8]
jb case.0x1401a5b6f.82
cmp dword ds:[r12 + 0xfc], 0
jne case.0x1401a5b6f.82
cmp dword [rbx], 2
jmp 0x1401ad286
test byte [r12 + 0xec], 2
jne case.0x1401a5b6f.82
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401a876a
cmp rcx, qword [r12 + 0xb8]
ja 0x1401ad2b9
cmp dword [r12 + 0x54], 0
jmp 0x1401ad2b3
mov rcx, qword ds:[r12 + 0x70]
mov rax, qword [r12 + 0x98]
lea rcx, [rax + rcx*2]
cmp qword [r15 + 0x50], rcx
je 0x1401a5f6d
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceac
mov rax, qword [r15 + 0x50]
mov qword [r15 + 0x58], rax
lea rax, [rbx + 2]
mov qword [r15], rax
jmp 0x1401a5b40
mov r9, qword [r15 + 0x50]
cmp r9, qword [r12 + 0xa0]
jne 0x1401ad5d6
lea r10, [r12 + 0xb8]
xor eax, eax
mov r11d, eax
mov rax, qword [r12 + 0xa8]
cmp r9, rax
jb 0x1401ad6e5
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ad58a
cmp r9, qword [r10]
ja 0x1401ad577
cmp dword [r12 + 0x54], 0
je 0x1401ad58a
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov r8d, 0xff
xor r9d, r9d
mov edx, r9d
lea r10, [0x140000000]
mov rax, qword [r15]
xor edx, r11d
movzx ecx, word [rax]
add rax, 2
mov qword [r15], rax
cmp cx, 5
jne 0x1401ad5b6
xor edx, 1
mov r11d, dword ds:[rsp + 0xc0]
test edx, edx
je 0x1401a5b31
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401aceb9
movzx ecx, word ds:[r9 - 2]
lea r8, [r9 - 2]
test r13d, r13d
je 0x1401ad633
movzx eax, cx
mov r10d, 0xfc00
and ax, r10w
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ad605
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r10d
cmp eax, ecx
jne 0x1401ad635
movzx ecx, word [r8 + 2]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
jmp 0x1401ad635
mov edx, ecx
lea r10, ds:[r12 + 0xb8]
cmp r8, qword [r10]
jae 0x1401ad64c
mov qword [r10], r8
mov r9, qword [r15 + 0x50]
test dword [r12 + 0xf0], 0x20000
je 0x1401ad6ba
cmp edx, 0x5f
jne 0x1401ad668
lea r11d, [rdx - 0x5e]
jmp 0x1401ad54b
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
mov r11d, 0
movzx ecx, word [r8 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x241971]
mov eax, dword [r8 + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
sete r11b
jmp 0x1401ad54b
mov eax, 0xff
cmp edx, eax
ja 0x1401ad546
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
je 0x1401ad546
mov r11d, 1
jmp 0x1401ad54b
lea rcx, [r9 + 2]
mov r8, rcx
test r13d, r13d
je 0x1401ad744
cmp rcx, rax
jae 0x1401ad70f
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ad70f
add r8, 2
movzx edx, word [r9]
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401ad748
movzx ecx, word [rcx]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
jmp 0x1401ad748
movzx edx, word [r9]
cmp r8, qword [r12 + 0xc0]
jbe 0x1401ad75a
mov qword [r12 + 0xc0], r8
test dword [r12 + 0xf0], 0x20000
mov r8d, 0xff
je 0x1401ad7d8
lea r10, [0x140000000]
cmp edx, 0x5f
jne 0x1401ad78b
mov edx, 1
xor r9d, r9d
jmp 0x1401ad59d
mov eax, edx
mov r9d, 0
shr rax, 7
and edx, 0x7f
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
mov edx, r9d
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241971]
mov eax, dword [r10 + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
sete dl
jmp 0x1401ad59d
nop dword [rax + rax]
cmp edx, r8d
ja 0x1401ad590
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
je 0x1401ad590
mov edx, 1
xor r9d, r9d
jmp 0x1401ad596
test ebx, ebx
jne case.0x1401acf21.33
mov rbx, qword [r15 + 8]
mov qword [r15], rbx
movzx eax, word ds:[rbx + 2]
mov rsi, qword [rsp + 0xe8]
lea rdx, [rbx + rax*2]
mov qword [r15 + 8], rdx
cmp word [rdx], 0x78
mov rax, qword [r15]
movzx ecx, word [rax]
movzx eax, byte [rcx + r10 + 0x25cdf0]
je 0x1401b020f
mov rbp, qword [rsp + 0x38]
lea rcx, [rbx + rax*2]
mov r14d, dword [rsp + 0xf0]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
mov qword [r15], rcx
jmp 0x1401a5b31
cmp ebx, 0xfffffc1f
jne 0x1401ad89c
mov rcx, qword [r15]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r12 + 0xd8], rdx
jae case.0x1401acf21.33
cmp word [rcx], 0x78
je 0x1401ad8a6
cmp word [rdx], 0x78
jmp 0x1401ad89e
test ebx, ebx
nop
jne case.0x1401acf21.33
mov rcx, qword [r15]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r15], rbx
cmp word [rbx], 0x78
je 0x1401b0676
mov ebx, edi
jmp case.0x1401acf21.33
cmp ebx, 0xfffffc19
je 0x1401afdc5
test ebx, ebx
je 0x1401ad8ec
nop word [rax + rax]
cmp ebx, 0xfffffc1f
jne case.0x1401acf21.33
mov rcx, qword ds:[r15]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r15], rbx
cmp word [rbx], 0x78
je 0x1401b075e
mov ebx, edi
jmp case.0x1401acf21.33
cmp ebx, 0xfffffc1d
jg 0x1401ad947
je 0x1401ad92e
cmp ebx, 0xfffffc19
je 0x1401ad969
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401acf21.33
mov rbx, qword [r15]
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r15], rbx
cmp word [rbx], 0x78
je 0x1401ad931
jmp 0x1401afe55
cmp ebx, 0xfffffc1f
je 0x1401afe3d
test ebx, ebx
je 0x1401afe3d
nop dword [rax + rax]
cmp ebx, 1
jne case.0x1401acf21.33
mov ebx, edi
jmp case.0x1401acf21.33
cmp ebx, 0xfffffc1d
jg 0x1401ad9a5
je 0x1401afed4
nop
cmp ebx, 0xfffffc19
je 0x1401afe86
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401acf21.33
nop dword [rax + rax]
jmp 0x1401afed4
cmp ebx, 0xfffffc1f
je 0x1401afeba
test ebx, ebx
je 0x1401afeba
nop dword [rax]
cmp ebx, 1
jne case.0x1401acf21.33
mov eax, dword [r15 + 0x38]
jmp 0x1401afede
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15]
mov rbp, qword [rsp + 0x38]
mov r14d, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
movzx eax, word [rcx + 2]
mov rdi, qword [rsp + 0x30]
add rax, rax
mov r11d, dword [rsp + 0xc0]
sub rcx, rax
mov qword [r15], rcx
xor r9d, r9d
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov rbp, qword [rsp + 0x38]
add qword [r15], 4
mov r14d, dword [rsp + 0xf0]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
cmp ebx, 0xfffffc1a
jne 0x1401ada84
mov dword ds:[r15 + 0x3c], 1
mov rax, qword [r15 + 8]
cmp qword [r15 + 0x50], rax
jne 0x1401b0233
mov rcx, qword [r15]
nop dword [rax]
movzx eax, word ds:[rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r15], rcx
cmp word [rcx], 0x78
je 0x1401ada70
jmp 0x1401adade
cmp ebx, 0xfffffc1f
jne 0x1401adaba
mov rcx, qword ds:[r15]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r12 + 0xd8], rdx
jae case.0x1401acf21.33
cmp word [rcx], 0x78
je 0x1401adac6
cmp word [rdx], 0x78
jmp 0x1401adabc
test ebx, ebx
nop dword [rax]
jne case.0x1401acf21.33
mov rcx, qword [r15]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r15], rcx
cmp word [rcx], 0x78
je 0x1401b0625
cmp dword [r15 + 0x3c], 0
jne 0x1401adb12
cmp dword [r15 + 0x40], 0
jne 0x1401adb12
mov ebx, edi
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15 + 8]
nop
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r15 + 8], rcx
cmp word [rcx], 0x78
je 0x1401adb00
mov rbp, qword ds:[rsp + 0x38]
lea rax, [rcx + 4]
mov r14d, dword [rsp + 0xf0]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
mov qword [r15], rax
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
add qword [r15], 2
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov r14d, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
mov rdx, qword [r15 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x1401adbe5
mov eax, dword ds:[r15 + 0x38]
btc eax, 0x12
cmp dword [r12 + 0xe8], eax
jne 0x1401adbe5
cmp ebx, 0xfffffc1f
jne 0x1401ad969
nop word [rax + rax]
cmp qword [r12 + 0xd8], rcx
jae 0x1401ad969
cmp word [rdx], 0x78
je 0x1401adbed
cmp word [rcx], 0x78
je 0x1401adbed
mov ebx, edi
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov qword [r15 + 8], rcx
cmp word [rcx], 0x78
je 0x1401b071e
mov ebx, edi
jmp case.0x1401acf21.33
cmp ebx, 0xfffffc1e
jne case.0x1401acf21.33
mov rcx, qword [r15]
mov rdx, qword [r12 + 0xe0]
add rcx, 4
call fcn.1401d87a0
lea r10, [0x140000000]
mov r8d, 0xff
test eax, eax
jne case.0x1401acf21.33
mov rax, qword [r15 + 0x50]
lea r10, [0x140000000]
mov qword [r12 + 0xe0], rax
mov ebx, 0xfffffc1d
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov eax, dword [r15 + 0x68]
mov ebx, 0xfffffc1c
mov dword [r12 + 0xe8], eax
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword [r15 + 0x50]
mov ebx, 0xfffffc1d
mov qword [r12 + 0xe0], rax
mov eax, dword [r15 + 0x68]
mov dword [r12 + 0xe8], eax
jmp case.0x1401acf21.33
nop
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword [r15]
mov ebx, 0xfffffc1e
add rax, 4
mov qword [r12 + 0xe0], rax
mov eax, dword [r15 + 0x68]
mov dword [r12 + 0xe8], eax
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword [r15]
mov ebx, 0xfffffc1f
mov qword [r12 + 0xd8], rax
mov eax, dword [r15 + 0x68]
mov dword [r12 + 0xe8], eax
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jb 0x1401add16
mov ebx, edi
jmp case.0x1401acf21.33
mov edx, dword [r15 + 0x40]
lea rax, [rsp + 0x60]
mov rcx, qword [r15 + 0x28]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401a5680
test eax, eax
je 0x1401b023f
jle 0x1401add49
mov rax, qword [r12 + 0xa8]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jb 0x1401add8a
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401add8a
cmp rax, qword [r12 + 0xb8]
ja 0x1401add77
cmp dword [r12 + 0x54], 0
je 0x1401add8a
mov dword [r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
lea r10, [0x140000000]
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
nop
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword [r15 + 0x18]
neg rax
add rax, rax
add qword [r15 + 0x50], rax
jmp 0x1401aca7f
nop dword [rax + rax]
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword [r15 + 8]
cmp qword [r15 + 0x50], rax
je 0x1401ae88a
mov qword [r15 + 0x50], rax
mov eax, dword [r15 + 0x3c]
dec eax
mov dword [r15 + 0x3c], eax
mov ebx, dword [r15 + 0x38]
cmp ebx, eax
jae 0x1401ade26
nop dword [rax]
mov edx, dword [r15 + 0x40]
lea rax, [rsp + 0x68]
mov rcx, qword [r15 + 0x28]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401a5680
mov rax, qword ds:[rsp + 0x68]
inc ebx
add rax, rax
add qword [r15 + 0x50], rax
cmp ebx, dword [r15 + 0x3c]
jb 0x1401addf0
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x16
jmp 0x1401b08dc
nop dword [rax + rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx ecx, word [rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp ecx, r8d
jbe 0x1401ade9f
cmp byte [r15 + 0x49], 0x6e
je 0x1401ad969
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x17
jmp 0x1401b08dc
mov rax, qword [r15 + 0x10]
mov rdx, rcx
shr rdx, 3
and ecx, 7
movzx r8d, byte [rdx + rax]
mov eax, 1
shl eax, cl
test al, r8b
jne 0x1401ade8a
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
add qword [r15 + 0x50], 0xfffffffffffffffe
jmp 0x1401a779d
nop dword [rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rcx, qword [r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jb 0x1401adf3f
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ad969
nop dword [rax]
cmp rcx, qword [r12 + 0xb8]
ja 0x1401adf36
cmp dword [r12 + 0x54], 0
je 0x1401ad969
cmp ax, 1
jmp 0x1401af503
movzx eax, word [rcx]
cmp dword [r15 + 0x40], eax
je 0x1401adf52
cmp dword [r15 + 0x44], eax
jne 0x1401ad969
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x19
jmp 0x1401b08dc
add qword [r15 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401acf21.33
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
jne 0x1401b028f
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp dword [r15 + 0x40], edx
jne 0x1401ad969
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x1b
jmp 0x1401b08dc
add qword [r15 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401acf21.33
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b029c
mov rbp, qword ds:[rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rcx, qword [r15 + 0x50]
cmp rcx, qword [r12 + 0xa8]
jae 0x1401adf0b
movzx eax, word ds:[rcx]
cmp dword [r15 + 0x40], eax
je 0x1401ad969
cmp dword [r15 + 0x44], eax
je 0x1401ad969
mov rsi, qword [rsp + 0xe8]
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x1d
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
add qword [r15 + 0x50], 0xfffffffffffffffe
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
jne 0x1401b02a9
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word ds:[rax]
add rax, 2
mov qword [r15 + 0x50], rax
cmp dword [r15 + 0x40], edx
je 0x1401ad969
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x1f
jmp 0x1401b08dc
nop
test ebx, ebx
jne case.0x1401acf21.33
add qword [r15 + 0x50], 0xfffffffffffffffe
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
jne 0x1401b02b6
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jb 0x1401ae1e5
mov ebx, edi
jmp case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jb 0x1401ae23f
movzx eax, word ds:[r12 + 0x80]
test ax, ax
je case.0x1401ae3dd.8193
cmp rcx, qword [r12 + 0xb8]
ja 0x1401ae21f
cmp dword [r12 + 0x54], 0
je case.0x1401ae3dd.8193
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp dword [r15 + 0x40], 0xc
jne 0x1401ae2ca
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401ae285
lea r9, [r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
lea r10, [0x140000000]
test eax, eax
je 0x1401ae2ca
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401ae2ca
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401ae2ca
cmp edx, 1
je case.0x1401ae3dd.8193
movzx eax, word ds:[r12 + 0x106]
nop
cmp word [rcx + 2], ax
je case.0x1401ae3dd.8193
mov rax, qword [r15 + 0x50]
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
mov eax, dword [r15 + 0x40]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401ae2f4.15
mov ecx, dword [r10 + rax*4 + 0x1b1680]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401ae314
nop dword [rax + rax]
je 0x1401b02c5
sub edx, 0xa
je case.0x1401ae2f4.13
sub edx, 1
jmp 0x1401ae322
sub edx, 0x85
je 0x1401ae32d
sub edx, 0x1fa3
je 0x1401ae32d
cmp edx, 1
jne case.0x1401ae3dd.8193
cmp word [r12 + 0x82], 2
jne case.0x1401ae2f4.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401ae3a6
je case.0x1401ae3dd.8193
nop dword [rax + rax]
cmp edx, 9
je case.0x1401ae3dd.8193
cmp edx, 0x20
je case.0x1401ae3dd.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401ae3dd.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401ae3dd.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401ae2f4.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ae2f4.13
je case.0x1401ae3dd.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ae2f4.13
movzx eax, byte [r10 + rdx + 0x1b16c8]
mov ecx, dword [r10 + rax*4 + 0x1b16c0]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401ae445
je case.0x1401ae2f4.13
cmp edx, 9
je case.0x1401ae2f4.13
nop dword [rax]
cmp edx, 0x20
je case.0x1401ae2f4.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401ae2f4.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401ae2f4.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401ae2f4.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ae3dd.8193
je case.0x1401ae2f4.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ae3dd.8193
movzx eax, byte [r10 + rdx + 0x1b1730]
mov ecx, dword [r10 + rax*4 + 0x1b1728]
add rcx, r10
jmp rcx
nop
cmp edx, 0xd
ja 0x1401ae499
je case.0x1401ae3dd.8193
sub edx, 0xa
je case.0x1401ae3dd.8193
sub edx, 1
jmp 0x1401ae4b2
nop dword [rax]
sub edx, 0x85
je case.0x1401ae3dd.8193
sub edx, 0x1fa3
je case.0x1401ae3dd.8193
nop dword [rax + rax]
cmp edx, 1
jne case.0x1401ae2f4.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0xd
ja 0x1401ae4f4
nop dword [rax + rax]
je case.0x1401ae2f4.13
sub edx, 0xa
je case.0x1401ae2f4.13
sub edx, 1
jmp 0x1401ae512
nop dword [rax]
nop dword [rax + rax]
sub edx, 0x85
je case.0x1401ae2f4.13
sub edx, 0x1fa3
je case.0x1401ae2f4.13
nop dword [rax + rax]
cmp edx, 1
je case.0x1401ae2f4.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja case.0x1401ae2f4.13
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
je case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja 0x1401ad969
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
jne case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja case.0x1401ae2f4.13
mov rax, qword ds:[r12 + 0x68]
test byte [rdx + rax], 1
je case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja 0x1401ad969
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
jne case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja case.0x1401ae2f4.13
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
je case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
mov r8d, 0xff
cmp edx, r8d
ja 0x1401ad969
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
jne case.0x1401ae2f4.13
mov ebx, edi
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rax, qword ds:[r15 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r15 + 0x50], rax
cmp dword [r15 + 0x40], 0x11
jne 0x1401aff18
cmp rax, qword [r15 + 8]
jbe 0x1401aff18
cmp word [rax], 0xa
jne 0x1401aff18
mov r14d, dword [rsp + 0xf0]
add rax, 0xfffffffffffffffe
cmp word [rax], 0xd
jne 0x1401aff20
mov qword [r15 + 0x50], rax
jmp 0x1401aff20
nop dword [rax]
test ebx, ebx
jne case.0x1401acf21.33
mov eax, dword [r15 + 0x68]
mov ebx, 0xfffffc1b
mov dword [r12 + 0xe8], eax
jmp case.0x1401acf21.33
nop
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx r9d, word ds:[rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401ae714
mov eax, r9d
and eax, esi
cmp eax, r14d
jne 0x1401ae714
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r9d
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add r9d, 0x10000
mov rdx, qword ds:[r15 + 0x10]
mov r8d, r13d
mov ecx, r9d
call fcn.1401d7a20
test eax, eax
jne 0x1401b036c
lea r10, [0x140000000]
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword ds:[r15 + 0x50]
lea rdx, [rcx - 2]
mov qword [r15 + 0x50], rdx
cmp rcx, qword [r15 + 8]
jbe 0x1401ad969
test r13d, r13d
je 0x1401ae787
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401ae787
lea rax, [rdx - 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x65
jmp 0x1401b08dc
nop dword [rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx r9d, word [rax]
lea rdx, [rax + 2]
mov eax, r9d
mov qword [r15 + 0x50], rdx
and eax, esi
cmp eax, r14d
jne 0x1401ae80a
movzx ecx, word [rdx]
mov eax, 0x3ff
and ecx, eax
and eax, r9d
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add r9d, 0x10000
cmp r9d, r8d
jbe 0x1401ae82f
cmp byte [r15 + 0x49], 0x6e
je 0x1401ad969
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xc8
jmp 0x1401b08dc
mov rax, qword [r15 + 0x10]
mov edx, r9d
and r9d, 7
shr rdx, 3
movzx ecx, r9b
movzx r8d, byte [rdx + rax]
mov eax, 1
shl eax, cl
test al, r8b
jne 0x1401ae81a
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword ds:[r15 + 0x50]
lea rdx, [rcx - 2]
mov qword [r15 + 0x50], rdx
cmp rcx, qword [r15 + 8]
ja 0x1401b0385
mov r14d, 0xd800
mov esi, 0xfc00
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x18]
mov rsi, qword [r12 + 0xa8]
mov rbx, qword [r15 + 0x50]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401ae908
mov rdx, qword [r15 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
nop dword [rax + rax]
test eax, eax
je 0x1401b03b2
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x1401ae93c
lea rdi, ds:[rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401ae93c
lea rdx, [r15 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402034f0
test eax, eax
je 0x1401b03b2
nop dword [rax]
cmp rbx, rsi
jb 0x1401ae978
movzx eax, word [r12 + 0x80]
test ax, ax
je 0x1401ae978
cmp rbx, qword [r12 + 0xb8]
ja 0x1401ae965
cmp dword [r12 + 0x54], 0
je 0x1401ae978
mov dword [r12 + 0x4c], 1
cmp ax, 1
ja 0x1401a6b6a
xor edi, edi
lea r10, [0x140000000]
mov ebx, edi
mov esi, 0xfc00
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov edx, 0xdc00
mov r14d, dword [rsp + 0xf0]
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401ae9c7
lea rax, [rcx - 2]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b03cf
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r15 + 0x50], r8
and eax, esi
cmp eax, r14d
jne 0x1401aea67
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp dword [r15 + 0x40], edx
je case.0x1401ae3dd.8193
cmp dword [r15 + 0x44], edx
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xcc
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov edx, 0xdc00
mov r14d, dword [rsp + 0xf0]
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401aeac4
lea rax, [rcx - 2]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b03dc
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word ds:[rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r15 + 0x50], r8
and eax, esi
cmp eax, r14d
jne 0x1401aeb67
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
cmp dword [r15 + 0x40], edx
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xce
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov edx, 0xdc00
mov r14d, dword [rsp + 0xf0]
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401aebba
lea rax, [rcx - 2]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b03e9
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx ecx, word [rax]
add rax, 2
mov qword [r15 + 0x50], rax
test r13d, r13d
je 0x1401aec3b
and ecx, esi
cmp ecx, r14d
jne 0x1401aec3b
add rax, 2
mov qword [r15 + 0x50], rax
cmp dword [r15 + 0x40], 0xf
je 0x1401ad969
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd0
jmp 0x1401b08dc
nop dword [rax + rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401aecca
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401aecca
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x241971]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401aed05
mov ecx, edi
cmp dl, 8
jne 0x1401aed0a
mov ecx, 1
cmp dword [r15 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd1
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
nop dword [rax]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401aeda9
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401aeda9
movzx eax, word [rcx]
mov r8d, 0x3ff
and edx, r8d
and eax, r8d
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + 0x44]
movzx edx, byte [r10 + rcx*4 + 0x241971]
mov ecx, edi
cmp dword [r10 + rdx*4 + 0x25cd70], eax
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd2
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401aee78
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401aee78
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241971]
mov ecx, edi
cmp eax, dword [r15 + 0x44]
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd3
jmp 0x1401b08dc
nop dword [rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401aef4a
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401aef4a
movzx eax, word [rcx]
mov r8d, 0x3ff
and edx, r8d
and eax, r8d
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241970]
mov ecx, edi
cmp eax, dword [r15 + 0x44]
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd4
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401af017
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401af017
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241971]
mov ecx, edi
mov eax, dword [r10 + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd5
jmp 0x1401b08dc
nop
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401af0ea
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401af0ea
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401af1d5
je case.0x1401af20d.8193
nop
cmp edx, 0x20
ja 0x1401af1a8
je case.0x1401af20d.8193
mov eax, edx
sub eax, 9
je case.0x1401af20d.8193
nop word [rax + rax]
sub eax, 1
je case.0x1401af20d.8193
sub eax, 1
je case.0x1401af20d.8193
sub eax, 1
je case.0x1401af20d.8193
cmp eax, 1
nop
je case.0x1401af20d.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241971]
mov ecx, edi
cmp dword [r10 + rax*4 + 0x25cd70], 6
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd6
jmp 0x1401b08dc
mov eax, edx
sub eax, 0x85
je case.0x1401af20d.8193
sub eax, 0x1b
je case.0x1401af20d.8193
nop
sub eax, 0x15e0
je case.0x1401af20d.8193
cmp eax, 0x18e
jmp 0x1401af13e
mov eax, 0x3000
cmp edx, eax
ja case.0x1401af20d.8194
je case.0x1401af20d.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401af20d.8194
movzx eax, byte [r10 + rax + 0x1b1798]
mov ecx, dword [r10 + rax*4 + 0x1b1790]
add rcx, r10
jmp rcx
cmp dword [r15 + 0x40], 0xf
jne case.0x1401b0160.7
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401af297
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401af297
movzx eax, word [rcx]
mov r8d, 0x3ff
and edx, r8d
and eax, r8d
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x241971]
mov eax, dword [r10 + rax*4 + 0x25cd70]
dec eax
test eax, 0xfffffffd
je 0x1401af2de
mov ecx, edi
cmp edx, 0x5f
jne 0x1401af2e3
mov ecx, 1
cmp dword [r15 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd7
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
test r13d, r13d
je 0x1401af377
mov eax, ecx
and eax, esi
cmp eax, r14d
jne 0x1401af377
movzx eax, word [rdx]
mov r8d, 0x3ff
and ecx, r8d
and eax, r8d
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r15 + 0x50], rax
add ecx, 0x10000
mov eax, dword [r15 + 0x44]
lea rdx, [rax*4 + 0x240f20]
add rdx, r10
mov eax, dword [rdx]
cmp ecx, eax
jb 0x1401af39e
nop dword [rax]
lea rdx, [rdx + 4]
cmp ecx, eax
je 0x1401af3be
mov eax, dword [rdx]
cmp ecx, eax
jae 0x1401af390
cmp dword [r15 + 0x40], 0xf
jne case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd8
jmp 0x1401b08dc
cmp dword [r15 + 0x40], 0xf
jne case.0x1401b0160.10
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
nop
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401af449
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401af449
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401af462
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401af479
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401af479
mov ecx, edi
cmp edx, 0xe000
jb 0x1401af47e
mov ecx, 1
cmp dword [r15 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xd9
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jb 0x1401af4c5
mov ebx, edi
jmp case.0x1401acf21.33
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jb 0x1401b03f6
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401ad969
cmp rax, qword [r12 + 0xb8]
ja 0x1401af4ff
cmp dword [r12 + 0x54], 0
je 0x1401ad969
cmp cx, 1
mov dword [r12 + 0x4c], 1
ja 0x1401a6b6a
mov ebx, edi
jmp case.0x1401acf21.33
nop dword [rax]
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jb 0x1401af545
mov ebx, edi
jmp case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov r8, qword [r12 + 0xa8]
cmp rcx, r8
jae 0x1401ae1f6
cmp dword ds:[r15 + 0x40], 0xc
jne 0x1401af5dc
mov edx, dword [r12 + 0xfc]
test edx, edx
je 0x1401af59d
lea r9, ds:[r12 + 0x100]
mov dword [rsp + 0x20], r13d
call fcn.1401d7780
lea r10, [0x140000000]
test eax, eax
je 0x1401af5dc
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov edx, dword [r12 + 0x100]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401af5dc
movzx eax, word [r12 + 0x104]
cmp word [rcx], ax
jne 0x1401af5dc
nop
cmp edx, 1
je case.0x1401ae3dd.8193
movzx eax, word [r12 + 0x106]
cmp word [rcx + 2], ax
je case.0x1401ae3dd.8193
mov rax, qword [r15 + 0x50]
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r15 + 0x50], r8
and eax, esi
cmp eax, r14d
jne 0x1401af614
movzx eax, word [r8]
mov ecx, 0x3ff
and edx, ecx
and eax, ecx
shl edx, 0xa
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r15 + 0x50], r8
mov eax, dword ds:[r15 + 0x40]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401ae2f4.15
mov ecx, dword [r10 + rax*4 + 0x1b17f8]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401af666
nop dword [rax + rax]
je 0x1401b04bf
sub edx, 0xa
je case.0x1401af634.13
sub edx, 1
je 0x1401af67f
cmp edx, 1
je 0x1401af67f
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
sub edx, 0x85
je 0x1401af67f
sub edx, 0x1fa3
je 0x1401af67f
cmp edx, 1
jne case.0x1401ae3dd.8193
cmp word [r12 + 0x82], 2
jmp 0x1401af988
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401af6d8
je case.0x1401ae3dd.8193
nop
cmp edx, 9
je case.0x1401ae3dd.8193
cmp edx, 0x20
je case.0x1401ae3dd.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401ae3dd.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401ae3dd.8193
mov eax, 0x180e
cmp edx, eax
jmp 0x1401af988
mov eax, 0x3000
cmp edx, eax
ja case.0x1401af634.13
je case.0x1401ae3dd.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401af634.13
movzx eax, byte [r10 + rdx + 0x1b1840]
mov ecx, dword [r10 + rax*4 + 0x1b1838]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401af775
nop
je case.0x1401af634.13
cmp edx, 9
je case.0x1401af634.13
cmp edx, 0x20
je case.0x1401af634.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401af634.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401af634.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ae3dd.8193
je case.0x1401af634.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ae3dd.8193
movzx eax, byte [r10 + rdx + 0x1b18a8]
mov ecx, dword [r10 + rax*4 + 0x1b18a0]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401af7da
je case.0x1401ae3dd.8193
nop
sub edx, 0xa
je case.0x1401ae3dd.8193
sub edx, 1
je case.0x1401ae3dd.8193
cmp edx, 1
jmp 0x1401af988
nop word [rax + rax]
sub edx, 0x85
je case.0x1401ae3dd.8193
sub edx, 0x1fa3
je case.0x1401ae3dd.8193
nop dword [rax + rax]
cmp edx, 1
jne case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0xd
ja 0x1401af856
nop dword [rax + rax]
je case.0x1401af634.13
sub edx, 0xa
je case.0x1401af634.13
sub edx, 1
je case.0x1401af634.13
nop dword [rax + rax]
cmp edx, 1
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
nop word [rax + rax]
sub edx, 0x85
je case.0x1401af634.13
sub edx, 0x1fa3
je case.0x1401af634.13
nop dword [rax + rax]
cmp edx, 1
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
nop word [rax + rax]
cmp edx, 0x100
jae case.0x1401af634.13
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 8
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0x100
jae case.0x1401ae3dd.8193
mov rax, qword ds:[r12 + 0x68]
test byte [rdx + rax], 8
jne case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0x100
jae case.0x1401af634.13
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
nop dword [rax + rax]
cmp edx, 0x100
jae case.0x1401ae3dd.8193
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 1
jne case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0x100
jae case.0x1401af634.13
mov rax, qword ds:[r12 + 0x68]
test byte [rdx + rax], 0x10
je case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
cmp edx, 0x100
jae case.0x1401ae3dd.8193
mov rax, qword [r12 + 0x68]
test byte [rdx + rax], 0x10
jne case.0x1401af634.13
mov ebx, edi
mov r8d, 0xff
jmp case.0x1401acf21.33
nop dword [rax + rax]
test ebx, ebx
jne case.0x1401acf21.33
mov r8, qword ds:[r15 + 0x50]
mov edi, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r15 + 0x50], r8
test r13d, r13d
jne 0x1401aff50
movzx edx, word [r8]
mov r11d, 0x3ff
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx r9d, byte [r10 + rcx*4 + 0x241972]
mov r10, qword [r15 + 8]
cmp r8, r10
jbe 0x1401b002f
lea rbx, [0x140000000]
movzx ecx, word ds:[r8 - 2]
add r8, 0xfffffffffffffffe
test r13d, r13d
jne 0x1401affae
mov edx, ecx
jmp 0x1401affe8
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword [r15 + 0x50]
mov edx, 0xdc00
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401afa5c
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
cmp dword [r15 + 0x40], 0x11
jne 0x1401b0067
cmp rcx, qword [r15 + 8]
jbe 0x1401b0067
cmp word [rcx], 0xa
jne 0x1401b0067
mov r14d, dword [rsp + 0xf0]
add rcx, 0xfffffffffffffffe
cmp word [rcx], 0xd
jne 0x1401b006f
mov qword [r15 + 0x50], rcx
jmp 0x1401b006f
nop word [rax + rax]
test ebx, ebx
jne case.0x1401acf21.33
mov rcx, qword ds:[r15 + 0x50]
mov r14d, dword [rsp + 0xf0]
add rcx, 0xfffffffffffffffe
mov qword [r15 + 0x50], rcx
test r13d, r13d
je 0x1401afadd
movzx eax, word [rcx]
mov edx, 0xdc00
and ax, si
cmp ax, dx
jne 0x1401afadd
lea rax, [rcx - 2]
mov qword [r15 + 0x50], rax
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b0579
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401afb77
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401afb77
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov r8d, dword [r15 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r10 + rcx*4 + 0x24197a]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x2413e0]
bt eax, r8d
mov edx, edi
mov eax, edi
setb dl
cmp dword [r15 + 0x40], 0xf
sete al
cmp edx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xdf
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword ds:[r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
test r13d, r13d
je 0x1401afc69
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401afc69
movzx ecx, word [r8]
mov eax, 0x3ff
and ecx, eax
and eax, edx
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx eax, word [r10 + rcx*4 + 0x241978]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r15 + 0x44]
mov eax, edi
sete cl
cmp dword [r15 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xe0
jmp 0x1401b08dc
test ebx, ebx
jne case.0x1401acf21.33
mov ecx, dword ds:[r15 + 0x38]
lea eax, [rcx + 1]
mov dword [r15 + 0x38], eax
cmp ecx, dword [r15 + 0x3c]
jae 0x1401ad969
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xa8]
jae 0x1401af4d7
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r15 + 0x50], r8
mov r9d, 0x3ff
test r13d, r13d
je 0x1401afd3c
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401afd3c
movzx ecx, word [r8]
and edx, r9d
mov eax, edx
and ecx, r9d
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x241970]
mov ecx, dword [r15 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401afd99
movzx edx, word [rdx + r10 + 8]
mov eax, ecx
shr rax, 5
and rdx, r9
add rdx, rax
and ecx, 0x1f
mov eax, dword [r10 + rdx*4 + 0x2410e0]
bt eax, ecx
mov ecx, edi
jae 0x1401afd9e
mov ecx, 1
cmp dword [r15 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401ae3dd.8193
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xe1
jmp 0x1401b08dc
mov rdi, qword [rsp + 0x30]
lea rcx, [r15 + 0x80]
mov r8, qword [rdi + 0x78]
lea rdx, [rdi + 0x80]
shl r8, 3
call fcn.1401e3aa0
mov rax, qword [rdi + 0x78]
mov qword [r15 + 0x78], rax
mov rax, qword [rdi + 0x60]
mov qword [r15 + 0x60], rax
mov rcx, qword [r15]
nop dword [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r15], rcx
cmp word [rcx], 0x78
je 0x1401afe00
mov rbp, qword [rsp + 0x38]
lea rax, [rcx + 4]
mov r14d, dword [rsp + 0xf0]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov r11d, dword [rsp + 0xc0]
mov qword [r15], rax
jmp 0x1401a5b31
mov rcx, qword [r15]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r15], rbx
cmp word [rbx], 0x78
je 0x1401b079a
mov rbp, qword [rsp + 0x38]
lea rax, [rbx + 4]
mov r14d, dword [rsp + 0xf0]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
mov qword [r15], rax
jmp 0x1401a5b31
mov r8, qword ss:[rbp + 0x78]
lea rdx, [rbp + 0x80]
shl r8, 3
lea rcx, [r15 + 0x80]
call fcn.1401e3aa0
mov rax, qword [rbp + 0x78]
lea r10, [0x140000000]
mov qword [r15 + 0x78], rax
mov eax, dword [r15 + 0x38]
jmp 0x1401afede
mov rcx, qword [r15 + 8]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
mov qword [r15 + 8], rdx
cmp word [rdx], 0x78
je 0x1401b01c9
cmp dword [r15 + 0x38], 0
mov eax, edi
sete al
nop
test eax, eax
je case.0x1401acbda.148
mov rdx, qword [r15]
nop dword [rax + rax]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
mov qword [r15], rcx
mov rdx, rcx
cmp word [rcx], 0x78
je 0x1401afef0
mov rcx, qword [r15]
movzx eax, word [rcx]
movzx edx, byte [rax + r10 + 0x25cdf0]
jmp 0x1401acc03
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
jne 0x1401b035f
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
movzx ecx, word ds:[r8]
mov r9, r8
movzx eax, cx
and ax, si
cmp ax, di
jne 0x1401aff71
lea r9, [r8 - 2]
mov qword [r15 + 0x50], r9
movzx ecx, word [r9]
movzx edx, cx
mov r8, r9
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401af9cd
movzx ecx, word [r9 + 2]
mov r11d, 0x3ff
and edx, r11d
and ecx, r11d
mov eax, edx
mov edx, ecx
shl eax, 0xa
or edx, eax
add edx, 0x10000
jmp 0x1401af9d3
movzx eax, cx
and ax, si
cmp ax, di
jne 0x1401affc2
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, esi
cmp eax, r14d
jne 0x1401affe8
movzx ecx, word [r8 + 2]
and edx, r11d
mov eax, edx
and ecx, r11d
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x258780]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x245b80]
lea rcx, [rax + rax*2]
movzx edx, byte [rbx + rcx*4 + 0x241972]
mov eax, dword [rbx + rdx*4 + 0x25cd30]
bt eax, r9d
jae 0x1401b002f
mov qword [r15 + 0x50], r8
mov r9d, edx
cmp r8, r10
ja 0x1401afa14
mov r14d, dword [rsp + 0xf0]
mov rax, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b055f
mov rbp, qword [rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
mov r14d, dword [rsp + 0xf0]
mov rax, qword ds:[r15 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r15 + 0x50], rax
ja 0x1401b056c
mov rbp, qword ds:[rsp + 0x38]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
jmp 0x1401a5b31
inc dword [r12 + 0xf4]
mov rdx, qword [r15]
mov eax, dword [r12 + 0xf4]
cmp eax, dword [r12 + 0xf8]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x25cdf0]
movzx eax, word [rdx + 2]
ja 0x1401b0586
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r15], rax
jmp 0x1401a5b40
test r13d, r13d
jne 0x1401aea7b
mov rbx, qword ds:[r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x1d
jmp 0x1401b08dc
test r13d, r13d
jne 0x1401aeb71
mov rbx, qword ds:[r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x1f
jmp 0x1401b08dc
test r13d, r13d
jne 0x1401ae81a
mov rbx, qword ds:[r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x17
jmp 0x1401b08dc
test esi, esi
js 0x1401b0162
cmp esi, 0xd
ja case.0x1401ae2f4.15
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x1b1908]
add rcx, r8
jmp rcx
cmp dword [r15 + 0x40], 0x16
je 0x1401b04aa
test r13d, r13d
jne case.0x1401af634.13
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x21
jmp 0x1401b08dc
mov dword ds:[rsi], ebx
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x16
jmp 0x1401b08dc
mov edx, r9d
jmp 0x1401b066b
mov eax, 0xfffd
sub dx, 0x7e
test ax, dx
mov eax, 0
sete al
mov dword [r15 + 0x38], eax
mov qword [r15 + 8], rbx
mov rax, qword ds:[r15]
mov rcx, qword [r15 + 8]
mov rsi, qword [rsp + 0xe8]
movzx eax, word [rax]
or eax, 0x30000
mov dword [rsp + 0xc8], eax
movzx eax, word [rcx]
mov byte [r15 + 0x48], 5
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rcx + rax*2]
jmp 0x1401b08dc
mov byte [r15 + 0x48], 7
jmp 0x1401b08dc
lea rbx, [rbx + rax*2]
mov byte [r15 + 0x48], 1
jmp 0x1401b08dc
mov eax, 0x2008f
mov byte [r15 + 0x48], 0x23
mov dword [rsp + 0xc8], eax
jmp 0x1401b08dc
mov rax, qword [r15 + 0x10]
mov qword [r15], rax
jmp 0x1401b0625
mov rax, qword [rsp + 0x60]
add rax, rax
add qword [r15 + 0x50], rax
mov rbx, qword ds:[r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x14
jmp 0x1401b08dc
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x15
jmp 0x1401b08dc
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x18
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x1a
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x1c
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x1e
jmp 0x1401b08dc
mov rbx, qword ds:[r15]
mov byte [r15 + 0x48], 0x20
jmp 0x1401b08dc
cmp r8, qword [r12 + 0xa8]
jae case.0x1401ae2f4.13
cmp word [r8], 0xa
jne case.0x1401ae2f4.13
mov rsi, qword [rsp + 0xe8]
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x21
jmp 0x1401b08dc
movzx ecx, word [r12 + 0x80]
test cx, cx
je case.0x1401ae2f4.13
cmp r8, qword [r12 + 0xa8]
jb case.0x1401ae2f4.13
cmp dword [r12 + 0xfc], 0
jne case.0x1401ae2f4.13
cmp dword [r12 + 0x100], 2
jne case.0x1401ae2f4.13
movzx eax, word [r12 + 0x104]
cmp edx, eax
jne case.0x1401ae2f4.13
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x21
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0x22
jmp 0x1401b08dc
mov rbx, qword ds:[r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0x64
jmp 0x1401b08dc
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401b039d
lea rax, [rdx - 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xc9
jmp 0x1401b08dc
lea rax, [rdi + rbx]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xca
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xcb
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xcd
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xcf
jmp 0x1401b08dc
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r15 + 0x50], rdx
mov r10, rdx
test r13d, r13d
je 0x1401b0434
mov eax, ecx
and eax, esi
cmp eax, r14d
jne 0x1401b0434
movzx eax, word [rdx]
lea r10, [rdx + 2]
mov r8d, 0x3ff
mov qword [r15 + 0x50], r10
and ecx, r8d
and eax, r8d
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov r9, qword [r12 + 0xa8]
mov rdx, r10
mov r8, qword [r12 + 0x98]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r13d
call fcn.1401d8560
mov qword ds:[r15 + 0x50], rax
cmp rax, qword [r12 + 0xa8]
jb 0x1401b04aa
movzx ecx, word [r12 + 0x80]
test cx, cx
je 0x1401b04aa
nop dword [rax + rax]
cmp rax, qword [r12 + 0xb8]
ja 0x1401b0492
cmp dword [r12 + 0x54], 0
je 0x1401b04aa
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xda
jmp 0x1401b08dc
nop
cmp r8, qword [r12 + 0xa8]
jae case.0x1401af634.13
cmp word [r8], 0xa
jne case.0x1401af634.13
mov rsi, qword [rsp + 0xe8]
lea rax, [r8 + 2]
mov qword [r15 + 0x50], rax
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xdb
jmp 0x1401b08dc
movzx ecx, word ds:[r12 + 0x80]
test cx, cx
je case.0x1401af634.13
cmp r8, qword [r12 + 0xa8]
jb case.0x1401af634.13
cmp dword [r12 + 0xfc], 0
jne case.0x1401af634.13
cmp dword [r12 + 0x100], 2
jne case.0x1401af634.13
movzx eax, word [r12 + 0x104]
cmp edx, eax
jne case.0x1401af634.13
mov dword ds:[r12 + 0x4c], 1
cmp cx, 1
ja 0x1401a6b6a
mov rbx, qword [r15]
mov rsi, qword [rsp + 0xe8]
mov byte [r15 + 0x48], 0xdb
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xdc
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xdd
jmp 0x1401b08dc
mov rbx, qword [r15]
mov byte [r15 + 0x48], 0xde
jmp 0x1401b08dc
mov byte [r15 + 0x48], 0x11
jmp 0x1401b08d5
add rbx, 2
mov qword [r15 + 8], rbx
mov byte [r15 + 0x48], 9
jmp 0x1401b08dc
add rbx, 2
mov qword [r15 + 8], rbx
nop dword [rax]
movzx eax, word [rbx + 2]
lea rcx, [rbx + rax*2]
mov qword [r15 + 8], rcx
mov rbx, rcx
cmp word [rcx], 0x78
je 0x1401b05b0
lea rbx, [rcx + 4]
mov byte [r15 + 0x48], 0xa
jmp 0x1401b08dc
add rbx, 2
mov dword [r15 + 0x40], 1
mov qword [r15], rbx
mov ecx, 0x89
movzx eax, word [rbx]
cmp ax, cx
je 0x1401b060a
mov ecx, 0x8e
cmp ax, cx
jne 0x1401b05ff
jmp 0x1401b060a
mov dword [r15 + 0x40], r9d
mov eax, 0x20000
jmp 0x1401b0612
mov dword [r15 + 0x40], r9d
movzx eax, word [rbx + 4]
bts eax, 0x10
mov dword [r15 + 0x38], eax
lea r10, [0x140000000]
mov dword [r15 + 0x3c], r9d
mov qword [r15 + 0x10], rbx
mov rax, qword [r15 + 0x50]
mov rsi, qword [rsp + 0xe8]
mov qword [r15 + 8], rax
mov rcx, qword [r15]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0xc8], eax
movzx eax, word [rcx]
mov byte [r15 + 0x48], 8
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rcx + rax*2]
jmp 0x1401b08dc
movzx edx, word [rbx + 4]
bts edx, 0x10
jmp 0x1401b066b
bts edx, 0x11
mov dword [r15 + 0x38], edx
lea r10, [0x140000000]
mov eax, dword ds:[r15 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xc8], eax
movzx eax, word [rbx]
mov byte [r15 + 0x48], 2
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
mov rcx, qword [r12 + 0x90]
movzx eax, word [rbx + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
je 0x1401b06bf
movzx r9d, word [r10 + 4]
cmp dword [r15 + 0x68], 0xffffffff
je 0x1401b070a
mov rax, qword [r15 + 0x70]
cmp rax, 0xffffffffffffffff
je 0x1401b070a
mov r8, qword [r12 + 0x20]
mov edx, r9d
bts edx, 0x12
nop dword [rax]
add rax, r8
mov rcx, rax
sub rcx, rsi
cmp dword [rax + 0x34], edx
je 0x1401b06fa
mov rax, qword [rcx + 0x70]
cmp rax, 0xffffffffffffffff
jne 0x1401b06e0
jmp 0x1401b070a
mov rax, qword ds:[rcx + 0x50]
cmp qword [r15 + 0x50], rax
je 0x1401b0ad4
mov qword [r15 + 8], r10
bts r9d, 0x12
mov dword [r15 + 0x38], r9d
lea r10, [0x140000000]
mov rcx, qword [r15 + 8]
mov eax, dword [r15 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xc8], eax
movzx eax, word [rcx]
mov byte [r15 + 0x48], 0xb
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rcx + rax*2]
jmp 0x1401b08dc
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r15 + 0x38], edx
mov eax, dword [r15 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xc8], eax
movzx eax, word [rbx]
mov byte [r15 + 0x48], 3
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r15 + 0x38], edx
mov eax, dword [r15 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xc8], eax
movzx eax, word [rbx]
mov byte [r15 + 0x48], 4
movzx eax, byte [rax + r10 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
lea rax, [rbx + 4]
mov qword [r12 + 0xd0], rax
mov qword [r15 + 0x60], rax
mov rdx, qword [r15]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x25cdf0]
movzx eax, word [rdx + 2]
mov byte [r15 + 0x48], 0xc
jmp 0x1401b08d5
movzx eax, word [rbx]
mov byte [r15 + 0x48], 0xd
movzx eax, byte [rax + r8 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
lea rax, [rbx + 4]
mov qword [r12 + 0xd0], rax
mov qword [r15 + 0x60], rax
mov rdx, qword [r15]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x25cdf0]
movzx eax, word [rdx + 2]
mov byte [r15 + 0x48], 0x24
jmp 0x1401b08d5
movzx eax, word [rbx]
mov byte [r15 + 0x48], 0xe
movzx eax, byte [rax + r8 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
lea rax, [rbx + 4]
mov qword [r12 + 0xd0], rax
mov qword [r15 + 0x60], rax
mov rdx, qword [r15]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x25cdf0]
movzx eax, word [rdx + 2]
mov byte [r15 + 0x48], 0xf
jmp 0x1401b08d5
movzx eax, word [rbx]
mov byte [r15 + 0x48], 0x10
movzx eax, byte [rax + r8 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
movzx eax, word [rbx]
mov byte [r15 + 0x48], 0x12
movzx eax, byte [rax + r8 + 0x25cdf0]
lea rbx, [rbx + rax*2]
jmp 0x1401b08dc
lea rax, [rbx + 4]
mov qword [r12 + 0xd0], rax
mov qword [r15 + 0x60], rax
mov rdx, qword [r15]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x25cdf0]
movzx eax, word [rdx + 2]
mov byte [r15 + 0x48], 0x13
add rcx, rax
lea rbx, [rdx + rcx*2]
lea rbp, [r15 + rsi]
mov qword [rsp + 0x38], rbp
cmp rbp, qword [r12 + 0x28]
jb 0x1401b09b2
mov rcx, qword [r12 + 0x18]
mov rdx, qword [r12 + 0x38]
lea rdi, [rcx + rcx]
mov rax, rdi
shr rax, 0xa
cmp rax, rdx
jbe 0x1401b0929
mov rdi, rdx
xor edx, edx
shl rdi, 0xa
mov rax, rdi
div rsi
sub rdi, rdx
cmp rcx, rdi
jae 0x1401b0adb
lfence
mov rdx, qword [r12 + 0x10]
mov rcx, rdi
mov rax, qword [r12]
call qword [str.PB__]
mov rsi, rax
test rax, rax
je 0x1401b0ae2
mov r8, qword [r12 + 0x18]
mov rcx, rax
mov rdx, qword [r12 + 0x20]
call fcn.1401e3aa0
mov rcx, qword ds:[r12 + 0x20]
mov rdx, rsi
mov rbp, qword [rsp + 0xe8]
sub rdx, rcx
add r15, rdx
add rbp, r15
mov qword [rsp + 0x38], rbp
cmp rcx, qword [r12 + 0x30]
je 0x1401b0997
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
call qword [str.PB__]
mov qword [r12 + 0x20], rsi
lea rax, [rsi + rdi]
mov rsi, qword [rsp + 0xe8]
mov qword [r12 + 0x28], rax
mov qword [r12 + 0x18], rdi
lea rdx, ds:[r15 + 0x50]
lea rcx, [rbp + 0x50]
lea r8, [rsi - 0x50]
call fcn.1401e3aa0
mov eax, dword [r15 + 0x30]
mov r15, rbp
mov r14d, dword [rsp + 0xf0]
inc eax
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
mov rdi, qword [rsp + 0x30]
mov r11d, dword [rsp + 0xc0]
mov dword [rbp + 0x30], eax
jmp 0x1401a5a50
xor eax, eax
jmp 0x1401b0af5
mov qword ds:[r12 + 0xb0], rdx
mov rax, qword [r15 + 0x78]
mov qword [r12 + 0x78], rax
mov rax, qword [r15 + 0x60]
mov qword [r12 + 0xc8], rax
mov rax, qword [r15 + 0x50]
cmp rax, qword [r12 + 0xc0]
jbe 0x1401b0a32
mov qword [r12 + 0xc0], rax
mov rax, qword [r15 + 0x58]
lea rdx, [r15 + 0x80]
sub rax, qword [r12 + 0x98]
mov rdi, qword [rsp + 0xd0]
movzx ebx, word [rsp + 0xd8]
sar rax, 1
mov qword [rdi], rax
lea rcx, [rdi + 0x10]
mov rax, qword [r15 + 0x50]
sub rax, qword [r12 + 0x98]
sar rax, 1
mov qword [rdi + 8], rax
movzx eax, word [rsp + 0xe0]
inc eax
cmp eax, ebx
cmovbe ebx, eax
add ebx, ebx
lea r8d, [rbx - 2]
shl r8, 3
call fcn.1401e3aa0
mov rax, qword ds:[r15 + 0x78]
dec ebx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x1401b0ac9
nop word [rax + rax]
mov qword [rdi + rdx*8], 0xffffffffffffffff
dec ebx
mov rcx, qword [r15 + 0x78]
add rcx, 2
mov edx, ebx
cmp rdx, rcx
jae 0x1401b0ab0
mov eax, 1
jmp 0x1401b0af5
mov eax, ebx
jmp 0x1401b0af5
mov eax, 0xffffffcc
jmp 0x1401b0af5
mov eax, 0xffffffc1
jmp 0x1401b0af5
mov eax, 0xffffffd0
jmp 0x1401b0af5
mov eax, 0xffffffd4
jmp 0x1401b0af5
mov eax, 0xffffffd1
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret