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

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rdi, qword [rsp + 0xf0]
mov rsi, r9
mov r15, qword [rsp + 0xf8]
xor r9d, r9d
mov rbx, rdx
mov qword [rsp + 0x30], r9
xor edx, edx
mov dword [rsp + 0xf8], r9d
mov r8, qword [rdi + 0x38]
lea rax, [rsi - 0x50]
mov r10d, dword [r15 + 0xd0]
mov r13d, r9d
mov r14, qword [rdi + 0x30]
mov r12d, r10d
mov qword [rsp + 0x60], rax
mov ebp, r9d
mov rax, r8
shr r12d, 0x13
div rsi
mov dword [r14 + 0x30], r9d
and r12d, 1
mov dword [r14 + 0x6c], r9d
shr r10d, 0x11
and r10d, 1
mov dword [rsp + 0xd8], r9d
sub r8, rdx
mov dword [rsp + 0xd0], r10d
mov qword [rsp + 0x40], r8
lea rax, [r8 + r14]
mov r8d, r9d
mov qword [rsp + 0x48], rax
mov eax, 0xffffffff
mov dword [r14 + 0x68], eax
mov qword [r14 + 0x50], rcx
mov qword [r14 + 0x58], rcx
mov qword [r14 + 0x60], r9
mov qword [r14 + 0x78], r9
mov qword [r14 + 0x70], 0xffffffffffffffff
nop word [rax + rax]
mov dword [r14 + 0x34], r8d
mov qword [r14], rbx
mov qword [r14 + 0x20], rsi
test r8d, r8d
je 0x1401462ca
mov rax, r14
sub rax, qword [rdi + 0x30]
mov qword [r14 + 0x70], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x1401462c2
movzx eax, r8w
mov dword [r14 + 0x68], eax
mov dword [rsp + 0xd8], r9d
mov edx, dword [r15 + 0x28]
lea eax, [rdx + 1]
mov dword [r15 + 0x28], eax
cmp edx, dword [r15 + 0x20]
jae 0x140150578
mov eax, dword [r15 + 0x24]
cmp dword [r14 + 0x30], eax
jb 0x14014634b
mov eax, 0xffffffcb
jmp 0x14015057d
mov rdi, qword [rsp + 0xf0]
jmp 0x14014634b
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
jmp 0x140146360
mov rdi, qword [rsp + 0xf0]
jmp 0x140146352
mov rsi, qword [rsp + 0xe8]
jmp 0x140146352
mov r10d, dword [rsp + 0xd0]
jmp 0x140146352
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x140146360
mov edx, 0xffffffff
lea r8, [0x140000000]
jmp 0x140146360
mov qword [r14], rax
lea r8, [0x140000000]
mov edx, 0xffffffff
nop word [rax + rax]
mov rbx, qword [r14]
movzx r11d, byte [rbx]
mov byte [r14 + 0x49], r11b
cmp r11d, 0xa6
ja case.0x14014debb.15
movzx eax, byte [r8 + r11 + 0x1506f0]
mov ecx, dword [r8 + rax*4 + 0x150594]
add rcx, r8
jmp rcx
cmp dword [r14 + 0x68], edx
jne 0x140146417
movzx r8d, word [rbx + 2]
mov rcx, qword [r14 + 0x70]
cmp rcx, 0xffffffffffffffff
je case.0x14014debb.15
mov r13, qword [rdi + 0x30]
mov eax, r8d
add r13, rcx
bts eax, 0x10
mov rcx, r13
sub rcx, rsi
cmp dword [r13 + 0x34], eax
je 0x1401463cb
mov rcx, qword [rcx + 0x70]
jmp 0x1401463a1
mov dword [r14 + 0x6c], r8d
lea edx, [r8*2 - 2]
mov rax, qword [rcx + 0x50]
lea r8, [0x140000000]
sub rax, qword [r15 + 0x78]
sar rax, 1
mov qword [r14 + rdx*8 + 0x80], rax
mov rax, qword [r14 + 0x50]
sub rax, qword [r15 + 0x78]
sar rax, 1
mov qword [r14 + rdx*8 + 0x88], rax
cmp rdx, qword [r14 + 0x78]
jb 0x140146412
lea rax, [rdx + 2]
mov qword [r14 + 0x78], rax
mov edx, 0xffffffff
mov rcx, qword [r14]
movzx eax, word [rcx]
movzx eax, byte [rax + r8 + 0x1e3410]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
jmp 0x140146360
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x140146446
mov qword [r15 + 0xa0], rax
mov qword [rsp + 0x30], r14
mov ebx, 0xfffffc19
jmp 0x140148eb7
cmp dword [r14 + 0x68], edx
je 0x1401464b1
mov rcx, qword [r14 + 0x70]
nop
cmp rcx, 0xffffffffffffffff
je case.0x14014debb.15
mov r13, qword [rdi + 0x30]
add r13, rcx
mov rcx, r13
sub rcx, rsi
mov eax, dword [r13 + 0x34]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x14014648d
mov rcx, qword [rcx + 0x70]
jmp 0x140146460
mov rax, qword [r14 + 0x50]
mov qword [rcx + 0x50], rax
mov rax, qword [r14 + 0x60]
mov qword [rcx + 0x60], rax
mov rax, qword [r14 + 0x58]
mov r14, rcx
mov qword [rcx + 0x58], rax
add qword [rcx], 4
jmp 0x140146360
mov r8, qword [r14 + 0x58]
mov rdx, qword [r14 + 0x50]
cmp rdx, r8
jne 0x1401464e7
mov eax, dword [r15 + 0xcc]
test al, 4
jne case.0x14014638c.82
test al, 8
je 0x1401464e7
mov rcx, qword [r15 + 0x50]
mov rax, qword [r15 + 0x78]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x1401464e7
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
cmp rdx, qword [r15 + 0x88]
jae 0x14015047b
mov eax, dword [r15 + 0xd0]
or eax, dword [r15 + 0xcc]
bt eax, 0x1d
jae 0x14015047b
test r11b, r11b
jne 0x140150474
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov edx, dword [r15 + 0xdc]
mov rcx, qword [r14 + 0x50]
test edx, edx
je 0x1401465f8
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x140146552
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
test eax, eax
jne case.0x14014638c.82
lea r8, [0x140000000]
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014638c.12
mov rax, qword [r15 + 0x88]
mov rcx, qword [r14 + 0x50]
sub rax, 2
cmp rcx, rax
jne case.0x14014638c.12
cmp dword [r15 + 0xdc], 0
jne case.0x14014638c.12
cmp dword [r15 + 0xe0], 2
jne case.0x14014638c.12
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne case.0x14014638c.12
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401471e3
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jb 0x140146648
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp rcx, qword [r15 + 0x98]
ja 0x1401465dd
cmp dword [r15 + 0x34], 0
je case.0x14014638c.82
cmp ax, 1
mov dword [r15 + 0x2c], 1
ja 0x1401471e3
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rcx, rax
ja 0x140146559
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140146559
cmp edx, 1
je case.0x14014638c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
jne 0x140146559
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
add rcx, 2
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x14014667b
cmp rcx, qword [r15 + 0x88]
jae 0x14014667b
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14014667b
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x140146352
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x1401466d9
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014638c.82
cmp rax, qword [r15 + 0x98]
ja 0x1401466be
cmp dword [r15 + 0x34], 0
je case.0x14014638c.82
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
add rax, 2
mov qword [r14 + 0x50], rax
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x140146360
test r12d, r12d
je 0x140146793
lea rax, [rbx + 2]
mov qword [r14 + 0x18], 1
mov qword [r14], rax
movzx ecx, word [rax]
mov eax, 0xfc00
and cx, ax
mov eax, 0xd800
cmp cx, ax
jne 0x140146727
mov eax, 2
mov qword [r14 + 0x18], rax
mov edx, eax
jmp 0x14014672c
mov edx, 1
mov r8, qword [r15 + 0x88]
mov rcx, qword [r14 + 0x50]
mov rax, r8
sub rax, rcx
sar rax, 1
cmp rdx, rax
jbe 0x140146760
cmp rcx, r8
jb case.0x14014638c.82
jmp 0x1401465bb
mov rax, qword [r14 + 0x50]
mov rcx, qword [r14]
movzx r8d, word [rax]
add rax, 2
movzx edx, word [rcx]
mov qword [r14 + 0x50], rax
lea rax, [rcx + 2]
mov qword [r14], rax
cmp dx, r8w
jne case.0x14014638c.82
sub qword [r14 + 0x18], 1
jne 0x140146760
jmp 0x14014634b
mov r8, qword [r14 + 0x50]
mov rax, qword [r15 + 0x88]
sub rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 2
jge 0x1401467c5
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp r8, qword [r15 + 0x98]
jmp 0x1401465d0
movzx edx, word [rbx + 2]
lea rax, [r8 + 2]
movzx ecx, word [r8]
mov qword [r14 + 0x50], rax
cmp dx, cx
jne case.0x14014638c.82
lea rax, [rbx + 4]
jmp 0x140146348
mov r11, qword [r14 + 0x50]
cmp r11, qword [r15 + 0x88]
jb 0x14014680e
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp r11, qword [r15 + 0x98]
jmp 0x1401465d0
test r12d, r12d
je 0x140146978
add rbx, 2
mov qword [r14 + 0x18], 1
mov qword [r14], rbx
mov ecx, 0xfc00
mov edx, 0xd800
mov r10d, 1
movzx r8d, word [rbx]
mov eax, r8d
and eax, ecx
cmp eax, edx
jne 0x140146878
movzx ecx, word [rbx + 2]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov ecx, 0xfc00
mov eax, 2
add r8d, 0x10000
mov qword [r14 + 0x18], rax
mov r10d, eax
movzx edx, word [r11]
mov eax, 0x80
cmp r8d, eax
jae 0x1401468c8
mov rcx, qword [r15 + 0x38]
mov eax, 0xff
cmp edx, eax
ja 0x140146897
movzx edx, byte [rdx + rcx]
movzx ecx, byte [r8 + rcx]
cmp ecx, edx
je 0x1401468ac
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x140148ebf
mov r10d, dword [rsp + 0xd0]
lea rax, [rbx + 2]
mov qword [r14], rax
lea rax, [r11 + 2]
mov qword [r14 + 0x50], rax
jmp 0x14014634b
mov eax, edx
lea r9, [r11 + 2]
and eax, ecx
mov qword [r14 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x140146904
movzx ecx, word [r9]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r9 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
lea rax, [rbx + r10*2]
mov r10d, dword [rsp + 0xd0]
mov qword [r14], rax
mov r9d, 0
cmp edx, r8d
je 0x14014633a
lea r11, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov ecx, dword [r11 + rcx*4 + 0x1e5b44]
add ecx, r8d
cmp edx, ecx
mov edx, 0xffffffff
je 0x14014633f
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
test r10d, r10d
je 0x140146a22
movzx edx, word [rbx + 2]
mov ecx, 0x80
movzx r9d, word [r11]
cmp edx, ecx
jae 0x1401469be
mov rcx, qword [r15 + 0x38]
mov eax, 0xff
cmp r9d, eax
ja 0x1401469a5
movzx r9d, byte [r9 + rcx]
movzx ecx, byte [rdx + rcx]
cmp ecx, r9d
je 0x140146a6f
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x140148ebf
cmp r9d, edx
je 0x140146a6f
mov r8d, edx
mov eax, edx
and r8d, 0x7f
test edx, edx
jns 0x1401469da
lea eax, [rdx + 0x7f]
sub r8d, ecx
sar eax, 7
lea rcx, [0x140000000]
cdqe
movzx eax, word [rcx + rax*2 + 0x1e9d50]
shl eax, 7
add eax, r8d
lea r8, [0x140000000]
cdqe
movzx eax, word [r8 + rax*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov ecx, dword [r8 + rcx*4 + 0x1e5b44]
add ecx, edx
cmp r9d, ecx
je 0x140146a6f
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
movzx eax, word [rbx + 2]
mov r9d, 0xff
cmp ax, r9w
ja 0x140146a3f
mov ecx, eax
mov rax, qword [r15 + 0x38]
movzx r8d, byte [rax + rcx]
jmp 0x140146a42
mov r8d, eax
movzx eax, word [r11]
cmp ax, r9w
ja 0x140146a58
mov ecx, eax
mov rax, qword [r15 + 0x38]
movzx edx, byte [rax + rcx]
jmp 0x140146a5a
mov edx, eax
cmp r8d, edx
je 0x140146a68
xor ebp, ebp
mov ebx, ebp
jmp 0x140148ebf
lea r8, [0x140000000]
lea rax, [r11 + 2]
xor r9d, r9d
mov qword [r14 + 0x50], rax
lea rax, [rbx + 4]
mov qword [r14], rax
jmp 0x140146352
mov r9, qword [r14 + 0x50]
cmp r9, qword [r15 + 0x88]
jb 0x140146aad
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp r9, qword [r15 + 0x98]
jmp 0x1401465d0
lea rax, [rbx + 2]
test r12d, r12d
je 0x140146bb9
mov qword [r14], rax
lea r8, [rax + 2]
movzx edx, word [rax]
mov ebx, 0xfc00
mov eax, edx
mov qword [r14], r8
and eax, ebx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140146b04
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 0xd800
lea rax, [r8 + 2]
add edx, 0x10000
mov qword [r14], rax
movzx r8d, word [r9]
add r9, 2
mov eax, r8d
mov qword [r14 + 0x50], r9
and eax, ebx
cmp eax, ecx
jne 0x140146b3f
movzx eax, word [r9]
and r8d, 0x3ff
and eax, 0x3ff
shl r8d, 0xa
or r8d, eax
lea rax, [r9 + 2]
mov qword [r14 + 0x50], rax
add r8d, 0x10000
cmp edx, r8d
je case.0x14014638c.82
mov r9d, 0
cmp r11b, 0x20
jne 0x14014634b
lea r11, [0x140000000]
cmp edx, 0x7f
jbe 0x140146b94
mov eax, edx
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1e5b44]
jmp 0x140146b9c
mov rax, qword [r15 + 0x40]
movzx edx, byte [rax + rdx]
cmp edx, r8d
mov edx, 0xffffffff
jne 0x14014633f
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
lea rdx, [r9 + 2]
test r10d, r10d
je 0x140146c6b
movzx r10d, word [r9]
mov qword [r14 + 0x50], rdx
movzx edx, word [rax]
lea rax, [rbx + 4]
mov qword [r14], rax
cmp edx, r10d
je case.0x14014638c.82
mov r9d, 0
cmp r11b, 0x20
jne 0x140146323
cmp edx, 0x7f
jbe 0x140146c4c
mov r8d, edx
mov eax, edx
and r8d, 0x7f
test edx, edx
jns 0x140146c0a
lea eax, [rdx + 0x7f]
add r8d, 0xffffff80
sar eax, 7
lea r11, [0x140000000]
cdqe
movzx eax, word [r11 + rax*2 + 0x1e9d50]
shl eax, 7
add eax, r8d
cdqe
movzx eax, word [r11 + rax*2 + 0x1ee150]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1e5b44]
cmp edx, r10d
mov r10d, dword [rsp + 0xd0]
jmp 0x140146b9f
mov rax, qword [r15 + 0x40]
lea r11, [0x140000000]
movzx edx, byte [rax + rdx]
cmp edx, r10d
mov r10d, dword [rsp + 0xd0]
jmp 0x140146b9f
movzx ecx, word [rax]
movzx r8d, word [r9]
mov qword [r14 + 0x50], rdx
cmp ecx, r8d
je 0x140146ca8
cmp r11b, 0x20
jne 0x140146c99
mov r9d, 0xff
cmp ecx, r9d
ja 0x140146c99
mov rax, qword [r15 + 0x40]
movzx ecx, byte [rax + rcx]
cmp ecx, r8d
je 0x140146cae
lea rax, [rbx + 4]
xor r9d, r9d
mov qword [r14], rax
jmp 0x14014634b
mov r9d, 0xff
xor ebp, ebp
mov ebx, ebp
jmp 0x140148ebf
movzx eax, word [rbx + 2]
lea r11, [0x140000000]
mov dword [r14 + 0x3c], eax
add rbx, 4
mov dword [r14 + 0x38], eax
mov qword [r14], rbx
jmp 0x140146e00
mov eax, 2
mov ebp, eax
mov dword [rsp + 0xf8], eax
mov dword [r14 + 0x38], r9d
lea r11, [0x140000000]
movzx eax, word [rbx + 2]
add rbx, 4
mov dword [r14 + 0x3c], eax
mov qword [r14], rbx
jmp 0x140146e00
mov dword [r14 + 0x38], r9d
lea r11, [0x140000000]
movzx eax, word [rbx + 2]
mov ebp, 1
add rbx, 4
mov dword [r14 + 0x3c], eax
mov qword [r14], rbx
jmp 0x140146df9
mov ebp, r9d
mov dword [rsp + 0xf8], r9d
jmp 0x140146ce4
mov eax, 2
mov dword [r14 + 0x38], r9d
add rbx, rax
mov dword [r14 + 0x3c], edx
mov qword [r14], rbx
lea r11, [0x140000000]
mov ebp, eax
mov dword [rsp + 0xf8], eax
jmp 0x140146e00
mov eax, 2
mov dword [r14 + 0x38], 1
add rbx, rax
mov dword [r14 + 0x3c], edx
mov qword [r14], rbx
lea r11, [0x140000000]
mov ebp, eax
mov dword [rsp + 0xf8], eax
jmp 0x140146e00
mov eax, 2
mov dword [r14 + 0x38], r9d
add rbx, rax
mov dword [r14 + 0x3c], 1
mov qword [r14], rbx
lea r11, [0x140000000]
mov ebp, eax
mov dword [rsp + 0xf8], eax
jmp 0x140146e00
mov ecx, 0x21
mov eax, 0x2e
cmp r11b, al
lea r11, [0x140000000]
cmovb eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r14], rbx
lea rcx, [rcx*4]
mov eax, dword [rcx + r11 + 0x1e2b40]
mov ebp, dword [rcx + r11 + 0x1e2ba0]
mov dword [r14 + 0x38], eax
mov eax, dword [rcx + r11 + 0x1e2b70]
mov dword [r14 + 0x3c], eax
mov dword [rsp + 0xf8], ebp
test r12d, r12d
je 0x1401470b5
mov qword [r14 + 0x18], 1
mov ecx, 0xfc00
mov qword [r14 + 0x10], rbx
movzx edx, word [rbx]
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140146e5b
movzx r8d, word [rbx + 2]
and edx, 0x3ff
mov eax, 2
shl edx, 0xa
and r8d, 0x3ff
mov qword [r14 + 0x18], rax
or r8d, edx
lea rax, [rbx + 4]
add r8d, 0x10000
mov qword [r14], rax
jmp 0x140146e70
lea rax, [rbx + 2]
mov r8d, edx
mov qword [r14], rax
cmp qword [r14 + 0x18], 1
jbe 0x1401470af
cmp byte [r14 + 0x49], 0x2e
jb 0x140146ebc
mov eax, r8d
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov ecx, dword [r11 + rcx*4 + 0x1e5b44]
add ecx, r8d
cmp ecx, r8d
je 0x140146ebc
lea rdx, [r14 + 0x4a]
call fcn.14015f580
mov eax, eax
jmp 0x140146ebf
mov rax, r9
mov qword [r14 + 0x28], rax
mov ebp, 1
mov eax, dword [r14 + 0x38]
cmp eax, ebp
jb 0x140146f54
mov rbx, qword [r14 + 0x50]
nop dword [rax + rax]
mov rax, qword [r14 + 0x18]
mov rsi, qword [r15 + 0x88]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x140146f0d
mov rdx, qword [r14 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
je 0x140146f43
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140147018
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x140147018
lea rdx, [r14 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
jne 0x140147018
add rbx, rdi
inc ebp
mov qword [r14 + 0x50], rbx
mov eax, dword [r14 + 0x38]
cmp ebp, eax
jbe 0x140146ee0
mov ecx, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov ebp, dword [rsp + 0xf8]
mov r9d, 0
mov rdi, qword [rsp + 0xf0]
mov edx, 0xffffffff
mov rsi, qword [rsp + 0xe8]
mov r10d, dword [rsp + 0xd0]
cmp eax, ecx
je 0x140146360
cmp ebp, r9d
je 0x14014fe8c
mov rbx, qword [r14 + 0x50]
mov qword [r14 + 8], rbx
mov ebp, dword [r14 + 0x38]
cmp ebp, ecx
jae 0x14014706c
nop
mov rax, qword [r14 + 0x18]
mov rsi, qword [r15 + 0x88]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x140146fdd
mov rdx, qword [r14 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
je 0x140147007
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14014703b
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x14014703b
lea rdx, [r14 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
jne 0x14014703b
add rbx, rdi
inc ebp
mov qword [r14 + 0x50], rbx
cmp ebp, dword [r14 + 0x3c]
jb 0x140146fb0
jmp 0x14014706c
cmp rbx, rsi
jb case.0x14014638c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp rbx, qword [r15 + 0x98]
jmp 0x1401465d0
cmp rbx, rsi
jb 0x14014706c
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014706c
cmp rbx, qword [r15 + 0x98]
ja 0x14014705a
cmp dword [r15 + 0x34], 0
je 0x14014706c
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov ebp, dword [rsp + 0xf8]
lea r8, [0x140000000]
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
mov edx, 0xffffffff
mov r10d, dword [rsp + 0xd0]
cmp ebp, 2
je 0x140146360
mov rcx, qword [r14 + 0x50]
jmp 0x14014e54a
mov dword [r14 + 0x40], edx
jmp 0x1401470c3
movzx edx, word [rbx]
lea rax, [rbx + 2]
mov dword [r14 + 0x40], edx
mov qword [r14], rax
cmp byte [r14 + 0x49], 0x2e
jb 0x14014722f
test r12d, r12d
jne 0x1401470d8
test r10d, r10d
je 0x14014710d
cmp edx, 0x7f
jbe 0x14014710d
mov eax, edx
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1e5b44]
jmp 0x14014711e
mov eax, 0xff
cmp edx, eax
ja 0x14014711e
mov rax, qword [r15 + 0x40]
movzx edx, byte [rax + rdx]
mov dword [r14 + 0x44], edx
mov edx, 1
mov r8d, dword [r14 + 0x38]
cmp r8d, edx
jb 0x14014715f
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401471af
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x140147150
cmp dword [r14 + 0x44], ecx
jne case.0x14014a5e1.8193
add rax, 2
inc edx
mov qword [r14 + 0x50], rax
cmp edx, r8d
jbe 0x140147134
mov edx, dword [r14 + 0x3c]
cmp r8d, edx
je 0x14014634b
test ebp, ebp
je 0x14014db8f
mov rax, qword [r14 + 0x50]
mov qword [r14 + 8], rax
cmp r8d, edx
jae 0x140147215
cmp rax, qword [r15 + 0x88]
jae 0x1401471ed
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x14014719d
cmp dword [r14 + 0x44], ecx
jne 0x140147215
add rax, 2
inc r8d
mov qword [r14 + 0x50], rax
cmp r8d, edx
jb 0x140147185
jmp 0x140147215
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014a5e1.8193
cmp rax, qword [r15 + 0x98]
ja 0x1401471d1
cmp dword [r15 + 0x34], 0
je case.0x14014a5e1.8193
mov dword [r15 + 0x2c], 1
cmp cx, 1
jbe case.0x14014a5e1.8193
mov eax, 0xfffffffe
jmp 0x14015057d
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140147215
cmp rax, qword [r15 + 0x98]
ja 0x140147207
cmp dword [r15 + 0x34], 0
je 0x140147215
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
jmp 0x14014dbb8
mov r9d, dword [r14 + 0x38]
mov r8d, 1
cmp r9d, r8d
jb 0x140147268
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
jne case.0x14014a5e1.8193
inc r8d
cmp r8d, r9d
jbe 0x140147242
mov edx, dword [r14 + 0x3c]
lea r8, [0x140000000]
cmp r9d, edx
je 0x140146687
test ebp, ebp
je 0x14014dc1e
mov rcx, qword [r14 + 0x50]
mov qword [r14 + 8], rcx
cmp r9d, edx
jae 0x14014732c
cmp rcx, qword [r15 + 0x88]
jae 0x140147300
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
jne 0x14014732c
add rcx, 2
inc r9d
mov qword [r14 + 0x50], rcx
cmp r9d, edx
jb 0x140147295
jmp 0x14014732c
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014a5e1.8193
cmp rdx, qword [r15 + 0x98]
ja 0x1401472df
cmp dword [r15 + 0x34], 0
je case.0x14014a5e1.8193
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014732c
cmp rcx, qword [r15 + 0x98]
ja 0x14014731a
cmp dword [r15 + 0x34], 0
je 0x14014732c
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
lea r8, [0x140000000]
mov r9d, 0
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
jmp 0x14014dc47
movzx eax, word [rbx + 2]
mov dword [r14 + 0x3c], eax
mov dword [r14 + 0x38], eax
add rbx, 4
lea r11, [0x140000000]
mov qword [r14], rbx
mov rcx, rbx
jmp 0x1401474a9
mov dword [r14 + 0x38], r9d
lea r11, [0x140000000]
movzx eax, word [rbx + 2]
mov ebp, 1
add rbx, 4
mov dword [r14 + 0x3c], eax
mov qword [r14], rbx
mov rcx, rbx
jmp 0x1401474a2
mov dword [r14 + 0x38], r9d
mov ebp, r9d
movzx eax, word [rbx + 2]
mov dword [r14 + 0x3c], eax
mov dword [rsp + 0xf8], r9d
jmp 0x140147358
mov eax, 2
mov dword [r14 + 0x38], r9d
add rbx, rax
mov dword [r14 + 0x3c], edx
mov qword [r14], rbx
lea r11, [0x140000000]
mov rcx, rbx
mov dword [rsp + 0xf8], eax
mov ebp, eax
jmp 0x1401474a9
mov eax, 2
mov dword [r14 + 0x38], 1
add rbx, rax
mov dword [r14 + 0x3c], edx
mov qword [r14], rbx
lea r11, [0x140000000]
mov rcx, rbx
mov dword [rsp + 0xf8], eax
mov ebp, eax
jmp 0x1401474a9
mov eax, 2
mov dword [r14 + 0x38], r9d
add rbx, rax
mov dword [r14 + 0x3c], 1
mov qword [r14], rbx
lea r11, [0x140000000]
mov rcx, rbx
mov dword [rsp + 0xf8], eax
mov ebp, eax
jmp 0x1401474a9
mov eax, 2
mov dword [r14 + 0x38], r9d
mov ebp, eax
mov dword [rsp + 0xf8], eax
movzx eax, word [rbx + 2]
mov dword [r14 + 0x3c], eax
jmp 0x140147358
cmp r11b, 0x48
mov ecx, 0x48
lea r11, [0x140000000]
mov eax, 0x3b
cmovae eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r14], rbx
lea rcx, [rcx*4]
mov eax, dword [rcx + r11 + 0x1e2b40]
mov ebp, dword [rcx + r11 + 0x1e2ba0]
mov dword [r14 + 0x38], eax
mov eax, dword [rcx + r11 + 0x1e2b70]
mov dword [r14 + 0x3c], eax
mov rcx, qword [r14]
mov dword [rsp + 0xf8], ebp
movzx edx, word [rbx]
lea r9, [rcx + 2]
mov dword [r14 + 0x40], edx
mov r8d, edx
mov qword [r14], r9
mov ebx, 0xfc00
test r12d, r12d
je 0x1401474f8
mov eax, edx
and eax, ebx
cmp eax, 0xd800
jne 0x1401474f8
movzx r8d, word [r9]
lea rax, [rcx + 4]
and edx, 0x3ff
and r8d, 0x3ff
shl edx, 0xa
or r8d, edx
add r8d, 0x10000
mov dword [r14 + 0x40], r8d
mov qword [r14], rax
cmp byte [r14 + 0x49], 0x48
jb 0x14014783b
test r12d, r12d
jne 0x14014750d
test r10d, r10d
je 0x14014754b
cmp r8d, 0x7f
jbe 0x14014754b
mov eax, r8d
mov r9d, 0xff
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
add r8d, dword [r11 + rcx*4 + 0x1e5b44]
jmp 0x140147562
mov r9d, 0xff
cmp r8d, r9d
ja 0x140147562
mov rax, qword [r15 + 0x40]
mov ecx, r8d
movzx r8d, byte [rax + rcx]
mov dword [r14 + 0x44], r8d
mov r10d, dword [r14 + 0x38]
mov ecx, r10d
test r12d, r12d
je 0x1401476eb
mov r8d, 1
cmp r10d, r8d
jb 0x1401475f2
mov rdx, qword [r14 + 0x50]
mov r9d, 0xd800
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401476ad
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, ebx
cmp eax, r9d
jne 0x1401475d2
movzx eax, word [rdx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
je 0x1401476d9
cmp dword [r14 + 0x44], ecx
je 0x1401476d9
mov ecx, dword [r14 + 0x38]
inc r8d
cmp r8d, ecx
jbe 0x140147590
mov r9d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ecx, r9d
je 0x14014632d
test ebp, ebp
je 0x14014fc1c
mov r8, qword [r14 + 0x50]
mov qword [r14 + 8], r8
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x1401477bc
cmp r10d, eax
jae 0x140147790
mov r11d, 0xd800
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140147764
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, ebx
cmp eax, r11d
jne 0x140147684
movzx ecx, word [r8 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 2
add edx, 0x10000
cmp dword [r14 + 0x40], edx
je 0x140147790
cmp dword [r14 + 0x44], edx
je 0x140147790
inc r10d
lea r8, [r8 + rcx*2]
mov qword [r14 + 0x50], r8
cmp r10d, r9d
jb 0x140147640
jmp 0x140147790
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x1401476d9
cmp rdx, qword [r15 + 0x98]
ja 0x1401476c7
cmp dword [r15 + 0x34], 0
je 0x1401476d9
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
xor ebp, ebp
mov esi, r9d
mov ebx, ebp
mov r9d, 0xff
jmp 0x140148ecb
mov edx, 1
cmp r10d, edx
jb 0x1401475f2
mov rax, qword [r14 + 0x50]
nop dword [rax]
cmp rax, qword [r15 + 0x88]
jae 0x14014772f
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x14014775b
cmp dword [r14 + 0x44], ecx
je 0x14014775b
add rax, 2
inc edx
mov qword [r14 + 0x50], rax
mov ecx, dword [r14 + 0x38]
cmp edx, ecx
jbe 0x140147700
jmp 0x1401475f2
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014775b
cmp rax, qword [r15 + 0x98]
ja 0x140147749
cmp dword [r15 + 0x34], 0
je 0x14014775b
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
xor ebp, ebp
mov ebx, ebp
jmp 0x140148ec6
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140147790
cmp r8, qword [r15 + 0x98]
ja 0x14014777e
cmp dword [r15 + 0x34], 0
je 0x140147790
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
mov rcx, qword [r14 + 0x50]
jmp 0x14014e62c
cmp r10d, eax
jae 0x140147818
cmp r8, qword [r15 + 0x88]
jae 0x1401477ec
movzx eax, word [r8]
cmp dword [r14 + 0x40], eax
je 0x140147818
cmp dword [r14 + 0x44], eax
je 0x140147818
add r8, 2
inc r10d
mov qword [r14 + 0x50], r8
cmp r10d, r9d
jb 0x1401477c1
jmp 0x140147818
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140147818
cmp r8, qword [r15 + 0x98]
ja 0x140147806
cmp dword [r15 + 0x34], 0
je 0x140147818
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
cmp ebp, 2
je 0x140146360
jmp 0x14014dce0
mov r10d, dword [r14 + 0x38]
mov eax, r10d
mov r8d, 1
test r12d, r12d
je 0x1401478ba
cmp r10d, r8d
jb 0x1401478f1
mov rdx, qword [r14 + 0x50]
mov r9d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x1401476ad
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, ebx
cmp eax, r9d
jne 0x1401478a2
movzx eax, word [rdx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
je 0x1401476d9
mov eax, dword [r14 + 0x38]
inc r8d
cmp r8d, eax
jbe 0x140147860
jmp 0x1401478f1
cmp r10d, r8d
jb 0x1401478f1
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
je case.0x14014a5e1.8193
mov eax, dword [r14 + 0x38]
inc r8d
cmp r8d, eax
jbe 0x1401478c3
mov r9d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp eax, r9d
je 0x14014632d
test ebp, ebp
je 0x14014fc3a
mov rdx, qword [r14 + 0x50]
mov qword [r14 + 8], rdx
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x1401479e7
cmp r10d, eax
jae 0x1401479bf
mov r11d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x140147993
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, ebx
cmp eax, r11d
jne 0x14014797b
movzx ecx, word [rdx + 2]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov ecx, 2
add r8d, 0x10000
cmp dword [r14 + 0x40], r8d
je 0x1401479bf
inc r10d
lea rdx, [rdx + rcx*2]
mov qword [r14 + 0x50], rdx
cmp r10d, r9d
jb 0x140147936
jmp 0x1401479bf
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x1401479bf
cmp rdx, qword [r15 + 0x98]
ja 0x1401479ad
cmp dword [r15 + 0x34], 0
je 0x1401479bf
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
jmp 0x14014e704
cmp r10d, eax
jae 0x140147a40
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x140147a14
movzx eax, word [rdx]
cmp dword [r14 + 0x40], eax
je 0x140147a40
add rdx, 2
inc r10d
mov qword [r14 + 0x50], rdx
cmp r10d, r9d
jb 0x1401479f0
jmp 0x140147a40
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140147a40
cmp rdx, qword [r15 + 0x98]
ja 0x140147a2e
cmp dword [r15 + 0x34], 0
je 0x140147a40
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
jmp 0x14014dd6f
lea rax, [rbx + 2]
add rbx, 0x22
mov qword [r14 + 0x10], rax
lea r11, [0x140000000]
mov qword [r14], rbx
movzx edx, word [rbx]
lea eax, [rdx - 0x62]
cmp eax, 0xb
ja case.default.0x140147a9a
cdqe
mov ecx, dword [r11 + rax*4 + 0x150798]
add rcx, r11
jmp rcx
lea rax, [rbx + 2]
mov qword [r14], rax
lea eax, [rdx - 0x62]
mov edi, dword [r11 + rax*4 + 0x1e2b40]
mov ecx, eax
mov eax, dword [r11 + rax*4 + 0x1e2b70]
mov dword [r14 + 0x38], edi
mov dword [r14 + 0x3c], eax
mov ebp, dword [r11 + rcx*4 + 0x1e2ba0]
mov dword [rsp + 0xf8], ebp
jmp 0x140147b1f
movzx edi, word [rbx + 2]
mov edx, 0xffffffff
mov dword [r14 + 0x38], edi
movzx eax, word [rbx + 4]
mov dword [r14 + 0x3c], eax
test eax, eax
cmove eax, edx
mov dword [r14 + 0x3c], eax
movzx eax, word [rbx]
mov ebp, dword [r11 + rax*4 + 0x1e2a18]
lea rax, [rbx + 6]
mov qword [r14], rax
mov dword [rsp + 0xf8], ebp
jmp 0x140147b1f
mov dword [r14 + 0x3c], 1
mov edi, 1
mov dword [r14 + 0x38], 1
mov r10d, 1
mov eax, edi
test r12d, r12d
je 0x140147cc2
cmp edi, r10d
jb 0x140147be9
mov r9, qword [r14 + 0x50]
nop dword [rax]
cmp r9, qword [r15 + 0x88]
jae 0x140147ca8
movzx r8d, word [r9]
mov ecx, 0xfc00
add r9, 2
mov eax, r8d
and eax, ecx
mov qword [r14 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x140147b98
movzx ecx, word [r9]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
add r8d, 0x10000
add r9, 2
mov qword [r14 + 0x50], r9
mov eax, 0xff
cmp r8d, eax
jbe 0x140147bb5
cmp byte [r14 + 0x49], 0x6e
jne 0x140147bd9
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x140148ec6
mov rax, qword [r14 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
movzx ecx, byte [rcx + rax]
test cl, dl
je case.0x14014a5e1.8193
mov eax, dword [r14 + 0x38]
inc r10d
cmp r10d, eax
jbe 0x140147b40
mov ebx, 0xff
mov r11d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
cmp eax, r11d
je 0x14014630f
test ebp, ebp
je 0x14014fc58
mov r9, qword [r14 + 0x50]
mov qword [r14 + 8], r9
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x140147dac
cmp edi, eax
jae 0x140147d8b
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140147d5f
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140147c95
movzx ecx, word [r9 + 2]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov r10d, 2
add r8d, 0x10000
cmp r8d, ebx
jbe 0x140147d2a
cmp byte [r14 + 0x49], 0x6e
jmp 0x140147d48
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014a5e1.8193
cmp r9, qword [r15 + 0x98]
jmp 0x1401472d2
cmp edi, r10d
jb 0x140147be9
mov r9, qword [r14 + 0x50]
mov ebx, 0xff
cmp r9, qword [r15 + 0x88]
jae 0x140147ca8
movzx r8d, word [r9]
add r9, 2
mov qword [r14 + 0x50], r9
cmp r8d, ebx
jbe 0x140147cf5
cmp byte [r14 + 0x49], 0x6e
jmp 0x140147d13
mov rax, qword [r14 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov rcx, r8
shr rcx, 3
movzx ecx, byte [rcx + rax]
test cl, dl
je case.0x14014a5e1.8193
mov eax, dword [r14 + 0x38]
inc r10d
cmp r10d, eax
jbe 0x140147cd4
jmp 0x140147bee
mov rax, qword [r14 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
movzx ecx, byte [rcx + rax]
test cl, dl
je 0x140147d8b
inc edi
lea r9, [r9 + r10*2]
mov qword [r14 + 0x50], r9
cmp edi, r11d
jb 0x140147c40
jmp 0x140147d8b
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140147d8b
cmp r9, qword [r15 + 0x98]
ja 0x140147d79
cmp dword [r15 + 0x34], 0
je 0x140147d8b
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
cmp ebp, 2
jne 0x14014fe6f
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
jmp 0x14014634b
cmp edi, eax
jae 0x140147e26
cmp r9, qword [r15 + 0x88]
jae 0x140147dfa
movzx r8d, word [r9]
cmp r8d, ebx
jbe 0x140147dc9
cmp byte [r14 + 0x49], 0x6e
jmp 0x140147de7
mov rax, qword [r14 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov rcx, r8
shr rcx, 3
movzx ecx, byte [rcx + rax]
test cl, dl
je 0x140147e26
add r9, 2
inc edi
mov qword [r14 + 0x50], r9
cmp edi, r11d
jb 0x140147db0
jmp 0x140147e26
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140147e26
cmp r9, qword [r15 + 0x98]
ja 0x140147e14
cmp dword [r15 + 0x34], 0
je 0x140147e26
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
cmp ebp, 2
jne 0x14014daf7
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
jmp 0x14014634b
lea rax, [rbx + 4]
mov qword [r14 + 0x10], rax
movzx eax, word [rbx + 2]
lea r8, [rbx + rax*2]
mov qword [r14], r8
movzx edx, word [r8]
lea eax, [rdx - 0x62]
cmp eax, 0xb
ja case.default.0x140147e76
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x1507c8]
add rcx, r11
jmp rcx
lea rax, [r8 + 2]
mov qword [r14], rax
lea rsi, [r14 + 0x3c]
lea eax, [rdx - 0x62]
mov ecx, dword [r11 + rax*4 + 0x1e2b40]
mov edx, dword [r11 + rax*4 + 0x1e2b70]
mov ebp, dword [r11 + rax*4 + 0x1e2ba0]
mov dword [r14 + 0x38], ecx
mov dword [rsi], edx
jmp 0x140147ee4
movzx ecx, word [r8 + 2]
lea rsi, [r14 + 0x3c]
mov dword [r14 + 0x38], ecx
movzx edx, word [r8 + 4]
mov dword [rsi], edx
test edx, edx
jne 0x140147ed1
mov eax, 0xffffffff
mov dword [rsi], eax
mov edx, eax
movzx eax, word [r8]
mov ebp, dword [r11 + rax*4 + 0x1e2a18]
lea rax, [r8 + 6]
mov qword [r14], rax
mov dword [rsp + 0xf8], ebp
mov rdi, rsi
cmp ecx, 1
jb 0x140147f8b
jmp 0x140147f0e
lea rsi, [r14 + 0x3c]
mov dword [rsi], 1
mov rdi, rsi
mov dword [r14 + 0x38], 1
mov ebx, 1
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x140147f6b
mov r8d, 0xfc00
mov eax, ecx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x140147f6b
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
mov rdx, qword [r14 + 0x10]
mov r8d, r12d
call fcn.14015fb10
test eax, eax
je case.0x14014638c.82
mov ecx, dword [r14 + 0x38]
inc ebx
cmp ebx, ecx
jbe 0x140147f13
mov edx, dword [rdi]
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov r10d, dword [rsp + 0xd0]
lea r8, [0x140000000]
cmp ecx, edx
je 0x140146319
test ebp, ebp
je 0x14014fe3e
mov rcx, qword [r14 + 0x50]
mov qword [r14 + 8], rcx
mov edi, dword [r14 + 0x38]
cmp edi, edx
jae 0x140148076
nop dword [rax]
cmp rcx, qword [r15 + 0x88]
jae 0x14014804a
movzx r9d, word [rcx]
mov ebx, 1
test r12d, r12d
je 0x140148023
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x140148023
movzx ecx, word [rcx + 2]
and r9d, 0x3ff
mov eax, r9d
and ecx, 0x3ff
shl eax, 0xa
mov r9d, ecx
or r9d, eax
mov ebx, 2
add r9d, 0x10000
mov rdx, qword [r14 + 0x10]
mov r8d, r12d
mov ecx, r9d
call fcn.14015fb10
test eax, eax
je 0x140148076
lea rax, [rbx + rbx]
inc edi
add qword [r14 + 0x50], rax
mov rcx, qword [r14 + 0x50]
cmp edi, dword [rsi]
jb 0x140147fd0
jmp 0x140148076
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140148076
cmp rcx, qword [r15 + 0x98]
ja 0x140148064
cmp dword [r15 + 0x34], 0
je 0x140148076
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
cmp ebp, 2
jne 0x14014e338
mov rsi, qword [rsp + 0xe8]
xor r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
jmp 0x14014634b
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x1401480d7
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014638c.82
cmp rax, qword [r15 + 0x98]
ja 0x1401480ce
cmp dword [r15 + 0x34], 0
je case.0x14014638c.82
cmp cx, 1
jmp 0x1401465e1
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148120
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148120
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x14014858a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x14014858a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x14014819c
mov r11d, 0xfc00
mov eax, ecx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x14014819c
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
mov eax, 0xff
cmp ecx, eax
ja case.0x14014638c.82
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x14014638c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x140146352
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014821d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014821d
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x14014858a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14014858a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148297
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148297
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x14014638c.82
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14014638c.82
lea rax, [rbx + 2]
jmp 0x140146348
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148315
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148315
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x14014858a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x14014858a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x140148389
mov r11d, 0xfc00
mov eax, ecx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x140148389
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
mov eax, 0xff
cmp ecx, eax
ja case.0x14014638c.82
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x14014638c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x140146352
mov r8, qword [r14 + 0x50]
cmp r8, qword [r15 + 0x88]
jae 0x1401467ab
movzx edx, word [r8]
add r8, 2
mov qword [r14 + 0x50], r8
mov rcx, r8
test r12d, r12d
je 0x140148412
mov r11d, 0xfc00
mov eax, edx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x140148412
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rcx, [r8 + 2]
add edx, 0x10000
mov qword [r14 + 0x50], rcx
cmp edx, 0xd
ja 0x140148478
je 0x140148423
sub edx, 0xa
je 0x14014849d
sub edx, 1
jmp 0x140148486
cmp rcx, qword [r15 + 0x88]
jb 0x140148461
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014849d
cmp rcx, qword [r15 + 0x98]
ja 0x140148446
cmp dword [r15 + 0x34], 0
je 0x14014849d
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
add qword [r14], 2
jmp 0x14014634b
cmp word [rcx], 0xa
jne 0x14014849d
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add qword [r14], 2
jmp 0x14014634b
sub edx, 0x85
je 0x140148491
sub edx, 0x1fa3
je 0x140148491
cmp edx, 1
jne case.0x14014638c.82
cmp word [r15 + 0x62], 2
je case.0x14014638c.82
add qword [r14], 2
jmp 0x14014634b
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148500
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148500
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x140148551
je case.default.0x140148672
cmp edx, 9
je case.default.0x140148672
cmp edx, 0x20
je case.default.0x140148672
mov eax, 0xa0
cmp edx, eax
je case.default.0x140148672
mov eax, 0x1680
cmp edx, eax
je case.default.0x140148672
mov eax, 0x180e
cmp edx, eax
jne case.0x14014858a.8194
lea r11, [0x140000000]
xor ebp, ebp
mov esi, 0xd800
mov ebx, ebp
mov r9d, 0xff
jmp 0x140148ed1
mov eax, 0x3000
cmp edx, eax
ja case.0x14014858a.8194
je case.default.0x140148672
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014858a.8194
lea r11, [0x140000000]
movzx eax, byte [r11 + rdx + 0x150800]
mov ecx, dword [r11 + rax*4 + 0x1507f8]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401485e6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401485e6
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x140148635
je case.0x14014858a.8194
cmp edx, 9
je case.0x14014858a.8194
cmp edx, 0x20
je case.0x14014858a.8194
mov eax, 0xa0
cmp edx, eax
je case.0x14014858a.8194
mov eax, 0x1680
cmp edx, eax
je case.0x14014858a.8194
mov eax, 0x180e
cmp edx, eax
je case.0x14014858a.8194
jmp case.default.0x140148672
mov eax, 0x3000
cmp edx, eax
ja case.default.0x140148672
je case.0x14014858a.8194
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x140148672
lea r11, [0x140000000]
movzx eax, byte [r11 + rdx + 0x150868]
mov ecx, dword [r11 + rax*4 + 0x150860]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401486ce
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401486ce
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401486f3
je case.0x14014638c.82
sub edx, 0xa
je case.0x14014638c.82
sub edx, 1
je case.0x14014638c.82
cmp edx, 1
jmp 0x1401482ac
sub edx, 0x85
je case.0x14014638c.82
sub edx, 0x1fa3
je case.0x14014638c.82
cmp edx, 1
jne case.0x14014858a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148777
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148777
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x140148790
je case.0x14014858a.8194
sub edx, 0xa
je case.0x14014858a.8194
sub edx, 1
jmp 0x1401487a2
sub edx, 0x85
je case.0x14014858a.8194
sub edx, 0x1fa3
je case.0x14014858a.8194
cmp edx, 1
je case.0x14014858a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401480ac
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140148814
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148814
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
cmp r11b, 0xf
sete r9b
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 2]
lea r8, [r8 + rcx*4]
lea r8, [r8 + 0x1e5b40]
cmp eax, 0xd
ja case.0x14014debb.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1508c8]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp r11b, 0xf
jne 0x140148b99
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
movzx ecx, byte [r8 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x1401488a3
cmp cl, 5
je 0x1401488a3
xor eax, eax
jmp 0x1401488a8
mov eax, 1
cmp eax, r9d
jne 0x140148b99
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
movzx edx, byte [r8 + 1]
lea r11, [0x140000000]
movzx eax, word [rbx + 4]
xor ecx, ecx
cmp eax, dword [r11 + rdx*4 + 0x1e35f0]
sete cl
cmp ecx, r9d
jne 0x140148b99
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
movzx eax, byte [r8 + 1]
xor ecx, ecx
cmp word [rbx + 4], ax
sete cl
cmp ecx, r9d
jne 0x140148b99
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
movzx eax, byte [r8]
jmp 0x1401488f4
movzx ecx, word [rbx + 4]
lea r11, [0x140000000]
movzx eax, byte [r8]
cmp cx, ax
je 0x140148952
movzx edx, word [r8 + 8]
movzx eax, cx
and edx, 0x3ff
shr rax, 5
and ecx, 0x1f
add rdx, rax
mov eax, dword [r11 + rdx*4 + 0x1e5840]
bt eax, ecx
jb 0x140148952
xor eax, eax
jmp 0x140148957
mov eax, 1
cmp eax, r9d
jne 0x140148b99
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
movzx eax, byte [r8 + 1]
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x1e35f0]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r9d
jne 0x140148b99
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
mov eax, 0x2000
cmp edx, eax
ja 0x140148a51
je case.0x140148879.0
cmp edx, 0x20
ja 0x140148a28
je case.0x140148879.0
sub edx, 9
je case.0x140148879.0
sub edx, 1
je case.0x140148879.0
sub edx, 1
je case.0x140148879.0
sub edx, 1
je case.0x140148879.0
cmp edx, 1
je case.0x140148879.0
movzx ecx, byte [r8 + 1]
lea r11, [0x140000000]
xor eax, eax
cmp dword [r11 + rcx*4 + 0x1e35f0], 6
sete al
cmp eax, r9d
jne 0x140148b99
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140148ec6
sub edx, 0x85
je case.0x140148879.0
sub edx, 0x1b
je case.0x140148879.0
sub edx, 0x15e0
je case.0x140148879.0
cmp edx, 0x18e
jmp 0x1401489f0
mov eax, 0x3000
cmp edx, eax
ja case.0x140148a86.8194
je case.0x140148879.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140148a86.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x150908]
mov ecx, dword [rdx + rax*4 + 0x150900]
add rcx, rdx
jmp rcx
movzx eax, byte [r8 + 1]
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x1e35f0]
dec ecx
test ecx, 0xfffffffd
je 0x140148952
cmp edx, 0x5f
je 0x140148952
xor eax, eax
jmp 0x140148957
movzx eax, word [rbx + 4]
lea r8, [0x140000000]
lea rcx, [r8 + 0x1e5570]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x140148ae4
lea rcx, [rcx + 4]
cmp edx, eax
je 0x140148af7
mov eax, dword [rcx]
cmp edx, eax
jae 0x140148ad6
cmp r11b, 0xf
je 0x140148ba0
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
cmp r11b, 0xf
jne 0x140148ba0
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x140148b26
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401488a3
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401488a3
cmp edx, 0xe000
jae 0x1401488a3
xor eax, eax
jmp 0x1401488a8
movzx eax, word [r8 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [rbx + 4]
jmp 0x1401488fa
movzx ecx, word [rbx + 4]
lea r11, [0x140000000]
movzx edx, word [r8 + 0xa]
mov eax, ecx
and edx, 0xfff
shr rax, 5
add rdx, rax
and ecx, 0x1f
mov eax, dword [r11 + rdx*4 + 0x1e4fe0]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r9d
je case.0x14014a5e1.8193
lea r8, [0x140000000]
add qword [r14], 6
xor r9d, r9d
jmp 0x140146352
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jb 0x140148bd3
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014638c.82
cmp rdx, qword [r15 + 0x98]
jmp 0x1401465d0
movzx r10d, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x140148c29
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x140148c29
movzx ecx, word [rdx]
and r10d, 0x3ff
mov eax, r10d
and ecx, 0x3ff
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r14 + 0x50], rcx
mov r8, qword [r15 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], r9
mov ecx, r10d
mov r9, qword [r15 + 0x88]
mov dword [rsp + 0x20], r12d
call fcn.14015f190
mov qword [r14 + 0x50], rax
cmp rax, qword [r15 + 0x88]
jb 0x140148c82
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140148c82
cmp rax, qword [r15 + 0x98]
ja 0x140148c70
cmp dword [r15 + 0x34], 0
je 0x140148c82
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014634b
movzx edi, word [rbx + 2]
lea r11, [0x140000000]
mov dword [r14 + 0x3c], edi
add rbx, 4
mov dword [r14 + 0x38], edi
mov rcx, rbx
mov qword [r14], rbx
jmp 0x140148db9
mov dword [r14 + 0x38], r9d
lea r11, [0x140000000]
movzx eax, word [rbx + 2]
mov ebp, r9d
mov dword [r14 + 0x3c], eax
mov edi, r9d
cmp word [rbx], 0x5c
setne bpl
add rbx, 4
mov qword [r14], rbx
mov rcx, rbx
jmp 0x140148db2
mov dword [r14 + 0x38], r9d
mov dword [r14 + 0x3c], edx
mov eax, 2
mov dword [rsp + 0xf8], eax
mov ebp, eax
add rbx, rax
mov qword [r14], rbx
lea r11, [0x140000000]
mov rcx, rbx
mov edi, r9d
jmp 0x140148db9
mov eax, 2
mov dword [r14 + 0x38], 1
add rbx, rax
mov dword [r14 + 0x3c], edx
mov ebp, eax
mov dword [rsp + 0xf8], eax
mov qword [r14], rbx
lea r11, [0x140000000]
lea edi, [rax - 1]
mov rcx, rbx
jmp 0x140148db9
mov dword [r14 + 0x38], r9d
mov dword [r14 + 0x3c], 1
jmp 0x140148cf0
mov eax, 2
mov dword [r14 + 0x38], r9d
mov ebp, eax
mov dword [rsp + 0xf8], eax
movzx eax, word [rbx + 2]
add rbx, 4
mov dword [r14 + 0x3c], eax
jmp 0x140148d01
movzx eax, word [rbx]
lea r11, [0x140000000]
sub eax, 0x55
add rbx, 2
mov qword [r14], rbx
lea rcx, [rax*4]
mov edi, dword [rcx + r11 + 0x1e2b40]
mov eax, dword [rcx + r11 + 0x1e2b70]
mov ebp, dword [rcx + r11 + 0x1e2ba0]
mov dword [r14 + 0x38], edi
mov dword [r14 + 0x3c], eax
mov rcx, qword [r14]
mov dword [rsp + 0xf8], ebp
movzx eax, word [rbx]
add rcx, 2
mov dword [r14 + 0x40], eax
sub ax, 0xf
mov qword [r14], rcx
cmp ax, 1
jbe 0x140148dd8
mov esi, 0xffffffff
jmp 0x140148df4
movzx esi, word [rcx]
add rcx, 2
mov qword [r14], rcx
movzx eax, word [rcx]
mov dword [r14 + 0x44], eax
lea rax, [rcx + 2]
mov qword [r14], rax
mov edi, dword [r14 + 0x38]
test edi, edi
je 0x140149c2e
mov edx, dword [r14 + 0x40]
test esi, esi
js 0x14014998e
xor ebx, ebx
cmp edx, 0xf
mov r11d, ebx
sete r11b
cmp esi, 0xd
ja case.0x14014debb.15
lea r8, [0x140000000]
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x150968]
add rcx, r8
jmp rcx
cmp edx, 0xf
je 0x140148eb7
mov rax, qword [r14 + 0x50]
mov r8d, 1
cmp rax, qword [r15 + 0x88]
jae 0x140148e8c
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
mov rax, rcx
test r12d, r12d
je 0x140148e7f
mov r9d, 0xfc00
and edx, r9d
mov r9d, 0xd800
cmp edx, r9d
jne 0x140148e7f
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
inc r8d
cmp r8d, edi
jbe 0x140148e47
jmp 0x140149c2e
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140148eb7
cmp rax, qword [r15 + 0x98]
ja 0x140148ea5
cmp dword [r15 + 0x34], ebx
je 0x140148eb7
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
xor ebp, ebp
mov r9d, 0xff
lea r11, [0x140000000]
mov esi, 0xd800
mov r8d, 0x2000
mov edi, 0xfc00
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x140148eea
mov qword [r15 + 0xa0], rax
cmp dword [r14 + 0x30], 0
je 0x140150549
mov rax, r14
sub rax, qword [r14 + 0x20]
mov r14, rax
mov rax, qword [r15 + 0xf0]
or dword [rax + 0x68], 2
movzx eax, byte [r14 + 0x48]
dec eax
cmp eax, 0xe0
ja case.0x14014debb.15
cdqe
movzx eax, byte [r11 + rax + 0x150a98]
mov ecx, dword [r11 + rax*4 + 0x1509a0]
add rcx, r11
jmp rcx
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x140148f9a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140148f9a
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov eax, edx
lea r8, [0x140000000]
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx edx, byte [r8 + rcx*4 + 0x1e5b41]
lea eax, [rdx - 5]
test al, 0xfb
je 0x140148fdc
mov eax, ebx
cmp dl, 8
jne 0x140148fe1
mov eax, 1
cmp eax, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x140148f40
jmp 0x140149c35
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140148eb7
cmp r9, qword [r15 + 0x98]
ja 0x14014901c
cmp dword [r15 + 0x34], ebx
je 0x140148eb7
mov dword [r15 + 0x2c], 1
cmp ax, 1
jmp 0x140148eb1
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014908d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014908d
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + 0x44]
movzx edx, byte [r8 + rcx*4 + 0x1e5b41]
mov ecx, ebx
cmp dword [r8 + rdx*4 + 0x1e35f0], eax
sete cl
cmp ecx, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x140149037
jmp 0x140149c35
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014915a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014915a
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1e5b41]
mov ecx, ebx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x140149100
jmp 0x140149c35
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014921a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014921a
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1e5b40]
mov ecx, ebx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x1401491c0
jmp 0x140149c35
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x1401492da
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401492da
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov eax, edx
lea r8, [0x140000000]
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1e5b40]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + r8]
cmp eax, ecx
je 0x140149341
movzx edx, word [rdx + r8 + 8]
mov eax, ecx
shr rax, 5
and edx, 0x3ff
add rdx, rax
and ecx, 0x1f
mov eax, dword [r8 + rdx*4 + 0x1e5840]
bt eax, ecx
mov eax, ebx
jae 0x140149346
mov eax, 1
cmp eax, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x140149280
jmp 0x140149c35
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x1401493ca
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401493ca
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1e5b41]
mov eax, dword [r8 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
mov eax, ebx
sete al
cmp eax, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x140149370
jmp 0x140149c35
mov r9d, 1
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140148e8c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014948c
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014948c
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x14014955e
je 0x140149599
cmp edx, 0x20
ja 0x140149539
je 0x140149599
mov eax, edx
sub eax, 9
je 0x140149599
sub eax, 1
je 0x140149599
sub eax, 1
je 0x140149599
sub eax, 1
je 0x140149599
cmp eax, 1
je 0x140149599
lea r8, [0x140000000]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, ebx
movzx edx, byte [r8 + rcx*4 + 0x1e5b41]
cmp dword [r8 + rdx*4 + 0x1e35f0], 6
sete al
cmp eax, r11d
je 0x140148eb7
inc r9d
cmp r9d, edi
jbe 0x140149432
jmp 0x140149c35
mov eax, edx
sub eax, 0x85
je 0x140149599
lea r8, [0x140000000]
sub eax, 0x1b
je case.0x140149597.8193
sub eax, 0x15e0
je case.0x140149597.8193
cmp eax, 0x18e
je case.0x140149597.8193
jmp case.0x140149597.8194
mov eax, 0x3000
cmp edx, eax
ja 0x1401494dd
lea r8, [0x140000000]
je case.0x140149597.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x140149597.8194
movzx eax, byte [r8 + rax + 0x150b84]
mov ecx, dword [r8 + rax*4 + 0x150b7c]
add rcx, r8
jmp rcx
lea r8, [0x140000000]
test r11d, r11d
jne 0x140148eb7
jmp 0x140149528
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014961a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014961a
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1e5b41]
mov eax, dword [r8 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
je 0x140149668
mov eax, ebx
cmp edx, 0x5f
jne 0x14014966d
mov eax, 1
cmp eax, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x1401495c0
jmp 0x140149c35
mov r9d, 1
nop dword [rax]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140148e8c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401496ea
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401496ea
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, dword [r14 + 0x44]
lea r8, [0x140000000]
lea rcx, [r8 + 0x1e5570]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x140149714
lea rcx, [rcx + 4]
cmp edx, eax
je 0x14014972e
mov eax, dword [rcx]
cmp edx, eax
jae 0x140149706
test r11d, r11d
je 0x140148eb7
inc r9d
cmp r9d, edi
jbe 0x140149690
jmp 0x140149c35
test r11d, r11d
jne 0x140148eb7
jmp 0x14014971d
mov r9d, 1
nop
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140148e8c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014979a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014979a
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401497b2
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401497c9
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401497c9
mov eax, ebx
cmp edx, 0xe000
jb 0x1401497ce
mov eax, 1
cmp eax, r11d
je 0x140148eb7
inc r9d
cmp r9d, edi
jbe 0x140149740
jmp 0x140149c2e
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014984c
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014984c
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, word [r8 + rcx*4 + 0x1e5b48]
mov ecx, ebx
shr eax, 0xb
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x1401497f2
jmp 0x140149c35
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x140148ffb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14014990a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014990a
movzx ecx, word [r8]
lea r9, [r8 + 2]
and edx, 0x3ff
mov qword [r14 + 0x50], r9
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov r8d, dword [r14 + 0x44]
lea rcx, [0x140000000]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rcx + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
lea rdx, [0x140000000]
movzx eax, word [rdx + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rdx + rcx*4 + 0x1e5b4a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov ecx, r8d
lea r8, [0x140000000]
mov eax, dword [r8 + rdx*4 + 0x1e4fe0]
bt eax, ecx
mov edx, ebx
setb dl
cmp edx, r11d
je 0x140148eb7
inc r10d
cmp r10d, edi
jbe 0x1401498b0
jmp 0x140149c35
cmp edx, 0x16
jne 0x140149a77
lea ebx, [rdx - 0x15]
mov rdx, qword [r15 + 0x88]
mov rax, qword [r14 + 0x50]
cmp rax, rdx
jae 0x1401480ac
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x140149a04
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x140149a04
movzx ecx, word [rdx]
and r10d, 0x3ff
mov eax, r10d
and ecx, 0x3ff
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r14 + 0x50], rcx
mov r8, qword [r15 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], r9
mov ecx, r10d
mov r9, qword [r15 + 0x88]
mov dword [rsp + 0x20], r12d
call fcn.14015f190
mov qword [r14 + 0x50], rax
mov rdx, qword [r15 + 0x88]
cmp rax, rdx
jb 0x140149a60
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140149a60
cmp rax, qword [r15 + 0x98]
ja 0x140149a4e
cmp dword [r15 + 0x34], 0
je 0x140149a60
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
inc ebx
mov r9d, 0
cmp ebx, dword [r14 + 0x38]
jbe 0x1401499a1
jmp 0x140149c2e
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x14014debb.15
test r12d, r12d
je 0x14014a373
mov ecx, dword [r11 + rdx*4 + 0x150be4]
add rcx, r11
jmp rcx
mov rcx, qword [r14 + 0x50]
mov edi, 1
nop dword [rax]
nop word [rax + rax]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x1401465bb
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140149ae6
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
test eax, eax
jne case.0x14014638c.82
jmp 0x140149b21
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x140149b21
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140149b21
cmp edx, 1
je case.0x14014638c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je case.0x14014638c.82
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x140149b6f
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x140149b6f
cmp dword [r15 + 0xdc], 0
jne 0x140149b6f
cmp dword [r15 + 0xe0], 2
jne 0x140149b6f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140149b6f
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401471e3
mov rdx, qword [r14 + 0x50]
add rdx, 2
mov qword [r14 + 0x50], rdx
mov rcx, rdx
cmp rdx, qword [r15 + 0x88]
jae 0x140149ba8
movzx eax, word [rdx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x140149ba8
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
inc edi
cmp edi, dword [r14 + 0x38]
jbe 0x140149ab0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x140149c02
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x140149c02
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x140149bc0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov ecx, edi
imul rax, rcx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rdx, rax
ja case.0x14014a5e1.8193
lea rax, [rdx + rcx*2]
mov qword [r14 + 0x50], rax
lea r8, [0x140000000]
mov ebx, dword [r14 + 0x3c]
mov edx, 0xffffffff
mov edi, dword [r14 + 0x38]
mov r9d, 0
mov r10d, dword [rsp + 0xd0]
cmp edi, ebx
je 0x1401462fd
test ebp, ebp
je 0x14014fc76
mov r10, qword [r14 + 0x50]
mov qword [r14 + 8], r10
mov r9d, dword [r14 + 0x40]
test esi, esi
js 0x14014b3ed
xor r8d, r8d
cmp r9d, 0xf
mov r11d, r8d
sete r11b
cmp esi, 0xd
ja case.0x14014debb.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x150c24]
add rcx, rsi
jmp rcx
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop dword [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140149d69
movzx edx, word [r8]
mov ecx, 0xfc00
add r8, 2
mov eax, edx
and eax, ecx
mov qword [r14 + 0x50], r8
mov ecx, 0xd800
cmp eax, ecx
jne 0x140149d02
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r14 + 0x50], r8
cmp edx, 0xd
ja 0x140149d33
je 0x140149d13
sub edx, 0xa
je 0x140149d58
sub edx, 1
jmp 0x140149d41
mov rax, r8
cmp r8, qword [r15 + 0x88]
jae 0x140149d2e
cmp word [r8], 0xa
jne 0x140149d2e
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
mov r8, rax
jmp 0x140149d58
sub edx, 0x85
je 0x140149d4c
sub edx, 0x1fa3
je 0x140149d4c
cmp edx, 1
jne case.0x14014a5e1.8193
cmp word [r15 + 0x62], 2
je case.0x14014a5e1.8193
inc r9d
cmp r9d, edi
jbe 0x140149cb0
jmp 0x140149c2e
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014a5e1.8193
cmp r8, qword [r15 + 0x98]
jmp 0x1401472d2
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop dword [rax]
cmp r8, qword [r15 + 0x88]
jae 0x140149d69
movzx edx, word [r8]
mov ecx, 0xfc00
add r8, 2
mov eax, edx
and eax, ecx
mov qword [r14 + 0x50], r8
mov ecx, 0xd800
cmp eax, ecx
jne 0x140149dde
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r14 + 0x50], r8
mov eax, 0x2000
cmp edx, eax
ja 0x140149e37
je case.0x14014a5e1.8193
cmp edx, 9
je case.0x14014a5e1.8193
cmp edx, 0x20
je case.0x14014a5e1.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14014a5e1.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14014a5e1.8193
mov eax, 0x180e
cmp edx, eax
je case.0x14014a5e1.8193
inc r9d
cmp r9d, edi
jbe 0x140149d90
jmp 0x140149c2e
mov eax, 0x3000
cmp edx, eax
ja case.0x140149e65.8194
je case.0x14014a5e1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140149e65.8194
movzx eax, byte [r11 + rdx + 0x150c64]
mov ecx, dword [r11 + rax*4 + 0x150c5c]
add rcx, r11
jmp rcx
mov r9d, 1
mov r8d, 0x2000
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140149f43
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r14 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140149ec8
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x140149f0f
je case.0x140149f41.8193
cmp edx, 9
je case.0x140149f41.8193
cmp edx, 0x20
je case.0x140149f41.8193
mov eax, 0xa0
cmp edx, eax
je case.0x140149f41.8193
mov eax, 0x1680
cmp edx, eax
je case.0x140149f41.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x14014858a.8193
inc r9d
cmp r9d, edi
jbe 0x140149e73
jmp 0x140149c2e
mov eax, 0x3000
cmp edx, eax
ja case.0x14014858a.8193
je case.0x140149f41.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014858a.8193
movzx eax, byte [r11 + rdx + 0x150ccc]
mov ecx, dword [r11 + rax*4 + 0x150cc4]
add rcx, r11
jmp rcx
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014858a.8193
cmp rax, qword [r15 + 0x98]
ja 0x140149f65
cmp dword [r15 + 0x34], 0
je case.0x14014858a.8193
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
jmp case.0x14014858a.8193
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140149d69
movzx edx, word [r8]
mov ecx, 0xfc00
add r8, 2
mov eax, edx
and eax, ecx
mov qword [r14 + 0x50], r8
mov ecx, 0xd800
cmp eax, ecx
jne 0x140149fe2
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r14 + 0x50], r8
cmp edx, 0xd
ja 0x140149ffb
je case.0x14014a5e1.8193
sub edx, 0xa
je case.0x14014a5e1.8193
sub edx, 1
jmp 0x14014a00d
sub edx, 0x85
je case.0x14014a5e1.8193
sub edx, 0x1fa3
je case.0x14014a5e1.8193
cmp edx, 1
je case.0x14014a5e1.8193
inc r9d
cmp r9d, edi
jbe 0x140149f90
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xfc00
mov r10d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x14014a0b5
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, r9d
cmp eax, r10d
jne 0x14014a082
movzx eax, word [rdx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x14014a093
je 0x14014a0a8
sub ecx, 0xa
je 0x14014a0a8
sub ecx, 1
jmp 0x14014a0a1
sub ecx, 0x85
je 0x14014a0a8
sub ecx, 0x1fa3
je 0x14014a0a8
cmp ecx, 1
jne 0x14014a0e1
inc r8d
cmp r8d, edi
jbe 0x14014a043
jmp 0x140149c2e
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014a0e1
cmp rdx, qword [r15 + 0x98]
ja 0x14014a0cf
cmp dword [r15 + 0x34], 0
je 0x14014a0e1
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
xor ebp, ebp
mov edi, r9d
mov ebx, ebp
mov esi, r10d
mov r8d, 0x2000
mov r9d, 0xff
jmp case.0x140148f32.33
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140149d69
movzx edx, word [r8]
mov ecx, 0xfc00
add r8, 2
mov eax, edx
and eax, ecx
mov qword [r14 + 0x50], r8
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014a162
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r14 + 0x50], r8
mov eax, 0x80
cmp edx, eax
jae 0x14014a179
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x14014a5e1.8193
inc r9d
cmp r9d, edi
jbe 0x14014a110
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x14014a5e1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x14014a5e1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a190
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x14014a20a
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne case.0x14014a5e1.8193
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x14014a23f
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x14014a23f
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x14014a1e0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop word [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x14014a5e1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je case.0x14014a5e1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a260
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x14014a2da
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x14014a5e1.8193
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x14014a30f
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x14014a30f
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x14014a2b0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop word [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x14014a5e1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x14014a5e1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a330
jmp 0x140149c2e
mov ecx, dword [r11 + rdx*4 + 0x150d2c]
add rcx, r11
jmp rcx
mov rcx, qword [r14 + 0x50]
mov edi, 1
nop dword [rax]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x1401465bb
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014a3c6
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
test eax, eax
jne case.0x14014638c.82
jmp 0x14014a401
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x14014a401
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014a401
cmp edx, 1
je case.0x14014638c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je case.0x14014638c.82
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x14014a44f
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x14014a44f
cmp dword [r15 + 0xdc], 0
jne 0x14014a44f
cmp dword [r15 + 0xe0], 2
jne 0x14014a44f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014a44f
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401471e3
add qword [r14 + 0x50], 2
inc edi
mov rcx, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x38]
jbe 0x14014a390
jmp 0x140149c2e
mov rcx, qword [r14 + 0x50]
mov edx, edi
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rcx, rax
jbe 0x14014a499
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014a5e1.8193
cmp rcx, qword [r15 + 0x98]
jmp 0x1401472d2
lea rax, [rcx + rdx*2]
jmp 0x140149c2a
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x14014a4f8
je 0x14014a4d9
sub ecx, 0xa
je 0x14014a51d
sub ecx, 1
jmp 0x14014a506
mov rax, rdx
cmp rdx, qword [r15 + 0x88]
jae 0x14014a4f3
cmp word [rdx], 0xa
jne 0x14014a4f3
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
mov rdx, rax
jmp 0x14014a51d
sub ecx, 0x85
je 0x14014a511
sub ecx, 0x1fa3
je 0x14014a511
cmp ecx, 1
jne case.0x14014a5e1.8193
cmp word [r15 + 0x62], 2
je case.0x14014a5e1.8193
inc r8d
cmp r8d, edi
jbe 0x14014a4b0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx eax, word [rdx]
mov ecx, 0x2000
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ax, cx
ja 0x14014a5b1
je case.0x14014a5e1.8193
cmp eax, 9
je case.0x14014a5e1.8193
cmp eax, 0x20
je case.0x14014a5e1.8193
mov ecx, 0xa0
cmp ax, cx
je case.0x14014a5e1.8193
mov ecx, 0x1680
cmp ax, cx
je case.0x14014a5e1.8193
mov ecx, 0x180e
cmp ax, cx
je case.0x14014a5e1.8193
inc r8d
cmp r8d, edi
jbe 0x14014a540
jmp 0x140149c2e
mov ecx, 0x3000
cmp ax, cx
ja case.0x14014a5e1.8194
je case.0x14014a5e1.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x14014a5e1.8194
cdqe
movzx eax, byte [r11 + rax + 0x150d74]
mov ecx, dword [r11 + rax*4 + 0x150d6c]
add rcx, r11
jmp rcx
mov edx, 1
mov r8d, 0x2000
nop
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140149f43
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp cx, r8w
ja 0x14014a64b
je case.0x14014a681.8193
cmp ecx, 9
je case.0x14014a681.8193
cmp ecx, 0x20
je case.0x14014a681.8193
mov eax, 0xa0
cmp cx, ax
je case.0x14014a681.8193
mov eax, 0x1680
cmp cx, ax
je case.0x14014a681.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x14014858a.8193
inc edx
cmp edx, edi
jbe 0x14014a5f0
jmp 0x140149c2e
mov eax, 0x3000
cmp cx, ax
ja case.0x14014858a.8193
je case.0x14014a681.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x14014858a.8193
movsxd rax, ecx
movzx eax, byte [r11 + rax + 0x150ddc]
mov ecx, dword [r11 + rax*4 + 0x150dd4]
add rcx, r11
jmp rcx
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x14014a6c1
je case.0x14014a5e1.8193
sub ecx, 0xa
je case.0x14014a5e1.8193
sub ecx, 1
jmp 0x14014a6d3
sub ecx, 0x85
je case.0x14014a5e1.8193
sub ecx, 0x1fa3
je case.0x14014a5e1.8193
cmp ecx, 1
je case.0x14014a5e1.8193
inc r8d
cmp r8d, edi
jbe 0x14014a690
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x1401472bd
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x14014a729
je 0x14014a742
sub ecx, 0xa
je 0x14014a742
sub ecx, 1
jmp 0x14014a737
sub ecx, 0x85
je 0x14014a742
sub ecx, 0x1fa3
je 0x14014a742
cmp ecx, 1
jne case.0x14014a5e1.8193
inc r8d
cmp r8d, edi
jbe 0x14014a700
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014a782
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
jne 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a760
jmp 0x140149c2e
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014775b
cmp rdx, qword [r15 + 0x98]
ja 0x14014a7b9
cmp dword [r15 + 0x34], 0
je 0x14014775b
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
xor ebp, ebp
mov ebx, ebp
jmp 0x140148ec6
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014775b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a7e4
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014a856
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a830
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014775b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a880
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014a8f6
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a8d0
jmp 0x140149c2e
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14014a797
movzx eax, word [rdx]
cmp ax, r9w
ja 0x14014775b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je 0x14014775b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x14014a920
jmp 0x140149c2e
cmp edi, ebx
jae 0x14014b3b1
cmp r10, qword [r15 + 0x88]
jae 0x14014a9af
mov ecx, 1
test r12d, r12d
je 0x14014a993
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
test r11d, r11d
jne 0x14014b3b1
inc edi
lea r10, [r10 + rcx*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014a967
jmp 0x14014b3b1
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014b3b1
cmp r10, qword [r15 + 0x98]
ja 0x14014b39f
cmp dword [r15 + 0x34], r8d
jmp 0x14014b39d
cmp edi, ebx
jae 0x14014b3b1
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014aa34
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014aa34
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x1e5b41]
lea eax, [rdx - 5]
test al, 0xfb
je 0x14014aa75
cmp dl, 8
je 0x14014aa75
xor eax, eax
jmp 0x14014aa7a
mov eax, 1
cmp eax, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014a9e0
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014aaf6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014aaf6
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
xor eax, eax
movzx edx, byte [rsi + rcx*4 + 0x1e5b41]
mov ecx, eax
mov eax, dword [r14 + 0x44]
cmp dword [rsi + rdx*4 + 0x1e35f0], eax
sete cl
cmp ecx, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014aaa2
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014abb4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014abb4
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1e5b41]
xor ecx, ecx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014ab60
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014ac64
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014ac64
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1e5b40]
xor ecx, ecx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014ac10
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014ad14
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014ad14
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1e5b40]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + rsi]
cmp eax, ecx
je 0x14014ad71
movzx edx, word [rdx + rsi + 8]
mov eax, ecx
shr rax, 5
and edx, 0x3ff
add rdx, rax
and ecx, 0x1f
mov eax, dword [rsi + rdx*4 + 0x1e5840]
bt eax, ecx
jb 0x14014ad71
xor eax, eax
jmp 0x14014ad76
mov eax, 1
cmp eax, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014acc0
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014adf4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014adf4
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1e5b41]
mov eax, dword [rsi + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
mov eax, 0
sete al
cmp eax, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014ada0
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014aeb4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014aeb4
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x14014af7a
je case.0x14014afa6.8193
cmp edx, 0x20
ja 0x14014af5e
je case.0x14014afa6.8193
mov eax, edx
sub eax, 9
je case.0x14014afa6.8193
sub eax, 1
je case.0x14014afa6.8193
sub eax, 1
je case.0x14014afa6.8193
sub eax, 1
je case.0x14014afa6.8193
cmp eax, 1
je case.0x14014afa6.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
xor eax, eax
movzx edx, byte [rsi + rcx*4 + 0x1e5b41]
cmp dword [rsi + rdx*4 + 0x1e35f0], 6
sete al
cmp eax, r11d
je 0x14014b3b1
lea r10, [r10 + r8*2]
inc edi
mov qword [r14 + 0x50], r10
cmp edi, dword [r14 + 0x3c]
jb 0x14014ae60
jmp 0x14014b3b1
mov eax, edx
sub eax, 0x85
je case.0x14014afa6.8193
sub eax, 0x1b
je case.0x14014afa6.8193
sub eax, 0x15e0
je case.0x14014afa6.8193
cmp eax, 0x18e
jmp 0x14014aeff
mov eax, 0x3000
cmp edx, eax
ja case.0x14014afa6.8194
je case.0x14014afa6.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x14014afa6.8194
movzx eax, byte [rsi + rax + 0x150e44]
mov ecx, dword [rsi + rax*4 + 0x150e3c]
add rcx, rsi
jmp rcx
test r11d, r11d
jne 0x14014b3b1
mov r10, qword [r14 + 0x50]
jmp 0x14014af45
cmp edi, ebx
jae 0x14014b3b1
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014b014
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b014
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1e5b41]
mov eax, dword [rsi + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
je 0x14014b059
cmp edx, 0x5f
je 0x14014b059
xor eax, eax
jmp 0x14014b05e
mov eax, 1
cmp eax, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014afc0
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014b0e4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b0e4
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, dword [r14 + 0x44]
lea rcx, [rsi + 0x1e5570]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x14014b10e
nop dword [rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x14014b132
mov eax, dword [rcx]
cmp edx, eax
jae 0x14014b100
test r11d, r11d
je 0x14014b3b1
lea rax, [r8 + r8]
inc edi
add qword [r14 + 0x50], rax
mov r10, qword [r14 + 0x50]
cmp edi, ebx
jb 0x14014b090
jmp 0x14014b3b1
test r11d, r11d
jne 0x14014b3b1
jmp 0x14014b117
cmp edi, ebx
jae 0x14014b3b1
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014a9af
movzx edx, word [r10]
mov ecx, 1
test r12d, r12d
je 0x14014b1a6
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x14014b1a6
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 2
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x14014b1be
movabs r9, 0x1000000010000001
bt r9, rax
jb 0x14014b1de
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x14014b1de
mov eax, r8d
cmp edx, 0xe000
jb 0x14014b1e3
mov eax, 1
cmp eax, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + rcx*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014b150
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x14014b264
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b264
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x1e5b48]
xor ecx, ecx
shr eax, 0xb
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014b210
jmp 0x14014b3b1
cmp edi, ebx
jae 0x14014b3b1
cmp r10, qword [r15 + 0x88]
jae 0x14014b381
movzx edx, word [r10]
mov r9d, 1
test r12d, r12d
je 0x14014b316
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b316
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r9d, 2
add edx, 0x10000
mov r8d, dword [r14 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x1e5b4a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x1e4fe0]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, r11d
je 0x14014b3b1
inc edi
lea r10, [r10 + r9*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014b2c2
jmp 0x14014b3b1
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014b3b1
cmp r10, qword [r15 + 0x98]
ja 0x14014b39f
cmp dword [r15 + 0x34], 0
je 0x14014b3b1
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
mov rcx, qword [r14 + 0x50]
jmp 0x14014f5ff
cmp r9d, 0x16
jne 0x14014b553
cmp edi, ebx
jae 0x14014b51b
mov rdx, qword [r15 + 0x88]
nop word [rax + rax]
mov rax, qword [r14 + 0x50]
cmp rax, rdx
jae 0x14014b4e7
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x14014b473
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x14014b473
movzx ecx, word [rdx]
and r10d, 0x3ff
mov eax, r10d
and ecx, 0x3ff
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r14 + 0x50], rcx
mov r9, qword [r15 + 0x88]
xor eax, eax
mov r8, qword [r15 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], rax
mov ecx, r10d
mov dword [rsp + 0x20], r12d
call fcn.14015f190
mov qword [r14 + 0x50], rax
mov rdx, qword [r15 + 0x88]
cmp rax, rdx
jb 0x14014b4d9
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014b4d9
cmp rax, qword [r15 + 0x98]
ja 0x14014b4c7
cmp dword [r15 + 0x34], 0
je 0x14014b4d9
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x14014b410
jmp 0x14014b51b
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014b51b
cmp rax, qword [r15 + 0x98]
ja 0x14014b509
cmp dword [r15 + 0x34], 0
je 0x14014b51b
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
jmp 0x14014fb96
lea eax, [r9 - 6]
cmp eax, 0xf
ja case.0x14014debb.15
lea r11, [0x140000000]
test r12d, r12d
je 0x14014bde5
mov ecx, dword [r11 + rax*4 + 0x150ea4]
add rcx, r11
jmp rcx
cmp edi, ebx
jae 0x14014bdae
nop word [rax + rax]
mov rcx, qword [r15 + 0x88]
cmp r10, rcx
jae 0x14014bd71
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014b5cc
mov r8, rcx
mov dword [rsp + 0x20], r12d
mov rcx, r10
lea r9, [r15 + 0xe0]
call fcn.14015f3c0
test eax, eax
jne 0x14014bda9
jmp 0x14014b609
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x14014b609
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x14014b609
cmp edx, 1
je 0x14014bda9
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
je 0x14014bda9
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x14014b65b
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x14014b65b
cmp dword [r15 + 0xdc], 0
jne 0x14014b65b
cmp dword [r15 + 0xe0], 2
jne 0x14014b65b
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014b65b
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401471e3
mov rcx, qword [r14 + 0x50]
add rcx, 2
mov qword [r14 + 0x50], rcx
mov r10, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x14014b694
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14014b694
lea r10, [rcx + 2]
mov qword [r14 + 0x50], r10
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x14014b590
jmp 0x14014bda9
cmp ebx, edx
jae 0x14014b6fe
cmp edi, ebx
jae 0x14014bdae
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
lea rcx, [r10 + 2]
mov qword [r14 + 0x50], rcx
mov r10, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x14014b6f3
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14014b6f3
lea r10, [rcx + 2]
mov qword [r14 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x14014b6b1
jmp 0x14014bda9
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014bdae
cmp rax, qword [r15 + 0x98]
ja 0x14014b72f
cmp dword [r15 + 0x34], 0
je 0x14014bdae
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
jmp 0x14014bdae
mov rcx, qword [r15 + 0x88]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x14014b79d
mov qword [r14 + 0x50], rcx
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014bdae
cmp rcx, qword [r15 + 0x98]
ja 0x14014b786
cmp dword [r15 + 0x34], 0
je 0x14014bdae
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
jmp 0x14014bdae
lea rcx, [r10 + rbx*2]
mov qword [r14 + 0x50], rcx
jmp 0x14014bdae
cmp edi, ebx
jae 0x14014bdae
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b7ff
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 4
add edx, 0x10000
jmp 0x14014b804
mov ecx, 2
cmp edx, 0xd
jne 0x14014b82b
add r10, 2
mov qword [r14 + 0x50], r10
cmp r10, qword [r15 + 0x88]
jae 0x14014bda9
cmp word [r10], 0xa
jne 0x14014b863
add r10, 2
jmp 0x14014b85f
cmp edx, 0xa
je 0x14014b85c
cmp word [r15 + 0x62], 2
je 0x14014bda9
lea eax, [rdx - 0xb]
cmp eax, 1
jbe 0x14014b85c
mov eax, 0x85
cmp edx, eax
je 0x14014b85c
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x14014bda9
add r10, rcx
mov qword [r14 + 0x50], r10
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x14014b7b2
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b8cf
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, 0x2000
cmp edx, eax
ja 0x14014b934
je case.0x14014b95e.8193
cmp edx, 9
je case.0x14014b95e.8193
cmp edx, 0x20
je case.0x14014b95e.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14014b95e.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14014b95e.8193
mov eax, 0x180e
cmp edx, eax
je case.0x14014b95e.8193
xor eax, eax
mov ecx, eax
cmp dword [r14 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x14014bda9
lea rax, [r8 + r8]
inc edi
add qword [r14 + 0x50], rax
mov r10, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x3c]
jb 0x14014b880
jmp 0x14014bda9
mov eax, 0x3000
cmp edx, eax
ja case.0x14014b95e.8194
je case.0x14014b95e.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014b95e.8194
movzx eax, byte [r11 + rdx + 0x150eec]
mov ecx, dword [r11 + rax*4 + 0x150ee4]
add rcx, r11
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x14014b907
cmp edi, ebx
jae 0x14014bdae
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014b9c0
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0xd
ja 0x14014b9d5
je 0x14014b9fb
sub edx, 0xa
je 0x14014b9fb
sub edx, 1
jmp 0x14014b9e3
sub edx, 0x85
je 0x14014b9fb
sub edx, 0x1fa3
je 0x14014b9fb
cmp edx, 1
je 0x14014b9fb
xor eax, eax
mov ecx, eax
jmp 0x14014ba02
mov ecx, 1
xor eax, eax
cmp r9d, 0x14
sete al
cmp ecx, eax
je 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014b971
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014ba7f
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014ba99
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014ba30
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014bb0f
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014bda9
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bac0
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014bba3
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014bbbd
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bb50
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014bc33
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014bda9
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bbe0
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014bcc3
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014bcdd
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bc70
jmp 0x14014bda9
cmp edi, ebx
jae 0x14014bdae
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014bd71
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014bd4f
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
cmp edx, 0x100
jae 0x14014bda9
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je 0x14014bda9
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bd00
jmp 0x14014bda9
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014bda9
cmp r10, qword [r15 + 0x98]
ja 0x14014bd97
cmp dword [r15 + 0x34], 0
je 0x14014bda9
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov edx, 0xffffffff
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
cmp ebp, 2
je 0x140146360
mov rax, qword [r14 + 0x50]
jmp 0x14014fbc0
mov ecx, dword [r11 + rax*4 + 0x150f4c]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
mov rcx, qword [r15 + 0x88]
cmp r10, rcx
jae 0x14014c3de
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014be40
mov r8, rcx
mov dword [rsp + 0x20], r12d
mov rcx, r10
lea r9, [r15 + 0xe0]
call fcn.14015f3c0
test eax, eax
jne case.0x14014c07b.8193
jmp 0x14014be81
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x14014be81
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x14014be81
cmp edx, 1
je case.0x14014c07b.8193
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
je case.0x14014c07b.8193
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x14014bed7
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x14014bed7
cmp dword [r15 + 0xdc], 0
jne 0x14014bed7
cmp dword [r15 + 0xe0], 2
jne 0x14014bed7
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014bed7
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401471e3
add qword [r14 + 0x50], 2
inc edi
mov r10, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x3c]
jb 0x14014be00
jmp case.0x14014c07b.8193
mov rcx, qword [r15 + 0x88]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x14014bf29
mov qword [r14 + 0x50], rcx
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014c07b.8193
cmp rcx, qword [r15 + 0x98]
jmp 0x14014c3f3
lea rcx, [r10 + rbx*2]
mov qword [r14 + 0x50], rcx
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x14014bf79
add r10, 2
mov qword [r14 + 0x50], r10
cmp r10, qword [r15 + 0x88]
jae case.0x14014c07b.8193
cmp word [r10], 0xa
jne 0x14014bfc0
jmp 0x14014bfb8
cmp cx, 0xa
je 0x14014bfb8
cmp word [r15 + 0x62], 2
je case.0x14014c07b.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x14014bfb8
mov eax, 0x85
cmp cx, ax
je 0x14014bfb8
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x14014c07b.8193
add r10, 2
mov qword [r14 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x14014bf40
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x14014c04c
je case.0x14014c07b.8193
cmp eax, 9
je case.0x14014c07b.8193
cmp eax, 0x20
je case.0x14014c07b.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x14014c07b.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x14014c07b.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014bfe0
jmp case.0x14014c07b.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x14014c07b.8194
je case.0x14014c07b.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x14014c07b.8194
cdqe
movzx eax, byte [r11 + rax + 0x150f94]
mov ecx, dword [r11 + rax*4 + 0x150f8c]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x14014c0fd
je case.0x14014c130.8193
cmp eax, 9
je case.0x14014c130.8193
cmp eax, 0x20
je case.0x14014c130.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x14014c130.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x14014c130.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x14014c07b.8193
add qword [r14 + 0x50], 2
inc edi
mov r10, qword [r14 + 0x50]
cmp edi, ebx
jb 0x14014c090
jmp case.0x14014c07b.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x14014c07b.8193
je case.0x14014c130.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x14014c07b.8193
cdqe
movzx eax, byte [r11 + rax + 0x150ffc]
mov ecx, dword [r11 + rax*4 + 0x150ff4]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x14014c171
je case.0x14014c07b.8193
sub ecx, 0xa
je case.0x14014c07b.8193
sub ecx, 1
jmp 0x14014c183
sub ecx, 0x85
je case.0x14014c07b.8193
sub ecx, 0x1fa3
je case.0x14014c07b.8193
cmp ecx, 1
je case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c140
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x14014c1e1
je 0x14014c202
sub ecx, 0xa
je 0x14014c202
sub ecx, 1
jmp 0x14014c1f3
sub ecx, 0x85
je 0x14014c202
sub ecx, 0x1fa3
je 0x14014c202
cmp ecx, 1
jne case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c1b0
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x14014c24f
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
jne case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c220
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14014c07b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c270
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x14014c2ef
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c2c0
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14014c07b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c310
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x14014c38b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c360
jmp case.0x14014c07b.8193
cmp edi, ebx
jae case.0x14014c07b.8193
nop
cmp r10, qword [r15 + 0x88]
jae 0x14014c3de
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14014c07b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x14014c07b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x14014c3a0
jmp case.0x14014c07b.8193
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014c07b.8193
cmp r10, qword [r15 + 0x98]
ja 0x14014c404
cmp dword [r15 + 0x34], 0
je case.0x14014c07b.8193
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov rsi, qword [rsp + 0xe8]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
mov edx, 0xffffffff
cmp ebp, 2
je 0x140146360
mov rcx, qword [r14 + 0x50]
jmp 0x14014fa31
mov eax, r9d
cmp r11b, 0x74
sete al
mov dword [r14 + 0x40], eax
movzx ecx, word [rbx + 2]
movzx eax, word [r15 + 0x66]
movzx edx, word [rbx + 4]
imul ecx, eax
mov rax, qword [r15 + 0x68]
movsxd rcx, ecx
lea r8, [rax + rcx*2]
lea rax, [rbx + 6]
mov qword [r14], rax
test edx, edx
je 0x14014c4c8
nop word [rax + rax]
movzx eax, word [r8]
dec edx
lea rax, [rax*2 - 2]
mov qword [r14 + 0x28], rax
cmp rax, qword [r14 + 0x78]
jae 0x14014c4bb
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
jne 0x14014c4c8
movzx eax, word [r15 + 0x66]
lea r8, [r8 + rax*2]
test edx, edx
jg 0x14014c490
mov rbx, qword [r14]
jmp 0x14014c4f5
mov eax, r9d
cmp r11b, 0x72
sete al
mov dword [r14 + 0x40], eax
movzx eax, word [rbx + 2]
add rbx, 4
lea rax, [rax*2 - 2]
mov qword [r14 + 0x28], rax
mov qword [r14], rbx
mov rdx, rbx
movzx r8d, word [rbx]
lea eax, [r8 - 0x62]
cmp eax, 7
ja case.default.0x14014c51d
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x15105c]
add rcx, r11
jmp rcx
lea ecx, [r8 - 0x62]
lea rax, [rbx + 2]
mov qword [r14], rax
mov eax, ecx
mov ecx, dword [r11 + rcx*4 + 0x1e2b40]
mov dword [r14 + 0x38], ecx
mov r8d, dword [r11 + rax*4 + 0x1e2b70]
mov ebp, dword [r11 + rax*4 + 0x1e2ba0]
mov dword [r14 + 0x3c], r8d
mov dword [rsp + 0xf8], ebp
jmp 0x14014c59f
movzx ecx, word [rdx + 2]
mov dword [r14 + 0x38], ecx
movzx r8d, word [rdx + 4]
mov dword [r14 + 0x3c], r8d
movzx eax, word [rdx]
mov ebp, dword [r11 + rax*4 + 0x1e2a18]
mov dword [rsp + 0xf8], ebp
test r8d, r8d
jne 0x14014c598
mov eax, 0xffffffff
mov dword [r14 + 0x3c], eax
mov r8d, eax
lea rax, [rdx + 6]
mov qword [r14], rax
mov rdi, qword [r14 + 0x28]
cmp rdi, qword [r14 + 0x78]
jae 0x14014c5d2
mov rax, qword [r14 + rdi*8 + 0x80]
cmp rax, 0xffffffffffffffff
je 0x14014c5d2
cmp rax, qword [r14 + rdi*8 + 0x88]
je 0x1401462f3
jmp 0x14014c5eb
test ecx, ecx
je 0x1401462f3
test dword [r15 + 0xd0], 0x200
jne 0x1401462f3
mov ebx, 1
cmp ecx, ebx
jb 0x14014c645
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r14 + 0x28]
lea rax, [rsp + 0x50]
mov edx, dword [r14 + 0x40]
mov rcx, rdi
mov r9, r15
mov qword [rsp + 0x20], rax
mov r8, r14
call fcn.1401513d0
test eax, eax
jne 0x14014c760
mov rax, qword [rsp + 0x50]
inc ebx
add rax, rax
add qword [r14 + 0x50], rax
mov ecx, dword [r14 + 0x38]
cmp ebx, ecx
jbe 0x14014c600
mov r8d, dword [r14 + 0x3c]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
cmp ecx, r8d
je 0x1401462f3
test ebp, ebp
je 0x14014fd64
mov rax, qword [r14 + 0x50]
mov ebx, 1
mov qword [r14 + 8], rax
mov rax, qword [r14 + rdi*8 + 0x88]
sub rax, qword [r14 + rdi*8 + 0x80]
mov qword [r14 + 0x18], rax
mov edi, dword [r14 + 0x38]
cmp edi, r8d
jae 0x14014c72f
nop dword [rax]
mov edx, dword [r14 + 0x40]
lea rax, [rsp + 0x58]
mov rcx, qword [r14 + 0x28]
mov r9, r15
mov r8, r14
mov qword [rsp + 0x20], rax
call fcn.1401513d0
test eax, eax
jne 0x14014c6ed
mov rax, qword [rsp + 0x58]
mov ecx, 0
cmp rax, qword [r14 + 0x18]
cmovne ebx, ecx
add rax, rax
add qword [r14 + 0x50], rax
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x14014c690
jmp 0x14014c727
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb case.0x14014638c.82
jmp 0x1401480ac
jle 0x14014c727
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014c727
mov rax, qword [r15 + 0x98]
cmp qword [r15 + 0x88], rax
jbe 0x14014c727
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
test ebx, ebx
je 0x14014fcc0
lea r11, [0x140000000]
jmp 0x14014d9c9
mov edx, dword [r14 + 0x40]
lea rax, [rsp + 0x38]
mov rcx, qword [r14 + 0x28]
mov r9, r15
mov r8, r14
mov qword [rsp + 0x20], rax
call fcn.1401513d0
test eax, eax
je 0x14014c776
jle 0x14014c6d7
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
jmp 0x14014c6db
mov rax, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xd0]
add rax, rax
add qword [r14 + 0x50], rax
xor r9d, r9d
jmp 0x14014634b
add rbx, 2
mov qword [r14], rbx
nop dword [rax]
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x14014c7a0
lea rax, [rbx + 4]
mov qword [r14], rax
jmp 0x140146360
cmp dword [r15 + 0x30], 0
jne 0x14014fcd9
cmp dword [r14 + 0x30], 0
je 0x14014fcd9
lea r11, [0x140000000]
jmp 0x14014d3f1
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, r14
call fcn.140146080
mov ebx, eax
test eax, eax
jg case.0x14014638c.82
js 0x140148eb7
mov rax, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xd0]
add rax, rax
add qword [r14], rax
xor r9d, r9d
jmp 0x14014634b
movzx eax, word [rbx + 2]
mov qword [r14 + 0x18], rax
cmp word [rbx + rax*2], 0x78
je 0x14014c835
add rax, 0xfffffffffffffffe
mov qword [r14 + 0x18], rax
add rbx, 4
mov qword [r14], rbx
movzx eax, word [rbx]
cmp ax, 0x76
je 0x14014c853
cmp ax, 0x77
jne 0x14014c889
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, r14
call fcn.140146080
mov ebx, eax
test eax, eax
jg case.0x14014638c.82
js 0x140148eb7
mov rax, qword [r14]
mov rcx, qword [rsp + 0x38]
lea rbx, [rax + rcx*2]
mov qword [r14], rbx
sub qword [r14 + 0x18], rcx
movzx eax, word [rbx]
movzx edx, ax
lea r11, [0x140000000]
lea eax, [rdx - 0x90]
cmp eax, 0x12
ja case.0x14014c8af.150
cdqe
mov ecx, dword [r11 + rax*4 + 0x15107c]
add rcx, r11
jmp rcx
mov ecx, dword [r14 + 0x68]
mov edx, 0xffffffff
cmp ecx, edx
je case.0x14014c8af.148
movzx eax, word [rbx + 2]
cmp eax, 0xffff
je case.0x14014c8af.149
cmp eax, ecx
je case.0x14014c8af.149
jmp case.0x14014c8af.148
mov r10d, dword [r14 + 0x68]
mov edx, 0xffffffff
cmp r10d, edx
je case.0x14014c8af.148
movzx eax, word [rbx + 2]
movzx r9d, word [r15 + 0x66]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r15 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x14014c8af.148
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x14014c94d
lea r8, [r8 + r9*2]
test edx, edx
jg 0x14014c920
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xf8], ebp
jmp case.0x14014c8af.148
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xf8], ebp
jmp case.0x14014c8af.149
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r14 + 0x78]
jae case.0x14014c8af.148
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
je case.0x14014c8af.148
jmp case.0x14014c8af.149
movzx eax, word [rbx + 2]
movzx r9d, word [r15 + 0x66]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r15 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x14014c8af.148
mov rcx, qword [r14 + 0x78]
nop word [rax + rax]
movzx eax, word [r8]
dec edx
lea rax, [rax*2 - 2]
cmp rax, rcx
jae 0x14014c9e6
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
jne case.0x14014c8af.149
lea r8, [r8 + r9*2]
test edx, edx
jg 0x14014c9c0
jmp case.0x14014c8af.148
movzx edx, word [rbx + 2]
test r12d, r12d
je 0x14014ca51
test edx, edx
je 0x14014ca48
mov rcx, qword [r14 + 0x50]
mov ebx, 0xdc00
mov r11d, 0xfc00
nop
mov eax, 0xffffffff
add edx, eax
cmp rcx, qword [r15 + 0x80]
jbe case.0x14014638c.82
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
movzx eax, word [rcx]
and ax, r11w
cmp ax, bx
jne 0x14014ca44
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
test edx, edx
jne 0x14014ca10
mov rcx, qword [r14 + 0x50]
jmp 0x14014ca7a
mov rcx, qword [r14 + 0x50]
mov rax, rcx
sub rax, qword [r15 + 0x78]
sar rax, 1
cmp rdx, rax
jg case.0x14014638c.82
lea rax, [rdx + rdx]
sub rcx, rax
lea r8, [0x140000000]
mov qword [r14 + 0x50], rcx
cmp rcx, qword [r15 + 0x98]
jae 0x14014ca8e
mov qword [r15 + 0x98], rcx
add qword [r14], 4
jmp 0x140146352
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je case.0x14014638c.59
jmp 0x140146360
movzx eax, word [rbx + 2]
mov edx, 0x86
add rax, rax
sub rbx, rax
movzx ecx, word [rbx]
movzx eax, cx
sub ax, dx
mov edx, 0xfffb
test dx, ax
je 0x14014cb49
mov r13, qword [rdi + 0x30]
add r13, qword [r14 + 0x70]
mov rdi, r13
sub rdi, rsi
mov rax, qword [rdi + 0x70]
mov qword [r14 + 0x70], rax
mov eax, dword [r13 + 0x34]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x14014cb41
mov r8, qword [r14 + 0x78]
lea rdx, [r14 + 0x80]
shl r8, 3
lea rcx, [rdi + 0x80]
call fcn.1401a6950
mov rax, qword [r14 + 0x78]
mov ebx, 1
mov qword [rdi + 0x78], rax
mov rax, qword [r14 + 0x60]
mov qword [rdi + 0x60], rax
mov rax, r14
sub rax, rdi
mov qword [r14 + 0x20], rax
jmp 0x140148eb7
movzx ecx, word [rbx]
jmp 0x14014cb4c
mov rdi, r9
movzx eax, cx
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x14014cb6f.134
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x1510c8]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x14014cb89
mov qword [r15 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r14 + 0x50], rax
jmp case.0x14014cb6f.134
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x14014cbae
mov qword [r15 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r14 + 0x50], rax
mov rax, r14
sub rax, rdi
mov qword [r14 + 0x20], rax
mov rcx, qword [rdi]
movzx eax, word [rcx + 2]
cmp word [rcx + rax*2], 0x78
lea rdx, [rcx + rax*2]
jne case.0x14014cb6f.134
nop word [rax + rax]
mov qword [rdi], rdx
movzx eax, word [rdx + 2]
cmp word [rdx + rax*2], 0x78
lea rdx, [rdx + rax*2]
je 0x14014cbe0
jmp case.0x14014cb6f.134
mov ebx, 1
xor ebp, ebp
mov r9d, 0xff
jmp 0x140148ec6
mov rdx, qword [r14 + 0x50]
mov r8d, r12d
mov rcx, qword [rdi + 0x50]
call fcn.14015f5d0
test eax, eax
jne case.0x14014cb6f.134
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
movzx edx, word [rbx + 4]
cmp dword [r14 + 0x68], edx
jne 0x14014cc8d
mov rbx, r13
lea rcx, [r14 + 0x80]
sub rbx, rsi
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401a6950
mov rax, qword [rbx + 0x78]
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
mov qword [r14 + 0x78], rax
mov eax, dword [rbx + 0x6c]
mov dword [r14 + 0x6c], eax
mov eax, dword [rbx + 0x68]
mov dword [r14 + 0x68], eax
mov rax, qword [rbx]
add rax, 4
mov qword [r14], rax
xor r9d, r9d
jmp 0x14014634b
mov dword [r14 + 0x6c], edx
lea ecx, [rdx*2 - 2]
mov rax, qword [rdi + 0x50]
sub rax, qword [r15 + 0x78]
sar rax, 1
mov qword [r14 + rcx*8 + 0x80], rax
mov rax, qword [r14 + 0x50]
sub rax, qword [r15 + 0x78]
sar rax, 1
mov qword [r14 + rcx*8 + 0x88], rax
cmp rcx, qword [r14 + 0x78]
jb case.0x14014cb6f.134
lea rax, [rcx + 2]
mov qword [r14 + 0x78], rax
mov rdx, qword [r14]
cmp word [rdx], 0x7c
jne 0x14014ccf9
mov r8, qword [rsp + 0x60]
lea rdx, [r14 + 0x50]
lea rcx, [rdi + 0x50]
call fcn.1401a6950
mov ebx, 0xfffffc1a
jmp 0x140148eb7
movzx ecx, byte [r14 + 0x49]
cmp cl, 0x79
je 0x14014d619
test rdi, rdi
je 0x14014cd1e
mov rax, qword [rdi + 0x50]
cmp qword [r14 + 0x50], rax
je 0x14014d619
cmp cl, 0x7b
jne 0x14014fd38
lea rbx, [rdx + 4]
mov byte [r14 + 0x48], 6
jmp 0x140150376
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
jne case.0x14014638c.82
test byte [r15 + 0xcc], 1
jne case.0x14014638c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x140146360
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
je 0x1401466e1
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
test byte [r15 + 0xcc], 2
jne case.0x14014638c.82
test byte [r15 + 0xd0], 0x10
je case.0x14014638c.21
mov rax, qword [r15 + 0x88]
cmp qword [r14 + 0x50], rax
jb case.0x14014638c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014cdc1
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
add qword [r14], 2
jmp 0x140146360
mov r10, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp r10, r8
jae 0x14014cec8
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014ce1c
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
mov rcx, r10
call fcn.14015f3c0
test eax, eax
je 0x14014ce6f
mov ecx, dword [r15 + 0xe0]
mov r8, qword [r15 + 0x88]
mov r10, qword [r14 + 0x50]
jmp 0x14014ce61
mov ecx, dword [r15 + 0xe0]
imul rax, rcx, 0xfffffffffffffffe
add rax, r8
cmp r10, rax
ja 0x14014ce6f
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x14014ce6f
cmp ecx, 1
je 0x14014ce61
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
jne 0x14014ce6f
mov eax, ecx
imul rcx, rax, 0xfffffffffffffffe
add rcx, r8
cmp r10, rcx
je 0x14014cec8
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014638c.82
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb case.0x14014638c.82
cmp dword [r15 + 0xdc], 0
jne case.0x14014638c.82
cmp dword [r15 + 0xe0], 2
jne case.0x14014638c.82
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne case.0x14014638c.82
cmp dx, 1
jmp 0x1401465e1
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140148c82
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014634b
test byte [r15 + 0xcc], 1
je 0x14014cf18
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
je case.0x14014638c.82
mov rcx, qword [r14 + 0x50]
mov rax, qword [r15 + 0x78]
cmp rcx, rax
je 0x14014cfce
cmp rcx, qword [r15 + 0x88]
jne 0x14014cf47
test dword [r15 + 0xd0], 0x200000
je case.0x14014638c.82
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014cf80
cmp rcx, rax
jbe case.0x14014638c.82
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
mov r8, rax
call fcn.14015f480
test eax, eax
je case.0x14014638c.82
jmp 0x14014cfc7
mov r8d, dword [r15 + 0xe0]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x14014638c.82
movzx eax, word [r15 + 0xe4]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x14014638c.82
cmp r8d, 1
je 0x14014cfc7
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
jne case.0x14014638c.82
lea r8, [0x140000000]
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x140146352
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x14014d0a8
mov edx, dword [r15 + 0xdc]
lea rbx, [r15 + 0xe0]
test edx, edx
je 0x14014d031
mov r9, rbx
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
test eax, eax
je 0x14014d06f
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014634b
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x14014d06f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014d06f
cmp edx, 1
je 0x140148c82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x140148c82
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014638c.82
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb case.0x14014638c.82
cmp dword [r15 + 0xdc], 0
jne case.0x14014638c.82
cmp dword [rbx], 2
jmp 0x14014cea8
test byte [r15 + 0xcc], 2
jne case.0x14014638c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140148c82
cmp rcx, qword [r15 + 0x98]
ja 0x14014ced6
cmp dword [r15 + 0x34], 0
jmp 0x14014ced0
mov rcx, qword [r15 + 0x50]
mov rax, qword [r15 + 0x78]
lea rcx, [rax + rcx*2]
cmp qword [r14 + 0x50], rcx
je 0x1401466e1
xor ebp, ebp
mov ebx, ebp
jmp 0x140148eb9
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x58], rax
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x140146360
mov r8, qword [r14 + 0x50]
cmp r8, qword [r15 + 0x80]
jne 0x14014d129
mov ebx, 0xff
jmp 0x14014d237
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r12d, r12d
je 0x14014d195
movzx eax, cx
mov r10d, 0xfc00
and ax, r10w
mov edx, 0xdc00
cmp ax, dx
jne 0x14014d15b
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r10d
cmp eax, ecx
jne 0x14014d197
movzx ecx, word [r8 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
jmp 0x14014d197
mov edx, ecx
cmp r8, qword [r15 + 0x98]
jae 0x14014d1ab
mov qword [r15 + 0x98], r8
test dword [r15 + 0xd0], 0x20000
mov ebx, 0xff
je 0x14014d21b
lea r11, [0x140000000]
cmp edx, 0x5f
jne 0x14014d1d3
lea r10d, [rdx - 0x5e]
jmp 0x14014d241
mov eax, edx
mov r10d, r9d
shr rax, 7
and edx, 0x7f
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov eax, dword [r11 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
sete r10b
jmp 0x14014d241
cmp edx, ebx
ja 0x14014d237
mov rax, qword [r15 + 0x48]
mov r10d, 1
test byte [rdx + rax], 0x10
jne 0x14014d23a
mov r10d, r9d
lea r11, [0x140000000]
mov rcx, qword [r14 + 0x50]
mov rax, qword [r15 + 0x88]
cmp rcx, rax
jb 0x14014d292
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014d3ac
cmp rcx, qword [r15 + 0x98]
ja 0x14014d27b
cmp dword [r15 + 0x34], 0
je 0x14014d3ac
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
jmp 0x14014d3ac
lea r9, [rcx + 2]
mov r8, r9
test r12d, r12d
je 0x14014d302
cmp r9, rax
jae 0x14014d2c5
movzx eax, word [r9]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14014d2c5
add r8, 2
movzx edx, word [rcx]
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014d305
movzx ecx, word [r9]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
jmp 0x14014d305
movzx edx, word [rcx]
cmp r8, qword [r15 + 0xa0]
jbe 0x14014d319
mov qword [r15 + 0xa0], r8
test dword [r15 + 0xd0], 0x20000
je 0x14014d386
cmp edx, 0x5f
jne 0x14014d339
mov edx, 1
xor r9d, r9d
jmp 0x14014d3af
mov eax, edx
mov r9d, 0
shr rax, 7
and edx, 0x7f
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
mov edx, r9d
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov eax, dword [r11 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
sete dl
jmp 0x14014d3af
cmp edx, ebx
ja 0x14014d3a9
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je 0x14014d3a9
mov edx, 1
xor r9d, r9d
jmp 0x14014d3af
xor r9d, r9d
mov edx, r9d
mov rax, qword [r14]
xor edx, r10d
movzx ecx, word [rax]
add rax, 2
mov qword [r14], rax
cmp cx, 5
jne 0x14014d3cc
xor edx, 1
mov r10d, dword [rsp + 0xd0]
test edx, edx
jmp 0x14014695e
test ebx, ebx
jne case.0x140148f32.33
mov rbx, qword [r14 + 8]
mov ebp, dword [rsp + 0xf8]
mov qword [r14], rbx
movzx eax, word [rbx + 2]
mov rsi, qword [rsp + 0xe8]
lea rdx, [rbx + rax*2]
mov qword [r14 + 8], rdx
cmp word [rdx], 0x78
mov rcx, qword [r14]
movzx eax, word [rcx]
movzx eax, byte [rax + r11 + 0x1e3410]
lea rbx, [rcx + rax*2]
je 0x14014fd42
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
mov qword [r14], rbx
jmp 0x14014634b
cmp ebx, 0xfffffc1f
jne 0x14014d474
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r15 + 0xb8], rdx
jae case.0x140148f32.33
cmp word [rcx], 0x78
je 0x14014d47c
cmp word [rdx], 0x78
jmp 0x14014d476
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x140150107
mov ebx, ebp
jmp case.0x140148f32.33
cmp ebx, 0xfffffc19
je 0x14014f8ee
test ebx, ebx
je 0x14014d4bb
cmp ebx, 0xfffffc1f
jne case.0x140148f32.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x1401501f6
mov ebx, ebp
jmp case.0x140148f32.33
cmp ebx, 0xfffffc1d
jg 0x14014d54f
je 0x14014d4ff
cmp ebx, 0xfffffc19
je 0x14014d56c
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x140148f32.33
mov rbx, qword [r14]
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x14014d510
mov ebp, dword [rsp + 0xf8]
lea rax, [rbx + 4]
mov rsi, qword [rsp + 0xe8]
xor r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
mov qword [r14], rax
jmp 0x14014634b
cmp ebx, 0xfffffc1f
je 0x14014f937
test ebx, ebx
je 0x14014f937
cmp ebx, 1
jne case.0x140148f32.33
mov ebx, ebp
jmp case.0x140148f32.33
cmp ebx, 0xfffffc1d
jg 0x14014d5a5
je 0x14014f9aa
cmp ebx, 0xfffffc19
je 0x14014f958
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x140148f32.33
jmp 0x14014f9aa
cmp ebx, 0xfffffc1f
je 0x14014f990
test ebx, ebx
je 0x14014f990
cmp ebx, 1
jne case.0x140148f32.33
mov eax, dword [r14 + 0x38]
jmp 0x14014f9b4
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14]
mov ebp, dword [rsp + 0xf8]
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
movzx eax, word [rcx + 2]
mov r10d, dword [rsp + 0xd0]
add rax, rax
sub rcx, rax
mov qword [r14], rcx
xor r9d, r9d
jmp 0x14014634b
test ebx, ebx
jne case.0x140148f32.33
mov ebp, dword [rsp + 0xf8]
add qword [r14], 4
mov rsi, qword [rsp + 0xe8]
xor r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
jmp 0x14014634b
cmp ebx, 0xfffffc1a
jne 0x14014d686
mov dword [r14 + 0x3c], 1
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jne 0x14014fd4c
mov rcx, qword [r14]
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x14014d670
jmp 0x14014d6dd
cmp ebx, 0xfffffc1f
jne 0x14014d6bd
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r15 + 0xb8], rdx
jae case.0x140148f32.33
cmp word [rcx], 0x78
je 0x14014d6c5
cmp word [rdx], 0x78
jmp 0x14014d6bf
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x1401500b0
cmp dword [r14 + 0x3c], 0
jne 0x14014d722
cmp dword [r14 + 0x40], 0
jne 0x14014d722
mov ebx, ebp
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14 + 8]
nop word [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14 + 8], rcx
cmp word [rcx], 0x78
je 0x14014d710
lea rax, [rcx + 4]
mov ebp, dword [rsp + 0xf8]
mov qword [r14], rax
mov rsi, qword [rsp + 0xe8]
xor r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
jmp 0x14014634b
test ebx, ebx
jne case.0x140148f32.33
add qword [r14], 2
mov ebp, dword [rsp + 0xf8]
xor r9d, r9d
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
jmp 0x14014634b
mov rdx, qword [r14 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x14014d7e7
mov eax, dword [r14 + 0x38]
btc eax, 0x12
cmp dword [r15 + 0xc8], eax
jne 0x14014d7e7
cmp ebx, 0xfffffc1f
jne 0x14014d56c
cmp qword [r15 + 0xb8], rcx
jae 0x14014d56c
cmp word [rdx], 0x78
je 0x14014d7ef
cmp word [rcx], 0x78
je 0x14014d7ef
mov ebx, ebp
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov qword [r14 + 8], rcx
cmp word [rcx], 0x78
je 0x1401501b3
mov ebx, ebp
jmp case.0x140148f32.33
cmp ebx, 0xfffffc1e
jne case.0x140148f32.33
mov rcx, qword [r14]
mov rdx, qword [r15 + 0xc0]
add rcx, 4
call fcn.14015ec10
lea r11, [0x140000000]
mov r8d, 0x2000
mov r9d, 0xff
test eax, eax
jne case.0x140148f32.33
mov rax, qword [r14 + 0x50]
lea r11, [0x140000000]
mov qword [r15 + 0xc0], rax
mov ebx, 0xfffffc1d
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov eax, dword [r14 + 0x68]
mov ebx, 0xfffffc1c
mov dword [r15 + 0xc8], eax
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rax, qword [r14 + 0x50]
mov ebx, 0xfffffc1d
mov qword [r15 + 0xc0], rax
mov eax, dword [r14 + 0x68]
mov dword [r15 + 0xc8], eax
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rax, qword [r14]
mov ebx, 0xfffffc1e
add rax, 4
mov qword [r15 + 0xc0], rax
mov eax, dword [r14 + 0x68]
mov dword [r15 + 0xc8], eax
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rax, qword [r14]
mov ebx, 0xfffffc1f
mov qword [r15 + 0xb8], rax
mov eax, dword [r14 + 0x68]
mov dword [r15 + 0xc8], eax
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x14014d915
mov ebx, ebp
jmp case.0x140148f32.33
mov edx, dword [r14 + 0x40]
lea rax, [rsp + 0x68]
mov rcx, qword [r14 + 0x28]
mov r9, r15
mov r8, r14
mov qword [rsp + 0x20], rax
call fcn.1401513d0
test eax, eax
je 0x14014fd58
jle 0x14014d950
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
jmp 0x14014d954
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x14014d999
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014d999
cmp rax, qword [r15 + 0x98]
ja 0x14014d987
cmp dword [r15 + 0x34], 0
je 0x14014d999
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
lea r11, [0x140000000]
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rax, qword [r14 + 0x18]
neg rax
add rax, rax
add qword [r14 + 0x50], rax
mov rax, qword [r14 + 0x50]
cmp rax, qword [r14 + 8]
jae 0x14014fd79
xor ebp, ebp
jmp 0x14014e425
test ebx, ebx
jne case.0x140148f32.33
mov rbx, qword [r14 + 8]
cmp qword [r14 + 0x50], rbx
je 0x14014e425
mov qword [r14 + 0x50], rbx
mov eax, 0xffffffff
add dword [r14 + 0x3c], eax
mov edi, dword [r14 + 0x38]
cmp edi, dword [r14 + 0x3c]
jae 0x14014da42
nop
mov edx, dword [r14 + 0x40]
lea rax, [rsp + 0x70]
mov rcx, qword [r14 + 0x28]
mov r9, r15
mov r8, r14
mov qword [rsp + 0x20], rax
call fcn.1401513d0
mov rax, qword [rsp + 0x70]
inc edi
lea rbx, [rbx + rax*2]
mov qword [r14 + 0x50], rbx
cmp edi, dword [r14 + 0x3c]
jb 0x14014da10
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp ecx, r9d
jbe 0x14014dab9
cmp byte [r14 + 0x49], 0x6e
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140150376
mov rax, qword [r14 + 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 0x14014daa4
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
jmp 0x14014dafe
lea r11, [0x140000000]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jae 0x14014fd8e
xor ebp, ebp
jmp 0x14014e425
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jb 0x14014db70
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014d56c
cmp rcx, qword [r15 + 0x98]
ja 0x14014db67
cmp dword [r15 + 0x34], 0
je 0x14014d56c
cmp ax, 1
jmp 0x14014f060
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
je 0x14014db87
cmp dword [r14 + 0x44], eax
jne 0x14014d56c
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayPutElement
jmp 0x140150376
add qword [r14 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x140148f32.33
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
je 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayCopy
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], edx
jne 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1b
jmp 0x140150376
add qword [r14 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x140148f32.33
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r14 + 0x50], rax
jbe 0x140147d94
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0x1c
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jae 0x14014db41
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
je 0x14014d56c
cmp dword [r14 + 0x44], eax
je 0x14014d56c
mov rsi, qword [rsp + 0xe8]
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0x1d
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r14 + 8]
je 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1e
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], edx
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1f
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r14 + 8]
je 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x20
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x14014ddb6
mov ebx, ebp
jmp case.0x140148f32.33
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jb 0x14014de0f
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014e1d6
cmp rcx, qword [r15 + 0x98]
ja 0x14014ddf0
cmp dword [r15 + 0x34], 0
je 0x14014e1d6
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, dword [r14 + 0x40]
cmp r9d, 0xc
jne 0x14014de98
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014de55
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
lea r11, [0x140000000]
test eax, eax
jne 0x14014e42f
mov rcx, qword [r14 + 0x50]
mov r9d, dword [r14 + 0x40]
jmp 0x14014de98
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x14014de98
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014de98
cmp edx, 1
je 0x14014e42f
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x14014e42f
movzx edx, word [rcx]
lea eax, [r9 - 6]
lea r8, [rcx + 2]
mov qword [r14 + 0x50], r8
cmp eax, 0xf
ja case.0x14014debb.15
mov ecx, dword [r11 + rax*4 + 0x15110c]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14014dedd
je 0x14014fda3
sub edx, 0xa
je case.0x14014debb.13
sub edx, 1
jmp 0x14014deef
sub edx, 0x85
je 0x14014defe
sub edx, 0x1fa3
je 0x14014defe
cmp edx, 1
jne 0x14014e42f
cmp word [r15 + 0x62], 2
jne case.0x14014debb.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x14014df78
je case.0x14014dfae.8193
cmp edx, 9
je case.0x14014dfae.8193
cmp edx, 0x20
je case.0x14014dfae.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14014dfae.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14014dfae.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x14014debb.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14014debb.13
je case.0x14014dfae.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014debb.13
movzx eax, byte [r11 + rdx + 0x151154]
mov ecx, dword [r11 + rax*4 + 0x15114c]
add rcx, r11
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x14014e00b
je case.0x14014debb.13
cmp edx, 9
je case.0x14014debb.13
cmp edx, 0x20
je case.0x14014debb.13
mov eax, 0xa0
cmp edx, eax
je case.0x14014debb.13
mov eax, 0x1680
cmp edx, eax
je case.0x14014debb.13
mov eax, 0x180e
cmp edx, eax
je case.0x14014debb.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14014dfae.8193
je case.0x14014debb.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014dfae.8193
movzx eax, byte [r11 + rdx + 0x1511bc]
mov ecx, dword [r11 + rax*4 + 0x1511b4]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14014e063
je 0x14014e42f
sub edx, 0xa
je 0x14014e42f
sub edx, 1
jmp 0x14014e075
sub edx, 0x85
je 0x14014e42f
sub edx, 0x1fa3
je 0x14014e42f
cmp edx, 1
jne case.0x14014debb.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0xd
ja 0x14014e0b7
je case.0x14014debb.13
sub edx, 0xa
je case.0x14014debb.13
sub edx, 1
jmp 0x14014e0c9
sub edx, 0x85
je case.0x14014debb.13
sub edx, 0x1fa3
je case.0x14014debb.13
cmp edx, 1
je case.0x14014debb.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14014debb.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja 0x14014e1d6
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14014debb.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja 0x14014e1d6
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14014debb.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
mov r9d, 0xff
cmp edx, r9d
ja 0x14014e1d6
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x14014debb.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rax, qword [r14 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r14 + 0x50], rax
mov rcx, rax
cmp dword [r14 + 0x40], 0x11
jne 0x14014fa2a
cmp rax, qword [r14 + 8]
jbe 0x14014fa2a
cmp word [rax], 0xa
jne 0x14014fa2a
cmp word [rax - 2], 0xd
lea rdx, [rax - 2]
mov ebp, dword [rsp + 0xf8]
jne 0x14014fa31
mov qword [r14 + 0x50], rdx
mov rcx, rdx
jmp 0x14014fa31
test ebx, ebx
jne case.0x140148f32.33
mov eax, dword [r14 + 0x68]
mov ebx, 0xfffffc1b
mov dword [r15 + 0xc8], eax
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x14014e2c7
mov eax, ecx
and eax, edi
cmp eax, esi
jne 0x14014e2c7
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
mov rdx, qword [r14 + 0x10]
mov r8d, r12d
call fcn.14015fb10
test eax, eax
jne 0x14014fe3e
lea r11, [0x140000000]
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14 + 0x50]
lea rdx, [rcx - 2]
mov qword [r14 + 0x50], rdx
cmp rcx, qword [r14 + 8]
jbe 0x14014d56c
test r12d, r12d
je 0x14014e338
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, di
cmp ax, cx
jne 0x14014e338
lea rax, [rdx - 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x65
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x14014e3b3
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
cmp ecx, r9d
jbe 0x14014e3dc
cmp byte [r14 + 0x49], 0x6e
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SetErrorInfo
jmp 0x140150376
mov rax, qword [r14 + 0x10]
mov edx, ecx
and ecx, 7
shr rdx, 3
movzx r8d, byte [rdx + rax]
mov eax, 1
shl eax, cl
test al, r8b
jne 0x14014e3c7
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14 + 0x50]
lea rdx, [rcx - 2]
mov qword [r14 + 0x50], rdx
cmp rcx, qword [r14 + 8]
ja 0x14014fe53
mov edi, 0xfc00
mov esi, 0xd800
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rdi, qword [r14 + 0x18]
mov rsi, qword [r15 + 0x88]
mov rbx, qword [r14 + 0x50]
mov rax, rsi
lea r8, [rdi + rdi]
sub rax, r8
cmp rbx, rax
ja 0x14014e495
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
je 0x14014fe84
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14014e4c9
lea r8, [rdi + rdi]
mov rax, rsi
sub rax, r8
cmp rbx, rax
ja 0x14014e4c9
lea rdx, [r14 + 0x4a]
mov rcx, rbx
call fcn.1401a84f0
test eax, eax
je 0x14014fe84
cmp rbx, rsi
jb 0x14014e50a
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14014e50a
cmp rbx, qword [r15 + 0x98]
ja 0x14014e4f8
cmp dword [r15 + 0x34], 0
je 0x14014e50a
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401471e3
lea r11, [0x140000000]
jmp 0x14014e425
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov edx, 0xdc00
mov rcx, qword [r14 + 0x50]
mov ebp, dword [rsp + 0xf8]
movzx eax, word [rcx]
and ax, di
cmp ax, dx
jne 0x14014e54a
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
mov rsi, qword [rsp + 0xe8]
cmp rcx, qword [r14 + 8]
jbe 0x140147d94
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xcb
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x14014e5cf
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
cmp dword [r14 + 0x40], ecx
je 0x14014d56c
cmp dword [r14 + 0x44], ecx
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xcc
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov edx, 0xdc00
mov rcx, qword [r14 + 0x50]
mov ebp, dword [rsp + 0xf8]
movzx eax, word [rcx]
and ax, di
cmp ax, dx
jne 0x14014e62c
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
cmp rcx, qword [r14 + 8]
jbe 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xcd
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x14014e6b1
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
cmp dword [r14 + 0x40], ecx
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xce
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov edx, 0xdc00
mov rcx, qword [r14 + 0x50]
mov ebp, dword [rsp + 0xf8]
movzx eax, word [rcx]
and ax, di
cmp ax, dx
jne 0x14014e704
lea rax, [rcx - 2]
mov qword [r14 + 0x50], rax
mov rax, qword [r14 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r14 + 0x50], rax
jbe 0x140147d94
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xcf
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
test r12d, r12d
je 0x14014e77b
and ecx, edi
cmp ecx, esi
jne 0x14014e77b
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], 0xf
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd0
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014e810
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014e810
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x1e5b41]
lea eax, [rdx - 5]
test al, 0xfb
je 0x14014e853
mov ecx, ebp
cmp dl, 8
jne 0x14014e858
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd1
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014e8f4
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014e8f4
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + 0x44]
movzx edx, byte [r11 + rcx*4 + 0x1e5b41]
mov ecx, ebp
cmp dword [r11 + rdx*4 + 0x1e35f0], eax
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd2
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x14014e9c8
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014e9c8
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov ecx, ebp
cmp eax, dword [r14 + 0x44]
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd3
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014ea9a
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014ea9a
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b40]
mov ecx, ebp
cmp eax, dword [r14 + 0x44]
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd4
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014eb6c
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014eb6c
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov ecx, ebp
mov eax, dword [r11 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd5
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x14014ec43
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014ec43
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
cmp edx, r8d
ja 0x14014ed1d
je case.0x14014ed53.8193
cmp edx, 0x20
ja 0x14014ecf2
je case.0x14014ed53.8193
mov eax, edx
sub eax, 9
je case.0x14014ed53.8193
sub eax, 1
je case.0x14014ed53.8193
sub eax, 1
je case.0x14014ed53.8193
sub eax, 1
je case.0x14014ed53.8193
cmp eax, 1
je case.0x14014ed53.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov ecx, ebp
cmp dword [r11 + rax*4 + 0x1e35f0], 6
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd6
jmp 0x140150376
mov eax, edx
sub eax, 0x85
je case.0x14014ed53.8193
sub eax, 0x1b
je case.0x14014ed53.8193
sub eax, 0x15e0
je case.0x14014ed53.8193
cmp eax, 0x18e
jmp 0x14014ec8a
mov eax, 0x3000
cmp edx, eax
ja case.0x14014ed53.8194
je case.0x14014ed53.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x14014ed53.8194
movzx eax, byte [r11 + rax + 0x151224]
mov ecx, dword [r11 + rax*4 + 0x15121c]
add rcx, r11
jmp rcx
cmp dword [r14 + 0x40], 0xf
jne case.0x14014fc95.7
mov ebx, ebp
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014edd8
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014edd8
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1e5b41]
mov eax, dword [r11 + rax*4 + 0x1e35f0]
dec eax
test eax, 0xfffffffd
je 0x14014ee27
mov ecx, ebp
cmp edx, 0x5f
jne 0x14014ee2c
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd7
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014eec8
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014eec8
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, dword [r14 + 0x44]
lea rcx, [rax*4 + 0x1e5570]
add rcx, r11
mov eax, dword [rcx]
cmp edx, eax
jb 0x14014eef3
lea rcx, [rcx + 4]
cmp edx, eax
je 0x14014ef13
mov eax, dword [rcx]
cmp edx, eax
jae 0x14014eee1
cmp dword [r14 + 0x40], 0xf
jne 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd8
jmp 0x140150376
cmp dword [r14 + 0x40], 0xf
jne case.0x14014fc95.10
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x14014ef96
mov eax, ecx
and eax, edi
cmp eax, esi
jne 0x14014ef96
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
add ecx, 0x10000
lea eax, [rcx - 0x24]
cmp eax, 0x3c
ja 0x14014efb6
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x14014efd5
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x14014efd5
cmp ecx, 0xe000
mov ecx, ebp
jb 0x14014efda
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x14014d56c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd9
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x14014f025
mov ebx, ebp
jmp case.0x140148f32.33
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x14014fea1
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014d56c
cmp rax, qword [r15 + 0x98]
ja 0x14014f05c
cmp dword [r15 + 0x34], 0
je 0x14014d56c
cmp cx, 1
mov dword [r15 + 0x2c], 1
ja 0x1401471e3
mov ebx, ebp
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x14014f099
mov ebx, ebp
jmp case.0x140148f32.33
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x14014ddca
mov r9d, dword [r14 + 0x40]
cmp r9d, 0xc
jne 0x14014f136
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x14014f0f3
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.14015f3c0
lea r11, [0x140000000]
test eax, eax
jne 0x14014e42f
mov rcx, qword [r14 + 0x50]
mov r9d, dword [r14 + 0x40]
jmp 0x14014f136
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x14014f136
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014f136
cmp edx, 1
je 0x14014e42f
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x14014e42f
movzx edx, word [rcx]
lea r8, [rcx + 2]
mov eax, edx
mov qword [r14 + 0x50], r8
and eax, edi
cmp eax, esi
jne 0x14014f174
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r14 + 0x50], r8
lea eax, [r9 - 6]
cmp eax, 0xf
ja case.0x14014debb.15
mov ecx, dword [r11 + rax*4 + 0x151284]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14014f1cb
je 0x14014ff6f
sub edx, 0xa
je case.0x14014f18c.13
sub edx, 1
je 0x14014f1ec
cmp edx, 1
je 0x14014f1ec
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
sub edx, 0x85
je 0x14014f1ec
sub edx, 0x1fa3
je 0x14014f1ec
cmp edx, 1
jne 0x14014e42f
cmp word [r15 + 0x62], 2
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x14014f266
je case.0x14014dfae.8193
cmp edx, 9
je case.0x14014dfae.8193
cmp edx, 0x20
je case.0x14014dfae.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14014dfae.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14014dfae.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x14014f18c.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14014f18c.13
je case.0x14014dfae.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014f18c.13
movzx eax, byte [r11 + rdx + 0x1512cc]
mov ecx, dword [r11 + rax*4 + 0x1512c4]
add rcx, r11
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x14014f2f9
je case.0x14014f18c.13
cmp edx, 9
je case.0x14014f18c.13
cmp edx, 0x20
je case.0x14014f18c.13
mov eax, 0xa0
cmp edx, eax
je case.0x14014f18c.13
mov eax, 0x1680
cmp edx, eax
je case.0x14014f18c.13
mov eax, 0x180e
cmp edx, eax
je case.0x14014f18c.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14014dfae.8193
je case.0x14014f18c.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14014dfae.8193
movzx eax, byte [r11 + rdx + 0x151334]
mov ecx, dword [r11 + rax*4 + 0x15132c]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14014f36e
je 0x14014e42f
sub edx, 0xa
je 0x14014e42f
sub edx, 1
je 0x14014e42f
cmp edx, 1
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
sub edx, 0x85
je 0x14014e42f
sub edx, 0x1fa3
je 0x14014e42f
cmp edx, 1
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0xd
ja 0x14014f3df
je case.0x14014f18c.13
sub edx, 0xa
je case.0x14014f18c.13
sub edx, 1
je case.0x14014f18c.13
cmp edx, 1
je case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
sub edx, 0x85
je case.0x14014f18c.13
sub edx, 0x1fa3
je case.0x14014f18c.13
cmp edx, 1
je case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae case.0x14014f18c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae 0x14014e42f
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae case.0x14014f18c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae 0x14014e42f
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae case.0x14014f18c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
cmp edx, 0x100
jae 0x14014e42f
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x14014f18c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x140148f32.33
test ebx, ebx
jne case.0x140148f32.33
mov r8, qword [r14 + 0x50]
mov ebx, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r14 + 0x50], r8
test r12d, r12d
jne 0x14014fa50
movzx edx, word [r8]
jmp 0x14014faa4
test ebx, ebx
jne case.0x140148f32.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov edx, 0xdc00
mov rcx, qword [r14 + 0x50]
movzx eax, word [rcx]
and ax, di
cmp ax, dx
jne 0x14014f579
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
cmp dword [r14 + 0x40], 0x11
mov rax, rcx
jne 0x14014fbb9
cmp rcx, qword [r14 + 8]
jbe 0x14014fbb9
cmp word [rcx], 0xa
jne 0x14014fbb9
cmp word [rcx - 2], 0xd
lea rdx, [rcx - 2]
mov ebp, dword [rsp + 0xf8]
jne 0x14014fbc0
mov qword [r14 + 0x50], rdx
mov rax, rdx
jmp 0x14014fbc0
test ebx, ebx
jne case.0x140148f32.33
mov rcx, qword [r14 + 0x50]
mov ebp, dword [rsp + 0xf8]
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x14014f5ff
movzx eax, word [rcx]
mov r8d, 0xdc00
and ax, di
cmp ax, r8w
jne 0x14014f5ff
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
mov rsi, qword [rsp + 0xe8]
cmp rcx, qword [r14 + 8]
jbe 0x140147d94
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xde
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014f693
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014f693
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov r8d, dword [r14 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r11 + rcx*4 + 0x1e5b4a]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r11 + rdx*4 + 0x1e4fe0]
bt eax, r8d
mov edx, ebp
mov eax, ebp
setb dl
cmp dword [r14 + 0x40], 0xf
sete al
cmp edx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdf
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014f785
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014f785
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx eax, word [r11 + rcx*4 + 0x1e5b48]
mov ecx, ebp
shr eax, 0xb
cmp eax, dword [r14 + 0x44]
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xe0
jmp 0x140150376
test ebx, ebx
jne case.0x140148f32.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x14014d56c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14014f036
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14014f85a
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014f85a
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1e5b40]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + r11]
cmp eax, ecx
je 0x14014f8c2
movzx edx, word [rdx + r11 + 8]
mov eax, ecx
shr rax, 5
and edx, 0x3ff
add rdx, rax
and ecx, 0x1f
mov eax, dword [r11 + rdx*4 + 0x1e5840]
bt eax, ecx
mov ecx, ebp
jae 0x14014f8c7
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x14014e1d6
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xe1
jmp 0x140150376
mov rbx, qword [rsp + 0x30]
lea rcx, [r14 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401a6950
mov rax, qword [rbx + 0x78]
mov qword [r14 + 0x78], rax
mov rax, qword [rbx + 0x60]
mov qword [r14 + 0x60], rax
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x14014f921
jmp 0x14014d722
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x140150235
lea rax, [rbx + 4]
jmp 0x14014d726
mov rbx, qword [rsp + 0x30]
lea rcx, [r14 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401a6950
mov rax, qword [rbx + 0x78]
lea r11, [0x140000000]
mov qword [r14 + 0x78], rax
mov eax, dword [r14 + 0x38]
jmp 0x14014f9b4
mov rcx, qword [r14 + 8]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
mov qword [r14 + 8], rdx
cmp word [rdx], 0x78
je 0x14014fd00
cmp dword [r14 + 0x38], 0
mov eax, ebp
sete al
test eax, eax
je 0x14014f9ec
mov rcx, qword [r14]
nop
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x14014f9c0
mov ebp, dword [rsp + 0xf8]
mov rcx, qword [r14]
movzx eax, word [rcx]
movzx edx, byte [rax + r11 + 0x1e3410]
jmp 0x14014f9fa
mov ebp, dword [rsp + 0xf8]
mov rdx, qword [r14 + 0x18]
mov rcx, qword [r14]
lea rbx, [rcx + rdx*2]
mov qword [r14], rbx
cmp byte [r14 + 0x49], 0x8f
jne 0x14014d730
mov rsi, qword [rsp + 0xe8]
mov eax, 0x2008f
mov dword [rsp + 0xd8], eax
mov byte [r14 + 0x48], 0x23
jmp 0x140150376
mov ebp, dword [rsp + 0xf8]
cmp rcx, qword [r14 + 8]
je 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x22
jmp 0x140150376
movzx ecx, word [r8]
mov r9, r8
movzx eax, cx
and ax, di
cmp ax, bx
jne 0x14014fa72
lea r9, [r8 - 2]
mov qword [r14 + 0x50], r9
movzx ecx, word [r9]
movzx edx, cx
mov r8, r9
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014faa4
movzx ecx, word [r9 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov r10, qword [r14 + 8]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx r9d, byte [r11 + rcx*4 + 0x1e5b42]
cmp r8, r10
jbe 0x14014fb8f
nop
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r12d, r12d
jne 0x14014faf9
mov edx, ecx
jmp 0x14014fb40
movzx eax, cx
and ax, di
cmp ax, bx
jne 0x14014fb11
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14014fb40
movzx ecx, word [r8 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1e9d50]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1ee150]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x1e5b42]
mov eax, dword [r11 + rdx*4 + 0x1e35b0]
bt eax, r9d
jae 0x14014fb8f
mov qword [r14 + 0x50], r8
mov r9d, edx
cmp r8, r10
ja 0x14014fae0
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jbe 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdc
jmp 0x140150376
mov ebp, dword [rsp + 0xf8]
cmp rax, qword [r14 + 8]
jbe 0x14014d730
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdd
jmp 0x140150376
inc dword [r15 + 0xd4]
mov rdx, qword [r14]
mov eax, dword [r15 + 0xd4]
cmp eax, dword [r15 + 0xd8]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x1e3410]
movzx eax, word [rdx + 2]
ja 0x14015000a
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r14], rax
jmp 0x140146352
test r12d, r12d
jne 0x14014e5e3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1d
jmp 0x140150376
test r12d, r12d
jne 0x14014e6bb
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1f
jmp 0x140150376
test r12d, r12d
jne 0x14014e3c7
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140150376
test esi, esi
js 0x14014fc97
cmp esi, 0xd
ja case.0x14014debb.15
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x151394]
add rcx, r8
jmp rcx
cmp dword [r14 + 0x40], 0x16
je 0x14014ff5a
test r12d, r12d
jne case.0x14014f18c.13
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x21
jmp 0x140150376
mov rsi, qword [rsp + 0xe8]
mov dword [r14 + 0x3c], edi
mov rbx, qword [r14]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x140150376
mov eax, r9d
jmp 0x1401500fc
mov eax, 0xfffd
sub dx, 0x7e
test ax, dx
mov eax, 0
sete al
mov dword [r14 + 0x38], eax
mov rax, qword [r14]
mov qword [r14 + 8], rax
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov rsi, qword [rsp + 0xe8]
movzx eax, word [rax]
or eax, 0x30000
mov dword [rsp + 0xd8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], 5
lea rbx, [rcx + rax*2]
jmp 0x140150376
mov byte [r14 + 0x48], 7
jmp 0x140150376
mov byte [r14 + 0x48], 1
jmp 0x140150376
mov rax, qword [r14 + 0x10]
mov qword [r14], rax
jmp 0x1401500b0
mov rax, qword [rsp + 0x68]
add rax, rax
add qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayAccessData
jmp 0x140150376
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayUnlock
jmp 0x140150376
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140150376
cmp r8, qword [r15 + 0x88]
jae case.0x14014debb.13
cmp word [r8], 0xa
jne case.0x14014debb.13
mov rsi, qword [rsp + 0xe8]
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0x21
jmp 0x140150376
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014debb.13
cmp r8, qword [r15 + 0x88]
jb case.0x14014debb.13
cmp dword [r15 + 0xdc], 0
jne case.0x14014debb.13
cmp dword [r15 + 0xe0], 2
jne case.0x14014debb.13
movzx eax, word [r15 + 0xe4]
cmp edx, eax
jne case.0x14014debb.13
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x21
jmp 0x140150376
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x64
jmp 0x140150376
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, di
cmp ax, cx
jne 0x14014fe6f
lea rax, [rdx - 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xc9
jmp 0x140150376
lea rax, [rbx + rdi*2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xca
jmp 0x140150376
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x14014fef1
mov eax, r10d
and eax, edi
cmp eax, esi
jne 0x14014fef1
movzx ecx, word [rdx]
and r10d, 0x3ff
mov eax, r10d
and ecx, 0x3ff
shl eax, 0xa
mov r10d, ecx
or r10d, eax
lea rcx, [rdx + 2]
add r10d, 0x10000
mov qword [r14 + 0x50], rcx
mov r9, qword [r15 + 0x88]
mov rdx, rcx
mov r8, qword [r15 + 0x78]
mov ecx, r10d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r12d
call fcn.14015f190
mov qword [r14 + 0x50], rax
cmp rax, qword [r15 + 0x88]
jb 0x14014ff5a
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14014ff5a
cmp rax, qword [r15 + 0x98]
ja 0x14014ff48
cmp dword [r15 + 0x34], 0
je 0x14014ff5a
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xda
jmp 0x140150376
cmp r8, qword [r15 + 0x88]
jae case.0x14014f18c.13
cmp word [r8], 0xa
jne case.0x14014f18c.13
mov rsi, qword [rsp + 0xe8]
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xdb
jmp 0x140150376
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014f18c.13
cmp r8, qword [r15 + 0x88]
jb case.0x14014f18c.13
cmp dword [r15 + 0xdc], 0
jne case.0x14014f18c.13
cmp dword [r15 + 0xe0], 2
jne case.0x14014f18c.13
movzx eax, word [r15 + 0xe4]
cmp edx, eax
jne case.0x14014f18c.13
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401471e3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdb
jmp 0x140150376
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayGetElemsize
jmp 0x14015036f
add rbx, 2
mov qword [r14 + 8], rbx
mov byte [r14 + 0x48], 9
jmp 0x140150376
add rbx, 2
mov qword [r14 + 8], rbx
nop
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r14 + 8], rbx
cmp word [rbx], 0x78
je 0x140150030
add rbx, 4
mov byte [r14 + 0x48], 0xa
jmp 0x140150376
add rbx, 2
mov dword [r14 + 0x40], 1
mov qword [r14], rbx
mov ecx, 0x89
movzx eax, word [rbx]
cmp ax, cx
je 0x140150095
mov ecx, 0x8e
cmp ax, cx
jne 0x140150087
jmp 0x140150095
mov dword [r14 + 0x40], r9d
mov eax, 0x20000
jmp 0x14015009d
mov dword [r14 + 0x40], r9d
movzx eax, word [rbx + 4]
bts eax, 0x10
mov dword [r14 + 0x38], eax
lea r11, [0x140000000]
mov dword [r14 + 0x3c], r9d
mov qword [r14 + 0x10], rbx
mov rax, qword [r14 + 0x50]
mov rsi, qword [rsp + 0xe8]
mov qword [r14 + 8], rax
mov rcx, qword [r14]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0xd8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], 8
lea rbx, [rcx + rax*2]
jmp 0x140150376
movzx eax, word [rbx + 4]
bts eax, 0x10
jmp 0x1401500fc
mov eax, r11d
bts eax, 0x11
mov dword [r14 + 0x38], eax
lea r11, [0x140000000]
mov eax, dword [r14 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], 2
lea rbx, [rbx + rax*2]
jmp 0x140150376
mov rcx, qword [r15 + 0x70]
movzx eax, word [rbx + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
je 0x14015014e
movzx r9d, word [r10 + 4]
cmp dword [r14 + 0x68], edx
je 0x14015019f
mov rax, qword [r14 + 0x70]
cmp rax, 0xffffffffffffffff
je 0x14015019f
mov r8, qword [rdi + 0x30]
mov edx, r9d
bts edx, 0x12
nop dword [rax]
add rax, r8
mov rcx, rax
sub rcx, rsi
cmp dword [rax + 0x34], edx
je 0x140150191
mov rax, qword [rcx + 0x70]
cmp rax, 0xffffffffffffffff
jne 0x140150170
jmp 0x14015019f
mov rax, qword [rcx + 0x50]
cmp qword [r14 + 0x50], rax
je 0x140150550
bts r9d, 0x12
mov qword [r14 + 8], r10
mov dword [r14 + 0x38], r9d
lea r11, [0x140000000]
mov rcx, qword [r14 + 8]
mov eax, dword [r14 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rcx + rax*2]
jmp 0x140150376
mov eax, r11d
lea r11, [0x140000000]
bts eax, 0x11
mov dword [r14 + 0x38], eax
mov eax, dword [r14 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], 3
lea rbx, [rbx + rax*2]
jmp 0x140150376
mov eax, r11d
lea r11, [0x140000000]
bts eax, 0x11
mov dword [r14 + 0x38], eax
mov eax, dword [r14 + 0x38]
mov rsi, qword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r11 + 0x1e3410]
mov byte [r14 + 0x48], 4
lea rbx, [rbx + rax*2]
jmp 0x140150376
lea rax, [rbx + 4]
mov qword [r15 + 0xb0], rax
mov qword [r14 + 0x60], rax
mov rdx, qword [r14]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x1e3410]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], SafeArrayDestroy
jmp 0x14015036f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1e3410]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rbx + rax*2]
jmp 0x140150376
lea rax, [rbx + 4]
mov qword [r15 + 0xb0], rax
mov qword [r14 + 0x60], rax
mov rdx, qword [r14]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x1e3410]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], 0x24
jmp 0x14015036f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1e3410]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rbx + rax*2]
jmp 0x140150376
lea rax, [rbx + 4]
mov qword [r15 + 0xb0], rax
mov qword [r14 + 0x60], rax
mov rdx, qword [r14]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x1e3410]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x14015036f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1e3410]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayGetDim
lea rbx, [rbx + rax*2]
jmp 0x140150376
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1e3410]
mov byte [r14 + 0x48], SafeArrayAccessData
lea rbx, [rbx + rax*2]
jmp 0x140150376
lea rax, [rbx + 4]
mov qword [r15 + 0xb0], rax
mov qword [r14 + 0x60], rax
mov rdx, qword [r14]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x1e3410]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], SafeArrayAccessData
add rcx, rax
lea rbx, [rdx + rcx*2]
lea r13, [r14 + rsi]
cmp r13, qword [rsp + 0x48]
jb 0x14015042f
mov rbp, qword [rsp + 0xf0]
mov rcx, qword [r15 + 0x18]
mov r8, qword [rbp + 0x38]
lea rdi, [r8 + r8]
cmp rdi, rcx
jbe 0x1401503b9
xor edx, edx
mov rax, rcx
div rsi
mov rdi, rcx
sub rdi, rdx
cmp r8, rdi
jae 0x14015055a
mov rdx, qword [rbp + 0x10]
mov rcx, rdi
call qword [rbp]
mov rsi, rax
test rax, rax
je 0x140150564
mov r8, qword [rsp + 0x40]
mov rcx, rax
mov rdx, qword [rbp + 0x30]
call fcn.1401a6950
mov rcx, qword [rbp + 0x30]
mov rdx, rsi
mov r13, qword [rsp + 0xe8]
sub rdx, rcx
add r14, rdx
mov rdx, qword [rbp + 0x10]
add r13, r14
call qword [rbp + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov qword [rbp + 0x30], rsi
mov rax, rdi
mov qword [rbp + 0x38], rdi
div qword [rsp + 0xe8]
mov rax, rdi
sub rax, rdx
mov qword [rsp + 0x40], rax
add rax, rsi
mov rsi, qword [rsp + 0xe8]
mov qword [rsp + 0x48], rax
lea rdx, [r14 + 0x50]
lea rcx, [r13 + 0x50]
lea r8, [rsi - 0x50]
call fcn.1401a6950
mov eax, dword [r14 + 0x30]
mov r14, r13
mov ebp, dword [rsp + 0xf8]
inc eax
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
mov r8d, dword [rsp + 0xd8]
mov r10d, dword [rsp + 0xd0]
mov dword [r13 + 0x30], eax
jmp 0x140146290
xor eax, eax
jmp 0x14015057d
mov qword [r15 + 0x90], rdx
mov rax, qword [r14 + 0x78]
mov qword [r15 + 0x58], rax
mov rax, qword [r14 + 0x60]
mov qword [r15 + 0xa8], rax
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x1401504ad
mov qword [r15 + 0xa0], rax
mov rax, qword [r14 + 0x58]
lea rdx, [r14 + 0x80]
sub rax, qword [r15 + 0x78]
lea rcx, [rdi + 0x70]
sar rax, 1
mov qword [rdi + 0x60], rax
mov rax, qword [r14 + 0x50]
sub rax, qword [r15 + 0x78]
sar rax, 1
mov qword [rdi + 0x68], rax
movzx ebx, word [rdi + 0x5a]
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.1401a6950
mov rax, qword [r14 + 0x78]
mov ecx, 0xffffffff
add ebx, ecx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x14015053f
nop dword [rax]
nop word [rax + rax]
add ebx, ecx
mov qword [rdi + rdx*8 + 0x60], 0xffffffffffffffff
mov rcx, qword [r14 + 0x78]
add rcx, 2
mov edx, ebx
cmp rdx, rcx
mov ecx, 0xffffffff
jae 0x140150520
mov eax, 1
jmp 0x14015057d
mov eax, ebx
jmp 0x14015057d
mov eax, 0xffffffcc
jmp 0x14015057d
mov eax, 0xffffffc1
jmp 0x14015057d
mov eax, 0xffffffd0
jmp 0x14015057d
mov eax, 0xffffffd4
jmp 0x14015057d
mov eax, 0xffffffd1
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret