Function at 0x14014f780
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 0x14014f88a
mov rax, r14
sub rax, qword [rdi + 0x30]
mov qword [r14 + 0x70], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x14014f882
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 0x140159b38
mov eax, dword [r15 + 0x24]
cmp dword [r14 + 0x30], eax
jb 0x14014f90b
mov eax, 0xffffffcb
jmp 0x140159b3d
mov rdi, qword [rsp + 0xf0]
jmp 0x14014f90b
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
jmp 0x14014f920
mov rdi, qword [rsp + 0xf0]
jmp 0x14014f912
mov rsi, qword [rsp + 0xe8]
jmp 0x14014f912
mov r10d, dword [rsp + 0xd0]
jmp 0x14014f912
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f920
mov edx, 0xffffffff
lea r8, [0x140000000]
jmp 0x14014f920
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.0x14015747b.15
movzx eax, byte [r8 + r11 + 0x159cb0]
mov ecx, dword [r8 + rax*4 + 0x159b54]
add rcx, r8
jmp rcx
cmp dword [r14 + 0x68], edx
jne 0x14014f9d7
movzx r8d, word [rbx + 2]
mov rcx, qword [r14 + 0x70]
cmp rcx, 0xffffffffffffffff
je case.0x14015747b.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 0x14014f98b
mov rcx, qword [rcx + 0x70]
jmp 0x14014f961
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 0x14014f9d2
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 + 0x1ee490]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
jmp 0x14014f920
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x14014fa06
mov qword [r15 + 0xa0], rax
mov qword [rsp + 0x30], r14
mov ebx, 0xfffffc19
jmp 0x140152477
cmp dword [r14 + 0x68], edx
je 0x14014fa71
mov rcx, qword [r14 + 0x70]
nop
cmp rcx, 0xffffffffffffffff
je case.0x14015747b.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 0x14014fa4d
mov rcx, qword [rcx + 0x70]
jmp 0x14014fa20
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 0x14014f920
mov r8, qword [r14 + 0x58]
mov rdx, qword [r14 + 0x50]
cmp rdx, r8
jne 0x14014faa7
mov eax, dword [r15 + 0xcc]
test al, 4
jne case.0x14014f94c.82
test al, 8
je 0x14014faa7
mov rcx, qword [r15 + 0x50]
mov rax, qword [r15 + 0x78]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x14014faa7
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
cmp rdx, qword [r15 + 0x88]
jae 0x140159a3b
mov eax, dword [r15 + 0xd0]
or eax, dword [r15 + 0xcc]
bt eax, 0x1d
jae 0x140159a3b
test r11b, r11b
jne 0x140159a34
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov edx, dword [r15 + 0xdc]
mov rcx, qword [r14 + 0x50]
test edx, edx
je 0x14014fbb8
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x14014fb12
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.140168980
test eax, eax
jne case.0x14014f94c.82
lea r8, [0x140000000]
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014f94c.12
mov rax, qword [r15 + 0x88]
mov rcx, qword [r14 + 0x50]
sub rax, 2
cmp rcx, rax
jne case.0x14014f94c.12
cmp dword [r15 + 0xdc], 0
jne case.0x14014f94c.12
cmp dword [r15 + 0xe0], 2
jne case.0x14014f94c.12
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne case.0x14014f94c.12
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401507a3
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jb 0x14014fc08
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp rcx, qword [r15 + 0x98]
ja 0x14014fb9d
cmp dword [r15 + 0x34], 0
je case.0x14014f94c.82
cmp ax, 1
mov dword [r15 + 0x2c], 1
ja 0x1401507a3
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rcx, rax
ja 0x14014fb19
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14014fb19
cmp edx, 1
je case.0x14014f94c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
jne 0x14014fb19
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
add rcx, 2
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x14014fc3b
cmp rcx, qword [r15 + 0x88]
jae 0x14014fc3b
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14014fc3b
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f912
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x14014fc99
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014f94c.82
cmp rax, qword [r15 + 0x98]
ja 0x14014fc7e
cmp dword [r15 + 0x34], 0
je case.0x14014f94c.82
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
add rax, 2
mov qword [r14 + 0x50], rax
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x14014f920
test r12d, r12d
je 0x14014fd53
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 0x14014fce7
mov eax, 2
mov qword [r14 + 0x18], rax
mov edx, eax
jmp 0x14014fcec
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 0x14014fd20
cmp rcx, r8
jb case.0x14014f94c.82
jmp 0x14014fb7b
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.0x14014f94c.82
sub qword [r14 + 0x18], 1
jne 0x14014fd20
jmp 0x14014f90b
mov r8, qword [r14 + 0x50]
mov rax, qword [r15 + 0x88]
sub rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 2
jge 0x14014fd85
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp r8, qword [r15 + 0x98]
jmp 0x14014fb90
movzx edx, word [rbx + 2]
lea rax, [r8 + 2]
movzx ecx, word [r8]
mov qword [r14 + 0x50], rax
cmp dx, cx
jne case.0x14014f94c.82
lea rax, [rbx + 4]
jmp 0x14014f908
mov r11, qword [r14 + 0x50]
cmp r11, qword [r15 + 0x88]
jb 0x14014fdce
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp r11, qword [r15 + 0x98]
jmp 0x14014fb90
test r12d, r12d
je 0x14014ff38
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 0x14014fe38
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 0x14014fe88
mov rcx, qword [r15 + 0x38]
mov eax, 0xff
cmp edx, eax
ja 0x14014fe57
movzx edx, byte [rdx + rcx]
movzx ecx, byte [r8 + rcx]
cmp ecx, edx
je 0x14014fe6c
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x14015247f
mov r10d, dword [rsp + 0xd0]
lea rax, [rbx + 2]
mov qword [r14], rax
lea rax, [r11 + 2]
mov qword [r14 + 0x50], rax
jmp 0x14014f90b
mov eax, edx
lea r9, [r11 + 2]
and eax, ecx
mov qword [r14 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x14014fec4
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 0x14014f8fa
lea r11, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov ecx, dword [r11 + rcx*4 + 0x1f0bc4]
add ecx, r8d
cmp edx, ecx
mov edx, 0xffffffff
je 0x14014f8ff
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
test r10d, r10d
je 0x14014ffe2
movzx edx, word [rbx + 2]
mov ecx, 0x80
movzx r9d, word [r11]
cmp edx, ecx
jae 0x14014ff7e
mov rcx, qword [r15 + 0x38]
mov eax, 0xff
cmp r9d, eax
ja 0x14014ff65
movzx r9d, byte [r9 + rcx]
movzx ecx, byte [rdx + rcx]
cmp ecx, r9d
je 0x14015002f
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x14015247f
cmp r9d, edx
je 0x14015002f
mov r8d, edx
mov eax, edx
and r8d, 0x7f
test edx, edx
jns 0x14014ff9a
lea eax, [rdx + 0x7f]
sub r8d, ecx
sar eax, 7
lea rcx, [0x140000000]
cdqe
movzx eax, word [rcx + rax*2 + 0x1f4dd0]
shl eax, 7
add eax, r8d
lea r8, [0x140000000]
cdqe
movzx eax, word [r8 + rax*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov ecx, dword [r8 + rcx*4 + 0x1f0bc4]
add ecx, edx
cmp r9d, ecx
je 0x14015002f
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
movzx eax, word [rbx + 2]
mov r9d, 0xff
cmp ax, r9w
ja 0x14014ffff
mov ecx, eax
mov rax, qword [r15 + 0x38]
movzx r8d, byte [rax + rcx]
jmp 0x140150002
mov r8d, eax
movzx eax, word [r11]
cmp ax, r9w
ja 0x140150018
mov ecx, eax
mov rax, qword [r15 + 0x38]
movzx edx, byte [rax + rcx]
jmp 0x14015001a
mov edx, eax
cmp r8d, edx
je 0x140150028
xor ebp, ebp
mov ebx, ebp
jmp 0x14015247f
lea r8, [0x140000000]
lea rax, [r11 + 2]
xor r9d, r9d
mov qword [r14 + 0x50], rax
lea rax, [rbx + 4]
mov qword [r14], rax
jmp 0x14014f912
mov r9, qword [r14 + 0x50]
cmp r9, qword [r15 + 0x88]
jb 0x14015006d
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp r9, qword [r15 + 0x98]
jmp 0x14014fb90
lea rax, [rbx + 2]
test r12d, r12d
je 0x140150179
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 0x1401500c4
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 0x1401500ff
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.0x14014f94c.82
mov r9d, 0
cmp r11b, 0x20
jne 0x14014f90b
lea r11, [0x140000000]
cmp edx, 0x7f
jbe 0x140150154
mov eax, edx
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1f0bc4]
jmp 0x14015015c
mov rax, qword [r15 + 0x40]
movzx edx, byte [rax + rdx]
cmp edx, r8d
mov edx, 0xffffffff
jne 0x14014f8ff
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
lea rdx, [r9 + 2]
test r10d, r10d
je 0x14015022b
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.0x14014f94c.82
mov r9d, 0
cmp r11b, 0x20
jne 0x14014f8e3
cmp edx, 0x7f
jbe 0x14015020c
mov r8d, edx
mov eax, edx
and r8d, 0x7f
test edx, edx
jns 0x1401501ca
lea eax, [rdx + 0x7f]
add r8d, 0xffffff80
sar eax, 7
lea r11, [0x140000000]
cdqe
movzx eax, word [r11 + rax*2 + 0x1f4dd0]
shl eax, 7
add eax, r8d
cdqe
movzx eax, word [r11 + rax*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1f0bc4]
cmp edx, r10d
mov r10d, dword [rsp + 0xd0]
jmp 0x14015015f
mov rax, qword [r15 + 0x40]
lea r11, [0x140000000]
movzx edx, byte [rax + rdx]
cmp edx, r10d
mov r10d, dword [rsp + 0xd0]
jmp 0x14015015f
movzx ecx, word [rax]
movzx r8d, word [r9]
mov qword [r14 + 0x50], rdx
cmp ecx, r8d
je 0x140150268
cmp r11b, 0x20
jne 0x140150259
mov r9d, 0xff
cmp ecx, r9d
ja 0x140150259
mov rax, qword [r15 + 0x40]
movzx ecx, byte [rax + rcx]
cmp ecx, r8d
je 0x14015026e
lea rax, [rbx + 4]
xor r9d, r9d
mov qword [r14], rax
jmp 0x14014f90b
mov r9d, 0xff
xor ebp, ebp
mov ebx, ebp
jmp 0x14015247f
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 0x1401503c0
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 0x1401503c0
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 0x1401503b9
mov ebp, r9d
mov dword [rsp + 0xf8], r9d
jmp 0x1401502a4
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 0x1401503c0
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 0x1401503c0
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 0x1401503c0
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 + 0x1edbc0]
mov ebp, dword [rcx + r11 + 0x1edc20]
mov dword [r14 + 0x38], eax
mov eax, dword [rcx + r11 + 0x1edbf0]
mov dword [r14 + 0x3c], eax
mov dword [rsp + 0xf8], ebp
test r12d, r12d
je 0x140150675
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 0x14015041b
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 0x140150430
lea rax, [rbx + 2]
mov r8d, edx
mov qword [r14], rax
cmp qword [r14 + 0x18], 1
jbe 0x14015066f
cmp byte [r14 + 0x49], 0x2e
jb 0x14015047c
mov eax, r8d
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov ecx, dword [r11 + rcx*4 + 0x1f0bc4]
add ecx, r8d
cmp ecx, r8d
je 0x14015047c
lea rdx, [r14 + 0x4a]
call fcn.140168b40
mov eax, eax
jmp 0x14015047f
mov rax, r9
mov qword [r14 + 0x28], rax
mov ebp, 1
mov eax, dword [r14 + 0x38]
cmp eax, ebp
jb 0x140150514
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 0x1401504cd
mov rdx, qword [r14 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
je 0x140150503
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1401505d8
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401505d8
lea rdx, [r14 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
jne 0x1401505d8
add rbx, rdi
inc ebp
mov qword [r14 + 0x50], rbx
mov eax, dword [r14 + 0x38]
cmp ebp, eax
jbe 0x1401504a0
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 0x14014f920
cmp ebp, r9d
je 0x14015944c
mov rbx, qword [r14 + 0x50]
mov qword [r14 + 8], rbx
mov ebp, dword [r14 + 0x38]
cmp ebp, ecx
jae 0x14015062c
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 0x14015059d
mov rdx, qword [r14 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
je 0x1401505c7
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1401505fb
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401505fb
lea rdx, [r14 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
jne 0x1401505fb
add rbx, rdi
inc ebp
mov qword [r14 + 0x50], rbx
cmp ebp, dword [r14 + 0x3c]
jb 0x140150570
jmp 0x14015062c
cmp rbx, rsi
jb case.0x14014f94c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp rbx, qword [r15 + 0x98]
jmp 0x14014fb90
cmp rbx, rsi
jb 0x14015062c
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14015062c
cmp rbx, qword [r15 + 0x98]
ja 0x14015061a
cmp dword [r15 + 0x34], 0
je 0x14015062c
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
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 0x14014f920
mov rcx, qword [r14 + 0x50]
jmp 0x140157b0a
mov dword [r14 + 0x40], edx
jmp 0x140150683
movzx edx, word [rbx]
lea rax, [rbx + 2]
mov dword [r14 + 0x40], edx
mov qword [r14], rax
cmp byte [r14 + 0x49], 0x2e
jb 0x1401507ef
test r12d, r12d
jne 0x140150698
test r10d, r10d
je 0x1401506cd
cmp edx, 0x7f
jbe 0x1401506cd
mov eax, edx
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
add edx, dword [r11 + rcx*4 + 0x1f0bc4]
jmp 0x1401506de
mov eax, 0xff
cmp edx, eax
ja 0x1401506de
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 0x14015071f
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015076f
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x140150710
cmp dword [r14 + 0x44], ecx
jne case.0x140153ba1.8193
add rax, 2
inc edx
mov qword [r14 + 0x50], rax
cmp edx, r8d
jbe 0x1401506f4
mov edx, dword [r14 + 0x3c]
cmp r8d, edx
je 0x14014f90b
test ebp, ebp
je 0x14015714f
mov rax, qword [r14 + 0x50]
mov qword [r14 + 8], rax
cmp r8d, edx
jae 0x1401507d5
cmp rax, qword [r15 + 0x88]
jae 0x1401507ad
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x14015075d
cmp dword [r14 + 0x44], ecx
jne 0x1401507d5
add rax, 2
inc r8d
mov qword [r14 + 0x50], rax
cmp r8d, edx
jb 0x140150745
jmp 0x1401507d5
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x140153ba1.8193
cmp rax, qword [r15 + 0x98]
ja 0x140150791
cmp dword [r15 + 0x34], 0
je case.0x140153ba1.8193
mov dword [r15 + 0x2c], 1
cmp cx, 1
jbe case.0x140153ba1.8193
mov eax, 0xfffffffe
jmp 0x140159b3d
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x1401507d5
cmp rax, qword [r15 + 0x98]
ja 0x1401507c7
cmp dword [r15 + 0x34], 0
je 0x1401507d5
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x14014f920
jmp 0x140157178
mov r9d, dword [r14 + 0x38]
mov r8d, 1
cmp r9d, r8d
jb 0x140150828
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
jne case.0x140153ba1.8193
inc r8d
cmp r8d, r9d
jbe 0x140150802
mov edx, dword [r14 + 0x3c]
lea r8, [0x140000000]
cmp r9d, edx
je 0x14014fc47
test ebp, ebp
je 0x1401571de
mov rcx, qword [r14 + 0x50]
mov qword [r14 + 8], rcx
cmp r9d, edx
jae 0x1401508ec
cmp rcx, qword [r15 + 0x88]
jae 0x1401508c0
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
jne 0x1401508ec
add rcx, 2
inc r9d
mov qword [r14 + 0x50], rcx
cmp r9d, edx
jb 0x140150855
jmp 0x1401508ec
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x140153ba1.8193
cmp rdx, qword [r15 + 0x98]
ja 0x14015089f
cmp dword [r15 + 0x34], 0
je case.0x140153ba1.8193
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x1401508ec
cmp rcx, qword [r15 + 0x98]
ja 0x1401508da
cmp dword [r15 + 0x34], 0
je 0x1401508ec
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
lea r8, [0x140000000]
mov r9d, 0
mov edx, 0xffffffff
cmp ebp, 2
je 0x14014f920
jmp 0x140157207
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 0x140150a69
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 0x140150a62
mov dword [r14 + 0x38], r9d
mov ebp, r9d
movzx eax, word [rbx + 2]
mov dword [r14 + 0x3c], eax
mov dword [rsp + 0xf8], r9d
jmp 0x140150918
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 0x140150a69
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 0x140150a69
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 0x140150a69
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 0x140150918
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 + 0x1edbc0]
mov ebp, dword [rcx + r11 + 0x1edc20]
mov dword [r14 + 0x38], eax
mov eax, dword [rcx + r11 + 0x1edbf0]
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 0x140150ab8
mov eax, edx
and eax, ebx
cmp eax, 0xd800
jne 0x140150ab8
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 0x140150dfb
test r12d, r12d
jne 0x140150acd
test r10d, r10d
je 0x140150b0b
cmp r8d, 0x7f
jbe 0x140150b0b
mov eax, r8d
mov r9d, 0xff
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
add r8d, dword [r11 + rcx*4 + 0x1f0bc4]
jmp 0x140150b22
mov r9d, 0xff
cmp r8d, r9d
ja 0x140150b22
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 0x140150cab
mov r8d, 1
cmp r10d, r8d
jb 0x140150bb2
mov rdx, qword [r14 + 0x50]
mov r9d, 0xd800
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x140150c6d
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, ebx
cmp eax, r9d
jne 0x140150b92
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 0x140150c99
cmp dword [r14 + 0x44], ecx
je 0x140150c99
mov ecx, dword [r14 + 0x38]
inc r8d
cmp r8d, ecx
jbe 0x140150b50
mov r9d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ecx, r9d
je 0x14014f8ed
test ebp, ebp
je 0x1401591dc
mov r8, qword [r14 + 0x50]
mov qword [r14 + 8], r8
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x140150d7c
cmp r10d, eax
jae 0x140150d50
mov r11d, 0xd800
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140150d24
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, ebx
cmp eax, r11d
jne 0x140150c44
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 0x140150d50
cmp dword [r14 + 0x44], edx
je 0x140150d50
inc r10d
lea r8, [r8 + rcx*2]
mov qword [r14 + 0x50], r8
cmp r10d, r9d
jb 0x140150c00
jmp 0x140150d50
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140150c99
cmp rdx, qword [r15 + 0x98]
ja 0x140150c87
cmp dword [r15 + 0x34], 0
je 0x140150c99
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
xor ebp, ebp
mov esi, r9d
mov ebx, ebp
mov r9d, 0xff
jmp 0x14015248b
mov edx, 1
cmp r10d, edx
jb 0x140150bb2
mov rax, qword [r14 + 0x50]
nop dword [rax]
cmp rax, qword [r15 + 0x88]
jae 0x140150cef
movzx ecx, word [rax]
cmp dword [r14 + 0x40], ecx
je 0x140150d1b
cmp dword [r14 + 0x44], ecx
je 0x140150d1b
add rax, 2
inc edx
mov qword [r14 + 0x50], rax
mov ecx, dword [r14 + 0x38]
cmp edx, ecx
jbe 0x140150cc0
jmp 0x140150bb2
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140150d1b
cmp rax, qword [r15 + 0x98]
ja 0x140150d09
cmp dword [r15 + 0x34], 0
je 0x140150d1b
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
xor ebp, ebp
mov ebx, ebp
jmp 0x140152486
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140150d50
cmp r8, qword [r15 + 0x98]
ja 0x140150d3e
cmp dword [r15 + 0x34], 0
je 0x140150d50
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x14014f920
mov rcx, qword [r14 + 0x50]
jmp 0x140157bec
cmp r10d, eax
jae 0x140150dd8
cmp r8, qword [r15 + 0x88]
jae 0x140150dac
movzx eax, word [r8]
cmp dword [r14 + 0x40], eax
je 0x140150dd8
cmp dword [r14 + 0x44], eax
je 0x140150dd8
add r8, 2
inc r10d
mov qword [r14 + 0x50], r8
cmp r10d, r9d
jb 0x140150d81
jmp 0x140150dd8
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140150dd8
cmp r8, qword [r15 + 0x98]
ja 0x140150dc6
cmp dword [r15 + 0x34], 0
je 0x140150dd8
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
cmp ebp, 2
je 0x14014f920
jmp 0x1401572a0
mov r10d, dword [r14 + 0x38]
mov eax, r10d
mov r8d, 1
test r12d, r12d
je 0x140150e7a
cmp r10d, r8d
jb 0x140150eb1
mov rdx, qword [r14 + 0x50]
mov r9d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x140150c6d
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, ebx
cmp eax, r9d
jne 0x140150e62
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 0x140150c99
mov eax, dword [r14 + 0x38]
inc r8d
cmp r8d, eax
jbe 0x140150e20
jmp 0x140150eb1
cmp r10d, r8d
jb 0x140150eb1
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp dword [r14 + 0x40], ecx
je case.0x140153ba1.8193
mov eax, dword [r14 + 0x38]
inc r8d
cmp r8d, eax
jbe 0x140150e83
mov r9d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp eax, r9d
je 0x14014f8ed
test ebp, ebp
je 0x1401591fa
mov rdx, qword [r14 + 0x50]
mov qword [r14 + 8], rdx
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x140150fa7
cmp r10d, eax
jae 0x140150f7f
mov r11d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x140150f53
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, ebx
cmp eax, r11d
jne 0x140150f3b
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 0x140150f7f
inc r10d
lea rdx, [rdx + rcx*2]
mov qword [r14 + 0x50], rdx
cmp r10d, r9d
jb 0x140150ef6
jmp 0x140150f7f
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140150f7f
cmp rdx, qword [r15 + 0x98]
ja 0x140150f6d
cmp dword [r15 + 0x34], 0
je 0x140150f7f
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x14014f920
jmp 0x140157cc4
cmp r10d, eax
jae 0x140151000
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x140150fd4
movzx eax, word [rdx]
cmp dword [r14 + 0x40], eax
je 0x140151000
add rdx, 2
inc r10d
mov qword [r14 + 0x50], rdx
cmp r10d, r9d
jb 0x140150fb0
jmp 0x140151000
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140151000
cmp rdx, qword [r15 + 0x98]
ja 0x140150fee
cmp dword [r15 + 0x34], 0
je 0x140151000
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
lea r8, [0x140000000]
mov edx, 0xffffffff
cmp ebp, 2
je 0x14014f920
jmp 0x14015732f
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.0x14015105a
cdqe
mov ecx, dword [r11 + rax*4 + 0x159d58]
add rcx, r11
jmp rcx
lea rax, [rbx + 2]
mov qword [r14], rax
lea eax, [rdx - 0x62]
mov edi, dword [r11 + rax*4 + 0x1edbc0]
mov ecx, eax
mov eax, dword [r11 + rax*4 + 0x1edbf0]
mov dword [r14 + 0x38], edi
mov dword [r14 + 0x3c], eax
mov ebp, dword [r11 + rcx*4 + 0x1edc20]
mov dword [rsp + 0xf8], ebp
jmp 0x1401510df
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 + 0x1eda98]
lea rax, [rbx + 6]
mov qword [r14], rax
mov dword [rsp + 0xf8], ebp
jmp 0x1401510df
mov dword [r14 + 0x3c], 1
mov edi, 1
mov dword [r14 + 0x38], 1
mov r10d, 1
mov eax, edi
test r12d, r12d
je 0x140151282
cmp edi, r10d
jb 0x1401511a9
mov r9, qword [r14 + 0x50]
nop dword [rax]
cmp r9, qword [r15 + 0x88]
jae 0x140151268
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 0x140151158
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 0x140151175
cmp byte [r14 + 0x49], 0x6e
jne 0x140151199
xor ebp, ebp
mov r9d, eax
mov ebx, ebp
jmp 0x140152486
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.0x140153ba1.8193
mov eax, dword [r14 + 0x38]
inc r10d
cmp r10d, eax
jbe 0x140151100
mov ebx, 0xff
mov r11d, dword [r14 + 0x3c]
lea r8, [0x140000000]
mov r10d, dword [rsp + 0xd0]
mov r9d, 0
cmp eax, r11d
je 0x14014f8cf
test ebp, ebp
je 0x140159218
mov r9, qword [r14 + 0x50]
mov qword [r14 + 8], r9
mov eax, dword [r14 + 0x3c]
test r12d, r12d
je 0x14015136c
cmp edi, eax
jae 0x14015134b
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x14015131f
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151255
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 0x1401512ea
cmp byte [r14 + 0x49], 0x6e
jmp 0x140151308
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x140153ba1.8193
cmp r9, qword [r15 + 0x98]
jmp 0x140150892
cmp edi, r10d
jb 0x1401511a9
mov r9, qword [r14 + 0x50]
mov ebx, 0xff
cmp r9, qword [r15 + 0x88]
jae 0x140151268
movzx r8d, word [r9]
add r9, 2
mov qword [r14 + 0x50], r9
cmp r8d, ebx
jbe 0x1401512b5
cmp byte [r14 + 0x49], 0x6e
jmp 0x1401512d3
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.0x140153ba1.8193
mov eax, dword [r14 + 0x38]
inc r10d
cmp r10d, eax
jbe 0x140151294
jmp 0x1401511ae
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 0x14015134b
inc edi
lea r9, [r9 + r10*2]
mov qword [r14 + 0x50], r9
cmp edi, r11d
jb 0x140151200
jmp 0x14015134b
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14015134b
cmp r9, qword [r15 + 0x98]
ja 0x140151339
cmp dword [r15 + 0x34], 0
je 0x14015134b
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
cmp ebp, 2
jne 0x14015942f
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
jmp 0x14014f90b
cmp edi, eax
jae 0x1401513e6
cmp r9, qword [r15 + 0x88]
jae 0x1401513ba
movzx r8d, word [r9]
cmp r8d, ebx
jbe 0x140151389
cmp byte [r14 + 0x49], 0x6e
jmp 0x1401513a7
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 0x1401513e6
add r9, 2
inc edi
mov qword [r14 + 0x50], r9
cmp edi, r11d
jb 0x140151370
jmp 0x1401513e6
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x1401513e6
cmp r9, qword [r15 + 0x98]
ja 0x1401513d4
cmp dword [r15 + 0x34], 0
je 0x1401513e6
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
cmp ebp, 2
jne 0x1401570b7
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
jmp 0x14014f90b
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.0x140151436
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x159d88]
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 + 0x1edbc0]
mov edx, dword [r11 + rax*4 + 0x1edbf0]
mov ebp, dword [r11 + rax*4 + 0x1edc20]
mov dword [r14 + 0x38], ecx
mov dword [rsi], edx
jmp 0x1401514a4
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 0x140151491
mov eax, 0xffffffff
mov dword [rsi], eax
mov edx, eax
movzx eax, word [r8]
mov ebp, dword [r11 + rax*4 + 0x1eda98]
lea rax, [r8 + 6]
mov qword [r14], rax
mov dword [rsp + 0xf8], ebp
mov rdi, rsi
cmp ecx, 1
jb 0x14015154b
jmp 0x1401514ce
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 0x14015166c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x14015152b
mov r8d, 0xfc00
mov eax, ecx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x14015152b
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.1401690d0
test eax, eax
je case.0x14014f94c.82
mov ecx, dword [r14 + 0x38]
inc ebx
cmp ebx, ecx
jbe 0x1401514d3
mov edx, dword [rdi]
mov rdi, qword [rsp + 0xf0]
mov r9d, 0
mov r10d, dword [rsp + 0xd0]
lea r8, [0x140000000]
cmp ecx, edx
je 0x14014f8d9
test ebp, ebp
je 0x1401593fe
mov rcx, qword [r14 + 0x50]
mov qword [r14 + 8], rcx
mov edi, dword [r14 + 0x38]
cmp edi, edx
jae 0x140151636
nop dword [rax]
cmp rcx, qword [r15 + 0x88]
jae 0x14015160a
movzx r9d, word [rcx]
mov ebx, 1
test r12d, r12d
je 0x1401515e3
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401515e3
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.1401690d0
test eax, eax
je 0x140151636
lea rax, [rbx + rbx]
inc edi
add qword [r14 + 0x50], rax
mov rcx, qword [r14 + 0x50]
cmp edi, dword [rsi]
jb 0x140151590
jmp 0x140151636
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140151636
cmp rcx, qword [r15 + 0x98]
ja 0x140151624
cmp dword [r15 + 0x34], 0
je 0x140151636
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
cmp ebp, 2
jne 0x1401578f8
mov rsi, qword [rsp + 0xe8]
xor r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0xd0]
jmp 0x14014f90b
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x140151697
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14014f94c.82
cmp rax, qword [r15 + 0x98]
ja 0x14015168e
cmp dword [r15 + 0x34], 0
je case.0x14014f94c.82
cmp cx, 1
jmp 0x14014fba1
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401516e0
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401516e0
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.0x140151b4a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x140151b4a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x14015175c
mov r11d, 0xfc00
mov eax, ecx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x14015175c
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.0x14014f94c.82
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x14014f94c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x14014f912
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401517dd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401517dd
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.0x140151b4a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x140151b4a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151857
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151857
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.0x14014f94c.82
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14014f94c.82
lea rax, [rbx + 2]
jmp 0x14014f908
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x1401518d5
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401518d5
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.0x140151b4a.8194
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x140151b4a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x140151949
mov r11d, 0xfc00
mov eax, ecx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x140151949
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.0x14014f94c.82
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x14014f94c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x14014f912
mov r8, qword [r14 + 0x50]
cmp r8, qword [r15 + 0x88]
jae 0x14014fd6b
movzx edx, word [r8]
add r8, 2
mov qword [r14 + 0x50], r8
mov rcx, r8
test r12d, r12d
je 0x1401519d2
mov r11d, 0xfc00
mov eax, edx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x1401519d2
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 0x140151a38
je 0x1401519e3
sub edx, 0xa
je 0x140151a5d
sub edx, 1
jmp 0x140151a46
cmp rcx, qword [r15 + 0x88]
jb 0x140151a21
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140151a5d
cmp rcx, qword [r15 + 0x98]
ja 0x140151a06
cmp dword [r15 + 0x34], 0
je 0x140151a5d
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
add qword [r14], 2
jmp 0x14014f90b
cmp word [rcx], 0xa
jne 0x140151a5d
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
add qword [r14], 2
jmp 0x14014f90b
sub edx, 0x85
je 0x140151a51
sub edx, 0x1fa3
je 0x140151a51
cmp edx, 1
jne case.0x14014f94c.82
cmp word [r15 + 0x62], 2
je case.0x14014f94c.82
add qword [r14], 2
jmp 0x14014f90b
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151ac0
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151ac0
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 0x140151b11
je case.default.0x140151c32
cmp edx, 9
je case.default.0x140151c32
cmp edx, 0x20
je case.default.0x140151c32
mov eax, 0xa0
cmp edx, eax
je case.default.0x140151c32
mov eax, 0x1680
cmp edx, eax
je case.default.0x140151c32
mov eax, 0x180e
cmp edx, eax
jne case.0x140151b4a.8194
lea r11, [0x140000000]
xor ebp, ebp
mov esi, 0xd800
mov ebx, ebp
mov r9d, 0xff
jmp 0x140152491
mov eax, 0x3000
cmp edx, eax
ja case.0x140151b4a.8194
je case.default.0x140151c32
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140151b4a.8194
lea r11, [0x140000000]
movzx eax, byte [r11 + rdx + 0x159dc0]
mov ecx, dword [r11 + rax*4 + 0x159db8]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151ba6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151ba6
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 0x140151bf5
je case.0x140151b4a.8194
cmp edx, 9
je case.0x140151b4a.8194
cmp edx, 0x20
je case.0x140151b4a.8194
mov eax, 0xa0
cmp edx, eax
je case.0x140151b4a.8194
mov eax, 0x1680
cmp edx, eax
je case.0x140151b4a.8194
mov eax, 0x180e
cmp edx, eax
je case.0x140151b4a.8194
jmp case.default.0x140151c32
mov eax, 0x3000
cmp edx, eax
ja case.default.0x140151c32
je case.0x140151b4a.8194
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x140151c32
lea r11, [0x140000000]
movzx eax, byte [r11 + rdx + 0x159e28]
mov ecx, dword [r11 + rax*4 + 0x159e20]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151c8e
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151c8e
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 0x140151cb3
je case.0x14014f94c.82
sub edx, 0xa
je case.0x14014f94c.82
sub edx, 1
je case.0x14014f94c.82
cmp edx, 1
jmp 0x14015186c
sub edx, 0x85
je case.0x14014f94c.82
sub edx, 0x1fa3
je case.0x14014f94c.82
cmp edx, 1
jne case.0x140151b4a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151d37
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151d37
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 0x140151d50
je case.0x140151b4a.8194
sub edx, 0xa
je case.0x140151b4a.8194
sub edx, 1
jmp 0x140151d62
sub edx, 0x85
je case.0x140151b4a.8194
sub edx, 0x1fa3
je case.0x140151b4a.8194
cmp edx, 1
je case.0x140151b4a.8194
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015166c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140151dd4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140151dd4
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 + 0x1f4dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
cmp r11b, 0xf
sete r9b
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 2]
lea r8, [r8 + rcx*4]
lea r8, [r8 + 0x1f0bc0]
cmp eax, 0xd
ja case.0x14015747b.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x159e88]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp r11b, 0xf
jne 0x140152159
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
movzx ecx, byte [r8 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x140151e63
cmp cl, 5
je 0x140151e63
xor eax, eax
jmp 0x140151e68
mov eax, 1
cmp eax, r9d
jne 0x140152159
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
movzx edx, byte [r8 + 1]
lea r11, [0x140000000]
movzx eax, word [rbx + 4]
xor ecx, ecx
cmp eax, dword [r11 + rdx*4 + 0x1ee670]
sete cl
cmp ecx, r9d
jne 0x140152159
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
movzx eax, byte [r8 + 1]
xor ecx, ecx
cmp word [rbx + 4], ax
sete cl
cmp ecx, r9d
jne 0x140152159
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
movzx eax, byte [r8]
jmp 0x140151eb4
movzx ecx, word [rbx + 4]
lea r11, [0x140000000]
movzx eax, byte [r8]
cmp cx, ax
je 0x140151f12
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 + 0x1f08c0]
bt eax, ecx
jb 0x140151f12
xor eax, eax
jmp 0x140151f17
mov eax, 1
cmp eax, r9d
jne 0x140152159
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
movzx eax, byte [r8 + 1]
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x1ee670]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r9d
jne 0x140152159
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
mov eax, 0x2000
cmp edx, eax
ja 0x140152011
je case.0x140151e39.0
cmp edx, 0x20
ja 0x140151fe8
je case.0x140151e39.0
sub edx, 9
je case.0x140151e39.0
sub edx, 1
je case.0x140151e39.0
sub edx, 1
je case.0x140151e39.0
sub edx, 1
je case.0x140151e39.0
cmp edx, 1
je case.0x140151e39.0
movzx ecx, byte [r8 + 1]
lea r11, [0x140000000]
xor eax, eax
cmp dword [r11 + rcx*4 + 0x1ee670], 6
sete al
cmp eax, r9d
jne 0x140152159
xor ebp, ebp
mov r9d, 0xff
mov ebx, ebp
jmp 0x140152486
sub edx, 0x85
je case.0x140151e39.0
sub edx, 0x1b
je case.0x140151e39.0
sub edx, 0x15e0
je case.0x140151e39.0
cmp edx, 0x18e
jmp 0x140151fb0
mov eax, 0x3000
cmp edx, eax
ja case.0x140152046.8194
je case.0x140151e39.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140152046.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x159ec8]
mov ecx, dword [rdx + rax*4 + 0x159ec0]
add rcx, rdx
jmp rcx
movzx eax, byte [r8 + 1]
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x1ee670]
dec ecx
test ecx, 0xfffffffd
je 0x140151f12
cmp edx, 0x5f
je 0x140151f12
xor eax, eax
jmp 0x140151f17
movzx eax, word [rbx + 4]
lea r8, [0x140000000]
lea rcx, [r8 + 0x1f05f0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401520a4
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401520b7
mov eax, dword [rcx]
cmp edx, eax
jae 0x140152096
cmp r11b, 0xf
je 0x140152160
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
cmp r11b, 0xf
jne 0x140152160
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401520e6
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x140151e63
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x140151e63
cmp edx, 0xe000
jae 0x140151e63
xor eax, eax
jmp 0x140151e68
movzx eax, word [r8 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [rbx + 4]
jmp 0x140151eba
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 + 0x1f0060]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r9d
je case.0x140153ba1.8193
lea r8, [0x140000000]
add qword [r14], 6
xor r9d, r9d
jmp 0x14014f912
mov rdx, qword [r14 + 0x50]
cmp rdx, qword [r15 + 0x88]
jb 0x140152193
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14014f94c.82
cmp rdx, qword [r15 + 0x98]
jmp 0x14014fb90
movzx r10d, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x1401521e9
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401521e9
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.140168750
mov qword [r14 + 0x50], rax
cmp rax, qword [r15 + 0x88]
jb 0x140152242
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140152242
cmp rax, qword [r15 + 0x98]
ja 0x140152230
cmp dword [r15 + 0x34], 0
je 0x140152242
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f90b
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 0x140152379
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 0x140152372
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 0x140152379
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 0x140152379
mov dword [r14 + 0x38], r9d
mov dword [r14 + 0x3c], 1
jmp 0x1401522b0
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 0x1401522c1
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 + 0x1edbc0]
mov eax, dword [rcx + r11 + 0x1edbf0]
mov ebp, dword [rcx + r11 + 0x1edc20]
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 0x140152398
mov esi, 0xffffffff
jmp 0x1401523b4
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 0x1401531ee
mov edx, dword [r14 + 0x40]
test esi, esi
js 0x140152f4e
xor ebx, ebx
cmp edx, 0xf
mov r11d, ebx
sete r11b
cmp esi, 0xd
ja case.0x14015747b.15
lea r8, [0x140000000]
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x159f28]
add rcx, r8
jmp rcx
cmp edx, 0xf
je 0x140152477
mov rax, qword [r14 + 0x50]
mov r8d, 1
cmp rax, qword [r15 + 0x88]
jae 0x14015244c
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
mov rax, rcx
test r12d, r12d
je 0x14015243f
mov r9d, 0xfc00
and edx, r9d
mov r9d, 0xd800
cmp edx, r9d
jne 0x14015243f
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
inc r8d
cmp r8d, edi
jbe 0x140152407
jmp 0x1401531ee
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140152477
cmp rax, qword [r15 + 0x98]
ja 0x140152465
cmp dword [r15 + 0x34], ebx
je 0x140152477
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
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 0x1401524aa
mov qword [r15 + 0xa0], rax
cmp dword [r14 + 0x30], 0
je 0x140159b09
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.0x14015747b.15
cdqe
movzx eax, byte [r11 + rax + 0x15a058]
mov ecx, dword [r11 + rax*4 + 0x159f60]
add rcx, r11
jmp rcx
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14015255a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015255a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx edx, byte [r8 + rcx*4 + 0x1f0bc1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x14015259c
mov eax, ebx
cmp dl, 8
jne 0x1401525a1
mov eax, 1
cmp eax, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152500
jmp 0x1401531f5
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140152477
cmp r9, qword [r15 + 0x98]
ja 0x1401525dc
cmp dword [r15 + 0x34], ebx
je 0x140152477
mov dword [r15 + 0x2c], 1
cmp ax, 1
jmp 0x140152471
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14015264d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015264d
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + 0x44]
movzx edx, byte [r8 + rcx*4 + 0x1f0bc1]
mov ecx, ebx
cmp dword [r8 + rdx*4 + 0x1ee670], eax
sete cl
cmp ecx, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x1401525f7
jmp 0x1401531f5
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14015271a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015271a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1f0bc1]
mov ecx, ebx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x1401526c0
jmp 0x1401531f5
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x1401527da
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401527da
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1f0bc0]
mov ecx, ebx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152780
jmp 0x1401531f5
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14015289a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015289a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1f0bc0]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + r8]
cmp eax, ecx
je 0x140152901
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 + 0x1f08c0]
bt eax, ecx
mov eax, ebx
jae 0x140152906
mov eax, 1
cmp eax, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152840
jmp 0x1401531f5
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop word [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x14015298a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015298a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1f0bc1]
mov eax, dword [r8 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
mov eax, ebx
sete al
cmp eax, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152930
jmp 0x1401531f5
mov r9d, 1
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015244c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140152a4c
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152a4c
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 0x140152b1e
je 0x140152b59
cmp edx, 0x20
ja 0x140152af9
je 0x140152b59
mov eax, edx
sub eax, 9
je 0x140152b59
sub eax, 1
je 0x140152b59
sub eax, 1
je 0x140152b59
sub eax, 1
je 0x140152b59
cmp eax, 1
je 0x140152b59
lea r8, [0x140000000]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, ebx
movzx edx, byte [r8 + rcx*4 + 0x1f0bc1]
cmp dword [r8 + rdx*4 + 0x1ee670], 6
sete al
cmp eax, r11d
je 0x140152477
inc r9d
cmp r9d, edi
jbe 0x1401529f2
jmp 0x1401531f5
mov eax, edx
sub eax, 0x85
je 0x140152b59
lea r8, [0x140000000]
sub eax, 0x1b
je case.0x140152b57.8193
sub eax, 0x15e0
je case.0x140152b57.8193
cmp eax, 0x18e
je case.0x140152b57.8193
jmp case.0x140152b57.8194
mov eax, 0x3000
cmp edx, eax
ja 0x140152a9d
lea r8, [0x140000000]
je case.0x140152b57.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x140152b57.8194
movzx eax, byte [r8 + rax + 0x15a144]
mov ecx, dword [r8 + rax*4 + 0x15a13c]
add rcx, r8
jmp rcx
lea r8, [0x140000000]
test r11d, r11d
jne 0x140152477
jmp 0x140152ae8
mov r9, qword [r14 + 0x50]
mov r10d, 1
nop dword [rax + rax]
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x140152bda
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152bda
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 + 0x1f4dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x1f0bc1]
mov eax, dword [r8 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
je 0x140152c28
mov eax, ebx
cmp edx, 0x5f
jne 0x140152c2d
mov eax, 1
cmp eax, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152b80
jmp 0x1401531f5
mov r9d, 1
nop dword [rax]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015244c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140152caa
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152caa
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 + 0x1f05f0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x140152cd4
lea rcx, [rcx + 4]
cmp edx, eax
je 0x140152cee
mov eax, dword [rcx]
cmp edx, eax
jae 0x140152cc6
test r11d, r11d
je 0x140152477
inc r9d
cmp r9d, edi
jbe 0x140152c50
jmp 0x1401531f5
test r11d, r11d
jne 0x140152477
jmp 0x140152cdd
mov r9d, 1
nop
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x14015244c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140152d5a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152d5a
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 0x140152d72
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x140152d89
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x140152d89
mov eax, ebx
cmp edx, 0xe000
jb 0x140152d8e
mov eax, 1
cmp eax, r11d
je 0x140152477
inc r9d
cmp r9d, edi
jbe 0x140152d00
jmp 0x1401531ee
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x140152e0c
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152e0c
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, word [r8 + rcx*4 + 0x1f0bc8]
mov ecx, ebx
shr eax, 0xb
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152db2
jmp 0x1401531f5
mov r9, qword [r14 + 0x50]
mov r10d, 1
cmp r9, qword [r15 + 0x88]
jae 0x1401525bb
movzx edx, word [r9]
lea r8, [r9 + 2]
mov qword [r14 + 0x50], r8
mov r9, r8
test r12d, r12d
je 0x140152eca
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140152eca
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
lea rdx, [0x140000000]
movzx eax, word [rdx + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rdx + rcx*4 + 0x1f0bca]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov ecx, r8d
lea r8, [0x140000000]
mov eax, dword [r8 + rdx*4 + 0x1f0060]
bt eax, ecx
mov edx, ebx
setb dl
cmp edx, r11d
je 0x140152477
inc r10d
cmp r10d, edi
jbe 0x140152e70
jmp 0x1401531f5
cmp edx, 0x16
jne 0x140153037
lea ebx, [rdx - 0x15]
mov rdx, qword [r15 + 0x88]
mov rax, qword [r14 + 0x50]
cmp rax, rdx
jae 0x14015166c
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x140152fc4
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x140152fc4
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.140168750
mov qword [r14 + 0x50], rax
mov rdx, qword [r15 + 0x88]
cmp rax, rdx
jb 0x140153020
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140153020
cmp rax, qword [r15 + 0x98]
ja 0x14015300e
cmp dword [r15 + 0x34], 0
je 0x140153020
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
inc ebx
mov r9d, 0
cmp ebx, dword [r14 + 0x38]
jbe 0x140152f61
jmp 0x1401531ee
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x14015747b.15
test r12d, r12d
je 0x140153933
mov ecx, dword [r11 + rdx*4 + 0x15a1a4]
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 0x14014fb7b
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x1401530a6
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.140168980
test eax, eax
jne case.0x14014f94c.82
jmp 0x1401530e1
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401530e1
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x1401530e1
cmp edx, 1
je case.0x14014f94c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je case.0x14014f94c.82
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x14015312f
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x14015312f
cmp dword [r15 + 0xdc], 0
jne 0x14015312f
cmp dword [r15 + 0xe0], 2
jne 0x14015312f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14015312f
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401507a3
mov rdx, qword [r14 + 0x50]
add rdx, 2
mov qword [r14 + 0x50], rdx
mov rcx, rdx
cmp rdx, qword [r15 + 0x88]
jae 0x140153168
movzx eax, word [rdx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x140153168
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
inc edi
cmp edi, dword [r14 + 0x38]
jbe 0x140153070
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x1401531c2
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x1401531c2
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x140153180
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov ecx, edi
imul rax, rcx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rdx, rax
ja case.0x140153ba1.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 0x14014f8bd
test ebp, ebp
je 0x140159236
mov r10, qword [r14 + 0x50]
mov qword [r14 + 8], r10
mov r9d, dword [r14 + 0x40]
test esi, esi
js 0x1401549ad
xor r8d, r8d
cmp r9d, 0xf
mov r11d, r8d
sete r11b
cmp esi, 0xd
ja case.0x14015747b.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x15a1e4]
add rcx, rsi
jmp rcx
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop dword [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140153329
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 0x1401532c2
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 0x1401532f3
je 0x1401532d3
sub edx, 0xa
je 0x140153318
sub edx, 1
jmp 0x140153301
mov rax, r8
cmp r8, qword [r15 + 0x88]
jae 0x1401532ee
cmp word [r8], 0xa
jne 0x1401532ee
lea rax, [r8 + 2]
mov qword [r14 + 0x50], rax
mov r8, rax
jmp 0x140153318
sub edx, 0x85
je 0x14015330c
sub edx, 0x1fa3
je 0x14015330c
cmp edx, 1
jne case.0x140153ba1.8193
cmp word [r15 + 0x62], 2
je case.0x140153ba1.8193
inc r9d
cmp r9d, edi
jbe 0x140153270
jmp 0x1401531ee
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x140153ba1.8193
cmp r8, qword [r15 + 0x98]
jmp 0x140150892
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop dword [rax]
cmp r8, qword [r15 + 0x88]
jae 0x140153329
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 0x14015339e
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 0x1401533f7
je case.0x140153ba1.8193
cmp edx, 9
je case.0x140153ba1.8193
cmp edx, 0x20
je case.0x140153ba1.8193
mov eax, 0xa0
cmp edx, eax
je case.0x140153ba1.8193
mov eax, 0x1680
cmp edx, eax
je case.0x140153ba1.8193
mov eax, 0x180e
cmp edx, eax
je case.0x140153ba1.8193
inc r9d
cmp r9d, edi
jbe 0x140153350
jmp 0x1401531ee
mov eax, 0x3000
cmp edx, eax
ja case.0x140153425.8194
je case.0x140153ba1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140153425.8194
movzx eax, byte [r11 + rdx + 0x15a224]
mov ecx, dword [r11 + rax*4 + 0x15a21c]
add rcx, r11
jmp rcx
mov r9d, 1
mov r8d, 0x2000
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140153503
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 0x140153488
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 0x1401534cf
je case.0x140153501.8193
cmp edx, 9
je case.0x140153501.8193
cmp edx, 0x20
je case.0x140153501.8193
mov eax, 0xa0
cmp edx, eax
je case.0x140153501.8193
mov eax, 0x1680
cmp edx, eax
je case.0x140153501.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x140151b4a.8193
inc r9d
cmp r9d, edi
jbe 0x140153433
jmp 0x1401531ee
mov eax, 0x3000
cmp edx, eax
ja case.0x140151b4a.8193
je case.0x140153501.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140151b4a.8193
movzx eax, byte [r11 + rdx + 0x15a28c]
mov ecx, dword [r11 + rax*4 + 0x15a284]
add rcx, r11
jmp rcx
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x140151b4a.8193
cmp rax, qword [r15 + 0x98]
ja 0x140153525
cmp dword [r15 + 0x34], 0
je case.0x140151b4a.8193
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
jmp case.0x140151b4a.8193
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140153329
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 0x1401535a2
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 0x1401535bb
je case.0x140153ba1.8193
sub edx, 0xa
je case.0x140153ba1.8193
sub edx, 1
jmp 0x1401535cd
sub edx, 0x85
je case.0x140153ba1.8193
sub edx, 0x1fa3
je case.0x140153ba1.8193
cmp edx, 1
je case.0x140153ba1.8193
inc r9d
cmp r9d, edi
jbe 0x140153550
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xfc00
mov r10d, 0xd800
cmp rdx, qword [r15 + 0x88]
jae 0x140153675
movzx ecx, word [rdx]
add rdx, 2
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, r9d
cmp eax, r10d
jne 0x140153642
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 0x140153653
je 0x140153668
sub ecx, 0xa
je 0x140153668
sub ecx, 1
jmp 0x140153661
sub ecx, 0x85
je 0x140153668
sub ecx, 0x1fa3
je 0x140153668
cmp ecx, 1
jne 0x1401536a1
inc r8d
cmp r8d, edi
jbe 0x140153603
jmp 0x1401531ee
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x1401536a1
cmp rdx, qword [r15 + 0x98]
ja 0x14015368f
cmp dword [r15 + 0x34], 0
je 0x1401536a1
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
xor ebp, ebp
mov edi, r9d
mov ebx, ebp
mov esi, r10d
mov r8d, 0x2000
mov r9d, 0xff
jmp case.0x1401524f2.33
mov r8, qword [r14 + 0x50]
mov r9d, 1
nop word [rax + rax]
cmp r8, qword [r15 + 0x88]
jae 0x140153329
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 0x140153722
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 0x140153739
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x140153ba1.8193
inc r9d
cmp r9d, edi
jbe 0x1401536d0
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x140153ba1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x140153ba1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153750
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401537ca
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne case.0x140153ba1.8193
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x1401537ff
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x1401537ff
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x1401537a0
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop word [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x140153ba1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je case.0x140153ba1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153820
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x14015389a
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x140153ba1.8193
lea rcx, [rdx + 2]
mov qword [r14 + 0x50], rcx
mov rdx, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x1401538cf
movzx eax, word [rcx]
mov r9d, 0xfc00
and ax, r9w
mov r9d, 0xdc00
cmp ax, r9w
jne 0x1401538cf
lea rdx, [rcx + 2]
mov qword [r14 + 0x50], rdx
inc r8d
cmp r8d, edi
jbe 0x140153870
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop word [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x140153ba1.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x140153ba1.8193
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x1401538f0
jmp 0x1401531ee
mov ecx, dword [r11 + rdx*4 + 0x15a2ec]
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 0x14014fb7b
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140153986
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.140168980
test eax, eax
jne case.0x14014f94c.82
jmp 0x1401539c1
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401539c1
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x1401539c1
cmp edx, 1
je case.0x14014f94c.82
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je case.0x14014f94c.82
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x140153a0f
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x140153a0f
cmp dword [r15 + 0xdc], 0
jne 0x140153a0f
cmp dword [r15 + 0xe0], 2
jne 0x140153a0f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140153a0f
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401507a3
add qword [r14 + 0x50], 2
inc edi
mov rcx, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x38]
jbe 0x140153950
jmp 0x1401531ee
mov rcx, qword [r14 + 0x50]
mov edx, edi
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r15 + 0x88]
cmp rcx, rax
jbe 0x140153a59
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x140153ba1.8193
cmp rcx, qword [r15 + 0x98]
jmp 0x140150892
lea rax, [rcx + rdx*2]
jmp 0x1401531ea
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x140153ab8
je 0x140153a99
sub ecx, 0xa
je 0x140153add
sub ecx, 1
jmp 0x140153ac6
mov rax, rdx
cmp rdx, qword [r15 + 0x88]
jae 0x140153ab3
cmp word [rdx], 0xa
jne 0x140153ab3
lea rax, [rdx + 2]
mov qword [r14 + 0x50], rax
mov rdx, rax
jmp 0x140153add
sub ecx, 0x85
je 0x140153ad1
sub ecx, 0x1fa3
je 0x140153ad1
cmp ecx, 1
jne case.0x140153ba1.8193
cmp word [r15 + 0x62], 2
je case.0x140153ba1.8193
inc r8d
cmp r8d, edi
jbe 0x140153a70
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx eax, word [rdx]
mov ecx, 0x2000
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ax, cx
ja 0x140153b71
je case.0x140153ba1.8193
cmp eax, 9
je case.0x140153ba1.8193
cmp eax, 0x20
je case.0x140153ba1.8193
mov ecx, 0xa0
cmp ax, cx
je case.0x140153ba1.8193
mov ecx, 0x1680
cmp ax, cx
je case.0x140153ba1.8193
mov ecx, 0x180e
cmp ax, cx
je case.0x140153ba1.8193
inc r8d
cmp r8d, edi
jbe 0x140153b00
jmp 0x1401531ee
mov ecx, 0x3000
cmp ax, cx
ja case.0x140153ba1.8194
je case.0x140153ba1.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x140153ba1.8194
cdqe
movzx eax, byte [r11 + rax + 0x15a334]
mov ecx, dword [r11 + rax*4 + 0x15a32c]
add rcx, r11
jmp rcx
mov edx, 1
mov r8d, 0x2000
nop
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x140153503
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp cx, r8w
ja 0x140153c0b
je case.0x140153c41.8193
cmp ecx, 9
je case.0x140153c41.8193
cmp ecx, 0x20
je case.0x140153c41.8193
mov eax, 0xa0
cmp cx, ax
je case.0x140153c41.8193
mov eax, 0x1680
cmp cx, ax
je case.0x140153c41.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x140151b4a.8193
inc edx
cmp edx, edi
jbe 0x140153bb0
jmp 0x1401531ee
mov eax, 0x3000
cmp cx, ax
ja case.0x140151b4a.8193
je case.0x140153c41.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x140151b4a.8193
movsxd rax, ecx
movzx eax, byte [r11 + rax + 0x15a39c]
mov ecx, dword [r11 + rax*4 + 0x15a394]
add rcx, r11
jmp rcx
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x140153c81
je case.0x140153ba1.8193
sub ecx, 0xa
je case.0x140153ba1.8193
sub ecx, 1
jmp 0x140153c93
sub ecx, 0x85
je case.0x140153ba1.8193
sub ecx, 0x1fa3
je case.0x140153ba1.8193
cmp ecx, 1
je case.0x140153ba1.8193
inc r8d
cmp r8d, edi
jbe 0x140153c50
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
nop dword [rax]
cmp rdx, qword [r15 + 0x88]
jae 0x14015087d
movzx ecx, word [rdx]
add rdx, 2
mov qword [r14 + 0x50], rdx
cmp ecx, 0xd
ja 0x140153ce9
je 0x140153d02
sub ecx, 0xa
je 0x140153d02
sub ecx, 1
jmp 0x140153cf7
sub ecx, 0x85
je 0x140153d02
sub ecx, 0x1fa3
je 0x140153d02
cmp ecx, 1
jne case.0x140153ba1.8193
inc r8d
cmp r8d, edi
jbe 0x140153cc0
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140153d42
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
jne 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153d20
jmp 0x1401531ee
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140150d1b
cmp rdx, qword [r15 + 0x98]
ja 0x140153d79
cmp dword [r15 + 0x34], 0
je 0x140150d1b
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
xor ebp, ebp
mov ebx, ebp
jmp 0x140152486
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140150d1b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153da4
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140153e16
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153df0
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140150d1b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153e40
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140153eb6
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153e90
jmp 0x1401531ee
mov rdx, qword [r14 + 0x50]
mov r8d, 1
mov r9d, 0xff
nop dword [rax + rax]
cmp rdx, qword [r15 + 0x88]
jae 0x140153d57
movzx eax, word [rdx]
cmp ax, r9w
ja 0x140150d1b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je 0x140150d1b
add rdx, 2
inc r8d
mov qword [r14 + 0x50], rdx
cmp r8d, edi
jbe 0x140153ee0
jmp 0x1401531ee
cmp edi, ebx
jae 0x140154971
cmp r10, qword [r15 + 0x88]
jae 0x140153f6f
mov ecx, 1
test r12d, r12d
je 0x140153f53
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
test r11d, r11d
jne 0x140154971
inc edi
lea r10, [r10 + rcx*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140153f27
jmp 0x140154971
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140154971
cmp r10, qword [r15 + 0x98]
ja 0x14015495f
cmp dword [r15 + 0x34], r8d
jmp 0x14015495d
cmp edi, ebx
jae 0x140154971
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x140153ff4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140153ff4
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x1f0bc1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x140154035
cmp dl, 8
je 0x140154035
xor eax, eax
jmp 0x14015403a
mov eax, 1
cmp eax, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140153fa0
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x1401540b6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401540b6
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
xor eax, eax
movzx edx, byte [rsi + rcx*4 + 0x1f0bc1]
mov ecx, eax
mov eax, dword [r14 + 0x44]
cmp dword [rsi + rdx*4 + 0x1ee670], eax
sete cl
cmp ecx, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154062
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x140154174
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154174
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1f0bc1]
xor ecx, ecx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154120
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x140154224
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154224
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1f0bc0]
xor ecx, ecx
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401541d0
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x1401542d4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401542d4
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1f0bc0]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + rsi]
cmp eax, ecx
je 0x140154331
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 + 0x1f08c0]
bt eax, ecx
jb 0x140154331
xor eax, eax
jmp 0x140154336
mov eax, 1
cmp eax, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154280
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x1401543b4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401543b4
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1f0bc1]
mov eax, dword [rsi + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
mov eax, 0
sete al
cmp eax, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154360
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x140154474
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154474
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 0x14015453a
je case.0x140154566.8193
cmp edx, 0x20
ja 0x14015451e
je case.0x140154566.8193
mov eax, edx
sub eax, 9
je case.0x140154566.8193
sub eax, 1
je case.0x140154566.8193
sub eax, 1
je case.0x140154566.8193
sub eax, 1
je case.0x140154566.8193
cmp eax, 1
je case.0x140154566.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
xor eax, eax
movzx edx, byte [rsi + rcx*4 + 0x1f0bc1]
cmp dword [rsi + rdx*4 + 0x1ee670], 6
sete al
cmp eax, r11d
je 0x140154971
lea r10, [r10 + r8*2]
inc edi
mov qword [r14 + 0x50], r10
cmp edi, dword [r14 + 0x3c]
jb 0x140154420
jmp 0x140154971
mov eax, edx
sub eax, 0x85
je case.0x140154566.8193
sub eax, 0x1b
je case.0x140154566.8193
sub eax, 0x15e0
je case.0x140154566.8193
cmp eax, 0x18e
jmp 0x1401544bf
mov eax, 0x3000
cmp edx, eax
ja case.0x140154566.8194
je case.0x140154566.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x140154566.8194
movzx eax, byte [rsi + rax + 0x15a404]
mov ecx, dword [rsi + rax*4 + 0x15a3fc]
add rcx, rsi
jmp rcx
test r11d, r11d
jne 0x140154971
mov r10, qword [r14 + 0x50]
jmp 0x140154505
cmp edi, ebx
jae 0x140154971
nop
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x1401545d4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401545d4
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 + 0x1f4dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x1f0bc1]
mov eax, dword [rsi + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
je 0x140154619
cmp edx, 0x5f
je 0x140154619
xor eax, eax
jmp 0x14015461e
mov eax, 1
cmp eax, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154580
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x1401546a4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401546a4
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 + 0x1f05f0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401546ce
nop dword [rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401546f2
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401546c0
test r11d, r11d
je 0x140154971
lea rax, [r8 + r8]
inc edi
add qword [r14 + 0x50], rax
mov r10, qword [r14 + 0x50]
cmp edi, ebx
jb 0x140154650
jmp 0x140154971
test r11d, r11d
jne 0x140154971
jmp 0x1401546d7
cmp edi, ebx
jae 0x140154971
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140153f6f
movzx edx, word [r10]
mov ecx, 1
test r12d, r12d
je 0x140154766
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x140154766
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 0x14015477e
movabs r9, 0x1000000010000001
bt r9, rax
jb 0x14015479e
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x14015479e
mov eax, r8d
cmp edx, 0xe000
jb 0x1401547a3
mov eax, 1
cmp eax, r11d
je 0x140154971
inc edi
lea r10, [r10 + rcx*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154710
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r8d, 1
test r12d, r12d
je 0x140154824
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154824
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x1f0bc8]
xor ecx, ecx
shr eax, 0xb
cmp eax, dword [r14 + 0x44]
sete cl
cmp ecx, r11d
je 0x140154971
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401547d0
jmp 0x140154971
cmp edi, ebx
jae 0x140154971
cmp r10, qword [r15 + 0x88]
jae 0x140154941
movzx edx, word [r10]
mov r9d, 1
test r12d, r12d
je 0x1401548d6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401548d6
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x1f0bca]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x1f0060]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, r11d
je 0x140154971
inc edi
lea r10, [r10 + r9*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154882
jmp 0x140154971
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140154971
cmp r10, qword [r15 + 0x98]
ja 0x14015495f
cmp dword [r15 + 0x34], 0
je 0x140154971
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
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 0x14014f920
mov rcx, qword [r14 + 0x50]
jmp 0x140158bbf
cmp r9d, 0x16
jne 0x140154b13
cmp edi, ebx
jae 0x140154adb
mov rdx, qword [r15 + 0x88]
nop word [rax + rax]
mov rax, qword [r14 + 0x50]
cmp rax, rdx
jae 0x140154aa7
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x140154a33
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x140154a33
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.140168750
mov qword [r14 + 0x50], rax
mov rdx, qword [r15 + 0x88]
cmp rax, rdx
jb 0x140154a99
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140154a99
cmp rax, qword [r15 + 0x98]
ja 0x140154a87
cmp dword [r15 + 0x34], 0
je 0x140154a99
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x1401549d0
jmp 0x140154adb
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140154adb
cmp rax, qword [r15 + 0x98]
ja 0x140154ac9
cmp dword [r15 + 0x34], 0
je 0x140154adb
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
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 0x14014f920
jmp 0x140159156
lea eax, [r9 - 6]
cmp eax, 0xf
ja case.0x14015747b.15
lea r11, [0x140000000]
test r12d, r12d
je 0x1401553a5
mov ecx, dword [r11 + rax*4 + 0x15a464]
add rcx, r11
jmp rcx
cmp edi, ebx
jae 0x14015536e
nop word [rax + rax]
mov rcx, qword [r15 + 0x88]
cmp r10, rcx
jae 0x140155331
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140154b8c
mov r8, rcx
mov dword [rsp + 0x20], r12d
mov rcx, r10
lea r9, [r15 + 0xe0]
call fcn.140168980
test eax, eax
jne 0x140155369
jmp 0x140154bc9
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x140154bc9
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x140154bc9
cmp edx, 1
je 0x140155369
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
je 0x140155369
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x140154c1b
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x140154c1b
cmp dword [r15 + 0xdc], 0
jne 0x140154c1b
cmp dword [r15 + 0xe0], 2
jne 0x140154c1b
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140154c1b
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401507a3
mov rcx, qword [r14 + 0x50]
add rcx, 2
mov qword [r14 + 0x50], rcx
mov r10, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x140154c54
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x140154c54
lea r10, [rcx + 2]
mov qword [r14 + 0x50], r10
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x140154b50
jmp 0x140155369
cmp ebx, edx
jae 0x140154cbe
cmp edi, ebx
jae 0x14015536e
cmp r10, qword [r15 + 0x88]
jae 0x140155331
lea rcx, [r10 + 2]
mov qword [r14 + 0x50], rcx
mov r10, rcx
cmp rcx, qword [r15 + 0x88]
jae 0x140154cb3
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x140154cb3
lea r10, [rcx + 2]
mov qword [r14 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x140154c71
jmp 0x140155369
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14015536e
cmp rax, qword [r15 + 0x98]
ja 0x140154cef
cmp dword [r15 + 0x34], 0
je 0x14015536e
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
jmp 0x14015536e
mov rcx, qword [r15 + 0x88]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x140154d5d
mov qword [r14 + 0x50], rcx
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14015536e
cmp rcx, qword [r15 + 0x98]
ja 0x140154d46
cmp dword [r15 + 0x34], 0
je 0x14015536e
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
jmp 0x14015536e
lea rcx, [r10 + rbx*2]
mov qword [r14 + 0x50], rcx
jmp 0x14015536e
cmp edi, ebx
jae 0x14015536e
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154dbf
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 0x140154dc4
mov ecx, 2
cmp edx, 0xd
jne 0x140154deb
add r10, 2
mov qword [r14 + 0x50], r10
cmp r10, qword [r15 + 0x88]
jae 0x140155369
cmp word [r10], 0xa
jne 0x140154e23
add r10, 2
jmp 0x140154e1f
cmp edx, 0xa
je 0x140154e1c
cmp word [r15 + 0x62], 2
je 0x140155369
lea eax, [rdx - 0xb]
cmp eax, 1
jbe 0x140154e1c
mov eax, 0x85
cmp edx, eax
je 0x140154e1c
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140155369
add r10, rcx
mov qword [r14 + 0x50], r10
inc edi
cmp edi, dword [r14 + 0x3c]
jb 0x140154d72
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154e8f
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 0x140154ef4
je case.0x140154f1e.8193
cmp edx, 9
je case.0x140154f1e.8193
cmp edx, 0x20
je case.0x140154f1e.8193
mov eax, 0xa0
cmp edx, eax
je case.0x140154f1e.8193
mov eax, 0x1680
cmp edx, eax
je case.0x140154f1e.8193
mov eax, 0x180e
cmp edx, eax
je case.0x140154f1e.8193
xor eax, eax
mov ecx, eax
cmp dword [r14 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x140155369
lea rax, [r8 + r8]
inc edi
add qword [r14 + 0x50], rax
mov r10, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x3c]
jb 0x140154e40
jmp 0x140155369
mov eax, 0x3000
cmp edx, eax
ja case.0x140154f1e.8194
je case.0x140154f1e.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x140154f1e.8194
movzx eax, byte [r11 + rdx + 0x15a4ac]
mov ecx, dword [r11 + rax*4 + 0x15a4a4]
add rcx, r11
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x140154ec7
cmp edi, ebx
jae 0x14015536e
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140154f80
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 0x140154f95
je 0x140154fbb
sub edx, 0xa
je 0x140154fbb
sub edx, 1
jmp 0x140154fa3
sub edx, 0x85
je 0x140154fbb
sub edx, 0x1fa3
je 0x140154fbb
cmp edx, 1
je 0x140154fbb
xor eax, eax
mov ecx, eax
jmp 0x140154fc2
mov ecx, 1
xor eax, eax
cmp r9d, 0x14
sete al
cmp ecx, eax
je 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154f31
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015503f
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 0x140155059
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140154ff0
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401550cf
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 0x140155369
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155080
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140155163
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 0x14015517d
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155110
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401551f3
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 0x140155369
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401551a0
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140155283
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 0x14015529d
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155230
jmp 0x140155369
cmp edi, ebx
jae 0x14015536e
nop dword [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x140155331
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x14015530f
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 0x140155369
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je 0x140155369
inc edi
lea r10, [r10 + r8*2]
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401552c0
jmp 0x140155369
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140155369
cmp r10, qword [r15 + 0x98]
ja 0x140155357
cmp dword [r15 + 0x34], 0
je 0x140155369
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
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 0x14014f920
mov rax, qword [r14 + 0x50]
jmp 0x140159180
mov ecx, dword [r11 + rax*4 + 0x15a50c]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
mov rcx, qword [r15 + 0x88]
cmp r10, rcx
jae 0x14015599e
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140155400
mov r8, rcx
mov dword [rsp + 0x20], r12d
mov rcx, r10
lea r9, [r15 + 0xe0]
call fcn.140168980
test eax, eax
jne case.0x14015563b.8193
jmp 0x140155441
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x140155441
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x140155441
cmp edx, 1
je case.0x14015563b.8193
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
je case.0x14015563b.8193
movzx edx, word [r15 + 0x60]
test dx, dx
je 0x140155497
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb 0x140155497
cmp dword [r15 + 0xdc], 0
jne 0x140155497
cmp dword [r15 + 0xe0], 2
jne 0x140155497
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140155497
mov dword [r15 + 0x2c], 1
cmp dx, 1
ja 0x1401507a3
add qword [r14 + 0x50], 2
inc edi
mov r10, qword [r14 + 0x50]
cmp edi, dword [r14 + 0x3c]
jb 0x1401553c0
jmp case.0x14015563b.8193
mov rcx, qword [r15 + 0x88]
sub ebx, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp ebx, eax
jbe 0x1401554e9
mov qword [r14 + 0x50], rcx
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14015563b.8193
cmp rcx, qword [r15 + 0x98]
jmp 0x1401559b3
lea rcx, [r10 + rbx*2]
mov qword [r14 + 0x50], rcx
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x140155539
add r10, 2
mov qword [r14 + 0x50], r10
cmp r10, qword [r15 + 0x88]
jae case.0x14015563b.8193
cmp word [r10], 0xa
jne 0x140155580
jmp 0x140155578
cmp cx, 0xa
je 0x140155578
cmp word [r15 + 0x62], 2
je case.0x14015563b.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x140155578
mov eax, 0x85
cmp cx, ax
je 0x140155578
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x14015563b.8193
add r10, 2
mov qword [r14 + 0x50], r10
inc edi
cmp edi, ebx
jb 0x140155500
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x14015560c
je case.0x14015563b.8193
cmp eax, 9
je case.0x14015563b.8193
cmp eax, 0x20
je case.0x14015563b.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x14015563b.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x14015563b.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401555a0
jmp case.0x14015563b.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x14015563b.8194
je case.0x14015563b.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x14015563b.8194
cdqe
movzx eax, byte [r11 + rax + 0x15a554]
mov ecx, dword [r11 + rax*4 + 0x15a54c]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x1401556bd
je case.0x1401556f0.8193
cmp eax, 9
je case.0x1401556f0.8193
cmp eax, 0x20
je case.0x1401556f0.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401556f0.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401556f0.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x14015563b.8193
add qword [r14 + 0x50], 2
inc edi
mov r10, qword [r14 + 0x50]
cmp edi, ebx
jb 0x140155650
jmp case.0x14015563b.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x14015563b.8193
je case.0x1401556f0.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x14015563b.8193
cdqe
movzx eax, byte [r11 + rax + 0x15a5bc]
mov ecx, dword [r11 + rax*4 + 0x15a5b4]
add rcx, r11
jmp rcx
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x140155731
je case.0x14015563b.8193
sub ecx, 0xa
je case.0x14015563b.8193
sub ecx, 1
jmp 0x140155743
sub ecx, 0x85
je case.0x14015563b.8193
sub ecx, 0x1fa3
je case.0x14015563b.8193
cmp ecx, 1
je case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155700
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401557a1
je 0x1401557c2
sub ecx, 0xa
je 0x1401557c2
sub ecx, 1
jmp 0x1401557b3
sub ecx, 0x85
je 0x1401557c2
sub ecx, 0x1fa3
je 0x1401557c2
cmp ecx, 1
jne case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155770
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop dword [rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x14015580f
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
jne case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401557e0
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14015563b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 8
je case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155830
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401558af
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
jne case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155880
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14015563b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 1
je case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x1401558d0
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop word [rax + rax]
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x14015594b
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155920
jmp case.0x14015563b.8193
cmp edi, ebx
jae case.0x14015563b.8193
nop
cmp r10, qword [r15 + 0x88]
jae 0x14015599e
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x14015563b.8193
mov ecx, eax
mov rax, qword [r15 + 0x48]
test byte [rcx + rax], 0x10
je case.0x14015563b.8193
add r10, 2
inc edi
mov qword [r14 + 0x50], r10
cmp edi, ebx
jb 0x140155960
jmp case.0x14015563b.8193
movzx eax, word [r15 + 0x60]
test ax, ax
je case.0x14015563b.8193
cmp r10, qword [r15 + 0x98]
ja 0x1401559c4
cmp dword [r15 + 0x34], 0
je case.0x14015563b.8193
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
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 0x14014f920
mov rcx, qword [r14 + 0x50]
jmp 0x140158ff1
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 0x140155a88
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 0x140155a7b
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
jne 0x140155a88
movzx eax, word [r15 + 0x66]
lea r8, [r8 + rax*2]
test edx, edx
jg 0x140155a50
mov rbx, qword [r14]
jmp 0x140155ab5
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.0x140155add
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x15a61c]
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 + 0x1edbc0]
mov dword [r14 + 0x38], ecx
mov r8d, dword [r11 + rax*4 + 0x1edbf0]
mov ebp, dword [r11 + rax*4 + 0x1edc20]
mov dword [r14 + 0x3c], r8d
mov dword [rsp + 0xf8], ebp
jmp 0x140155b5f
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 + 0x1eda98]
mov dword [rsp + 0xf8], ebp
test r8d, r8d
jne 0x140155b58
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 0x140155b92
mov rax, qword [r14 + rdi*8 + 0x80]
cmp rax, 0xffffffffffffffff
je 0x140155b92
cmp rax, qword [r14 + rdi*8 + 0x88]
je 0x14014f8b3
jmp 0x140155bab
test ecx, ecx
je 0x14014f8b3
test dword [r15 + 0xd0], 0x200
jne 0x14014f8b3
mov ebx, 1
cmp ecx, ebx
jb 0x140155c05
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.14015a990
test eax, eax
jne 0x140155d20
mov rax, qword [rsp + 0x50]
inc ebx
add rax, rax
add qword [r14 + 0x50], rax
mov ecx, dword [r14 + 0x38]
cmp ebx, ecx
jbe 0x140155bc0
mov r8d, dword [r14 + 0x3c]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
cmp ecx, r8d
je 0x14014f8b3
test ebp, ebp
je 0x140159324
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 0x140155cef
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.14015a990
test eax, eax
jne 0x140155cad
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 0x140155c50
jmp 0x140155ce7
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb case.0x14014f94c.82
jmp 0x14015166c
jle 0x140155ce7
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140155ce7
mov rax, qword [r15 + 0x98]
cmp qword [r15 + 0x88], rax
jbe 0x140155ce7
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
test ebx, ebx
je 0x140159280
lea r11, [0x140000000]
jmp 0x140156f89
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.14015a990
test eax, eax
je 0x140155d36
jle 0x140155c97
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
jmp 0x140155c9b
mov rax, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xd0]
add rax, rax
add qword [r14 + 0x50], rax
xor r9d, r9d
jmp 0x14014f90b
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 0x140155d60
lea rax, [rbx + 4]
mov qword [r14], rax
jmp 0x14014f920
cmp dword [r15 + 0x30], 0
jne 0x140159299
cmp dword [r14 + 0x30], 0
je 0x140159299
lea r11, [0x140000000]
jmp 0x1401569b1
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, r14
call fcn.14014f640
mov ebx, eax
test eax, eax
jg case.0x14014f94c.82
js 0x140152477
mov rax, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xd0]
add rax, rax
add qword [r14], rax
xor r9d, r9d
jmp 0x14014f90b
movzx eax, word [rbx + 2]
mov qword [r14 + 0x18], rax
cmp word [rbx + rax*2], 0x78
je 0x140155df5
add rax, 0xfffffffffffffffe
mov qword [r14 + 0x18], rax
add rbx, 4
mov qword [r14], rbx
movzx eax, word [rbx]
cmp ax, 0x76
je 0x140155e13
cmp ax, 0x77
jne 0x140155e49
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, r14
call fcn.14014f640
mov ebx, eax
test eax, eax
jg case.0x14014f94c.82
js 0x140152477
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.0x140155e6f.150
cdqe
mov ecx, dword [r11 + rax*4 + 0x15a63c]
add rcx, r11
jmp rcx
mov ecx, dword [r14 + 0x68]
mov edx, 0xffffffff
cmp ecx, edx
je case.0x140155e6f.148
movzx eax, word [rbx + 2]
cmp eax, 0xffff
je case.0x140155e6f.149
cmp eax, ecx
je case.0x140155e6f.149
jmp case.0x140155e6f.148
mov r10d, dword [r14 + 0x68]
mov edx, 0xffffffff
cmp r10d, edx
je case.0x140155e6f.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.0x140155e6f.148
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x140155f0d
lea r8, [r8 + r9*2]
test edx, edx
jg 0x140155ee0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xf8], ebp
jmp case.0x140155e6f.148
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xf8], ebp
jmp case.0x140155e6f.149
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r14 + 0x78]
jae case.0x140155e6f.148
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
je case.0x140155e6f.148
jmp case.0x140155e6f.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.0x140155e6f.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 0x140155fa6
cmp qword [r14 + rax*8 + 0x80], 0xffffffffffffffff
jne case.0x140155e6f.149
lea r8, [r8 + r9*2]
test edx, edx
jg 0x140155f80
jmp case.0x140155e6f.148
movzx edx, word [rbx + 2]
test r12d, r12d
je 0x140156011
test edx, edx
je 0x140156008
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.0x14014f94c.82
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
movzx eax, word [rcx]
and ax, r11w
cmp ax, bx
jne 0x140156004
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
test edx, edx
jne 0x140155fd0
mov rcx, qword [r14 + 0x50]
jmp 0x14015603a
mov rcx, qword [r14 + 0x50]
mov rax, rcx
sub rax, qword [r15 + 0x78]
sar rax, 1
cmp rdx, rax
jg case.0x14014f94c.82
lea rax, [rdx + rdx]
sub rcx, rax
lea r8, [0x140000000]
mov qword [r14 + 0x50], rcx
cmp rcx, qword [r15 + 0x98]
jae 0x14015604e
mov qword [r15 + 0x98], rcx
add qword [r14], 4
jmp 0x14014f912
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je case.0x14014f94c.59
jmp 0x14014f920
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 0x140156109
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 0x140156101
mov r8, qword [r14 + 0x78]
lea rdx, [r14 + 0x80]
shl r8, 3
lea rcx, [rdi + 0x80]
call fcn.1401aff40
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 0x140152477
movzx ecx, word [rbx]
jmp 0x14015610c
mov rdi, r9
movzx eax, cx
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x14015612f.134
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x15a688]
add rcx, r11
jmp rcx
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x140156149
mov qword [r15 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r14 + 0x50], rax
jmp case.0x14015612f.134
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0xa0]
jbe 0x14015616e
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.0x14015612f.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 0x1401561a0
jmp case.0x14015612f.134
mov ebx, 1
xor ebp, ebp
mov r9d, 0xff
jmp 0x140152486
mov rdx, qword [r14 + 0x50]
mov r8d, r12d
mov rcx, qword [rdi + 0x50]
call fcn.140168b90
test eax, eax
jne case.0x14015612f.134
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
movzx edx, word [rbx + 4]
cmp dword [r14 + 0x68], edx
jne 0x14015624d
mov rbx, r13
lea rcx, [r14 + 0x80]
sub rbx, rsi
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401aff40
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 0x14014f90b
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.0x14015612f.134
lea rax, [rcx + 2]
mov qword [r14 + 0x78], rax
mov rdx, qword [r14]
cmp word [rdx], 0x7c
jne 0x1401562b9
mov r8, qword [rsp + 0x60]
lea rdx, [r14 + 0x50]
lea rcx, [rdi + 0x50]
call fcn.1401aff40
mov ebx, 0xfffffc1a
jmp 0x140152477
movzx ecx, byte [r14 + 0x49]
cmp cl, 0x79
je 0x140156bd9
test rdi, rdi
je 0x1401562de
mov rax, qword [rdi + 0x50]
cmp qword [r14 + 0x50], rax
je 0x140156bd9
cmp cl, 0x7b
jne 0x1401592f8
lea rbx, [rdx + 4]
mov byte [r14 + 0x48], 6
jmp 0x140159936
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
jne case.0x14014f94c.82
test byte [r15 + 0xcc], 1
jne case.0x14014f94c.82
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x14014f920
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
je 0x14014fca1
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
test byte [r15 + 0xcc], 2
jne case.0x14014f94c.82
test byte [r15 + 0xd0], 0x10
je case.0x14014f94c.21
mov rax, qword [r15 + 0x88]
cmp qword [r14 + 0x50], rax
jb case.0x14014f94c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140156381
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
add qword [r14], 2
jmp 0x14014f920
mov r10, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp r10, r8
jae 0x140156488
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x1401563dc
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
mov rcx, r10
call fcn.140168980
test eax, eax
je 0x14015642f
mov ecx, dword [r15 + 0xe0]
mov r8, qword [r15 + 0x88]
mov r10, qword [r14 + 0x50]
jmp 0x140156421
mov ecx, dword [r15 + 0xe0]
imul rax, rcx, 0xfffffffffffffffe
add rax, r8
cmp r10, rax
ja 0x14015642f
movzx eax, word [r15 + 0xe4]
cmp word [r10], ax
jne 0x14015642f
cmp ecx, 1
je 0x140156421
movzx eax, word [r15 + 0xe6]
cmp word [r10 + 2], ax
jne 0x14015642f
mov eax, ecx
imul rcx, rax, 0xfffffffffffffffe
add rcx, r8
cmp r10, rcx
je 0x140156488
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014f94c.82
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb case.0x14014f94c.82
cmp dword [r15 + 0xdc], 0
jne case.0x14014f94c.82
cmp dword [r15 + 0xe0], 2
jne case.0x14014f94c.82
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne case.0x14014f94c.82
cmp dx, 1
jmp 0x14014fba1
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140152242
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f90b
test byte [r15 + 0xcc], 1
je 0x1401564d8
mov rax, qword [r15 + 0x78]
cmp qword [r14 + 0x50], rax
je case.0x14014f94c.82
mov rcx, qword [r14 + 0x50]
mov rax, qword [r15 + 0x78]
cmp rcx, rax
je 0x14015658e
cmp rcx, qword [r15 + 0x88]
jne 0x140156507
test dword [r15 + 0xd0], 0x200000
je case.0x14014f94c.82
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140156540
cmp rcx, rax
jbe case.0x14014f94c.82
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
mov r8, rax
call fcn.140168a40
test eax, eax
je case.0x14014f94c.82
jmp 0x140156587
mov r8d, dword [r15 + 0xe0]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x14014f94c.82
movzx eax, word [r15 + 0xe4]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x14014f94c.82
cmp r8d, 1
je 0x140156587
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
jne case.0x14014f94c.82
lea r8, [0x140000000]
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f912
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x140156668
mov edx, dword [r15 + 0xdc]
lea rbx, [r15 + 0xe0]
test edx, edx
je 0x1401565f1
mov r9, rbx
mov dword [rsp + 0x20], r12d
call fcn.140168980
test eax, eax
je 0x14015662f
add qword [r14], 2
mov r10d, dword [rsp + 0xd0]
xor r9d, r9d
jmp 0x14014f90b
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x14015662f
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x14015662f
cmp edx, 1
je 0x140152242
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x140152242
movzx edx, word [r15 + 0x60]
test dx, dx
je case.0x14014f94c.82
mov rcx, qword [r14 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r15 + 0x88]
jb case.0x14014f94c.82
cmp dword [r15 + 0xdc], 0
jne case.0x14014f94c.82
cmp dword [rbx], 2
jmp 0x140156468
test byte [r15 + 0xcc], 2
jne case.0x14014f94c.82
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140152242
cmp rcx, qword [r15 + 0x98]
ja 0x140156496
cmp dword [r15 + 0x34], 0
jmp 0x140156490
mov rcx, qword [r15 + 0x50]
mov rax, qword [r15 + 0x78]
lea rcx, [rax + rcx*2]
cmp qword [r14 + 0x50], rcx
je 0x14014fca1
xor ebp, ebp
mov ebx, ebp
jmp 0x140152479
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x58], rax
lea rax, [rbx + 2]
mov qword [r14], rax
jmp 0x14014f920
mov r8, qword [r14 + 0x50]
cmp r8, qword [r15 + 0x80]
jne 0x1401566e9
mov ebx, 0xff
jmp 0x1401567f7
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r12d, r12d
je 0x140156755
movzx eax, cx
mov r10d, 0xfc00
and ax, r10w
mov edx, 0xdc00
cmp ax, dx
jne 0x14015671b
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r10d
cmp eax, ecx
jne 0x140156757
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 0x140156757
mov edx, ecx
cmp r8, qword [r15 + 0x98]
jae 0x14015676b
mov qword [r15 + 0x98], r8
test dword [r15 + 0xd0], 0x20000
mov ebx, 0xff
je 0x1401567db
lea r11, [0x140000000]
cmp edx, 0x5f
jne 0x140156793
lea r10d, [rdx - 0x5e]
jmp 0x140156801
mov eax, edx
mov r10d, r9d
shr rax, 7
and edx, 0x7f
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov eax, dword [r11 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
sete r10b
jmp 0x140156801
cmp edx, ebx
ja 0x1401567f7
mov rax, qword [r15 + 0x48]
mov r10d, 1
test byte [rdx + rax], 0x10
jne 0x1401567fa
mov r10d, r9d
lea r11, [0x140000000]
mov rcx, qword [r14 + 0x50]
mov rax, qword [r15 + 0x88]
cmp rcx, rax
jb 0x140156852
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x14015696c
cmp rcx, qword [r15 + 0x98]
ja 0x14015683b
cmp dword [r15 + 0x34], 0
je 0x14015696c
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
jmp 0x14015696c
lea r9, [rcx + 2]
mov r8, r9
test r12d, r12d
je 0x1401568c2
cmp r9, rax
jae 0x140156885
movzx eax, word [r9]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x140156885
add r8, 2
movzx edx, word [rcx]
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401568c5
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 0x1401568c5
movzx edx, word [rcx]
cmp r8, qword [r15 + 0xa0]
jbe 0x1401568d9
mov qword [r15 + 0xa0], r8
test dword [r15 + 0xd0], 0x20000
je 0x140156946
cmp edx, 0x5f
jne 0x1401568f9
mov edx, 1
xor r9d, r9d
jmp 0x14015696f
mov eax, edx
mov r9d, 0
shr rax, 7
and edx, 0x7f
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
mov edx, r9d
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov eax, dword [r11 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
sete dl
jmp 0x14015696f
cmp edx, ebx
ja 0x140156969
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je 0x140156969
mov edx, 1
xor r9d, r9d
jmp 0x14015696f
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 0x14015698c
xor edx, 1
mov r10d, dword [rsp + 0xd0]
test edx, edx
jmp 0x14014ff1e
test ebx, ebx
jne case.0x1401524f2.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 + 0x1ee490]
lea rbx, [rcx + rax*2]
je 0x140159302
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
mov r10d, dword [rsp + 0xd0]
mov qword [r14], rbx
jmp 0x14014f90b
cmp ebx, 0xfffffc1f
jne 0x140156a34
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r15 + 0xb8], rdx
jae case.0x1401524f2.33
cmp word [rcx], 0x78
je 0x140156a3c
cmp word [rdx], 0x78
jmp 0x140156a36
test ebx, ebx
jne case.0x1401524f2.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x1401596c7
mov ebx, ebp
jmp case.0x1401524f2.33
cmp ebx, 0xfffffc19
je 0x140158eae
test ebx, ebx
je 0x140156a7b
cmp ebx, 0xfffffc1f
jne case.0x1401524f2.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x1401597b6
mov ebx, ebp
jmp case.0x1401524f2.33
cmp ebx, 0xfffffc1d
jg 0x140156b0f
je 0x140156abf
cmp ebx, 0xfffffc19
je 0x140156b2c
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401524f2.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 0x140156ad0
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 0x14014f90b
cmp ebx, 0xfffffc1f
je 0x140158ef7
test ebx, ebx
je 0x140158ef7
cmp ebx, 1
jne case.0x1401524f2.33
mov ebx, ebp
jmp case.0x1401524f2.33
cmp ebx, 0xfffffc1d
jg 0x140156b65
je 0x140158f6a
cmp ebx, 0xfffffc19
je 0x140158f18
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401524f2.33
jmp 0x140158f6a
cmp ebx, 0xfffffc1f
je 0x140158f50
test ebx, ebx
je 0x140158f50
cmp ebx, 1
jne case.0x1401524f2.33
mov eax, dword [r14 + 0x38]
jmp 0x140158f74
test ebx, ebx
jne case.0x1401524f2.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 0x14014f90b
test ebx, ebx
jne case.0x1401524f2.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 0x14014f90b
cmp ebx, 0xfffffc1a
jne 0x140156c46
mov dword [r14 + 0x3c], 1
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jne 0x14015930c
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 0x140156c30
jmp 0x140156c9d
cmp ebx, 0xfffffc1f
jne 0x140156c7d
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r15 + 0xb8], rdx
jae case.0x1401524f2.33
cmp word [rcx], 0x78
je 0x140156c85
cmp word [rdx], 0x78
jmp 0x140156c7f
test ebx, ebx
jne case.0x1401524f2.33
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x140159670
cmp dword [r14 + 0x3c], 0
jne 0x140156ce2
cmp dword [r14 + 0x40], 0
jne 0x140156ce2
mov ebx, ebp
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.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 0x140156cd0
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 0x14014f90b
test ebx, ebx
jne case.0x1401524f2.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 0x14014f90b
mov rdx, qword [r14 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x140156da7
mov eax, dword [r14 + 0x38]
btc eax, 0x12
cmp dword [r15 + 0xc8], eax
jne 0x140156da7
cmp ebx, 0xfffffc1f
jne 0x140156b2c
cmp qword [r15 + 0xb8], rcx
jae 0x140156b2c
cmp word [rdx], 0x78
je 0x140156daf
cmp word [rcx], 0x78
je 0x140156daf
mov ebx, ebp
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov qword [r14 + 8], rcx
cmp word [rcx], 0x78
je 0x140159773
mov ebx, ebp
jmp case.0x1401524f2.33
cmp ebx, 0xfffffc1e
jne case.0x1401524f2.33
mov rcx, qword [r14]
mov rdx, qword [r15 + 0xc0]
add rcx, 4
call fcn.1401681d0
lea r11, [0x140000000]
mov r8d, 0x2000
mov r9d, 0xff
test eax, eax
jne case.0x1401524f2.33
mov rax, qword [r14 + 0x50]
lea r11, [0x140000000]
mov qword [r15 + 0xc0], rax
mov ebx, 0xfffffc1d
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov eax, dword [r14 + 0x68]
mov ebx, 0xfffffc1c
mov dword [r15 + 0xc8], eax
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.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.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.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.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.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.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x140156ed5
mov ebx, ebp
jmp case.0x1401524f2.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.14015a990
test eax, eax
je 0x140159318
jle 0x140156f10
mov rax, qword [r15 + 0x88]
mov qword [r14 + 0x50], rax
jmp 0x140156f14
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x140156f59
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140156f59
cmp rax, qword [r15 + 0x98]
ja 0x140156f47
cmp dword [r15 + 0x34], 0
je 0x140156f59
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
lea r11, [0x140000000]
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.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 0x140159339
xor ebp, ebp
jmp 0x1401579e5
test ebx, ebx
jne case.0x1401524f2.33
mov rbx, qword [r14 + 8]
cmp qword [r14 + 0x50], rbx
je 0x1401579e5
mov qword [r14 + 0x50], rbx
mov eax, 0xffffffff
add dword [r14 + 0x3c], eax
mov edi, dword [r14 + 0x38]
cmp edi, dword [r14 + 0x3c]
jae 0x140157002
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.14015a990
mov rax, qword [rsp + 0x70]
inc edi
lea rbx, [rbx + rax*2]
mov qword [r14 + 0x50], rbx
cmp edi, dword [r14 + 0x3c]
jb 0x140156fd0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp ecx, r9d
jbe 0x140157079
cmp byte [r14 + 0x49], 0x6e
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140159936
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 0x140157064
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
add qword [r14 + 0x50], 0xfffffffffffffffe
jmp 0x1401570be
lea r11, [0x140000000]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jae 0x14015934e
xor ebp, ebp
jmp 0x1401579e5
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jb 0x140157130
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140156b2c
cmp rcx, qword [r15 + 0x98]
ja 0x140157127
cmp dword [r15 + 0x34], 0
je 0x140156b2c
cmp ax, 1
jmp 0x140158620
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
je 0x140157147
cmp dword [r14 + 0x44], eax
jne 0x140156b2c
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 0x140159936
add qword [r14 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401524f2.33
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
je 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayCopy
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], edx
jne 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1b
jmp 0x140159936
add qword [r14 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401524f2.33
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
mov rsi, qword [rsp + 0xe8]
cmp qword [r14 + 0x50], rax
jbe 0x140151354
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0x1c
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rcx, qword [r14 + 0x50]
cmp rcx, qword [r15 + 0x88]
jae 0x140157101
movzx eax, word [rcx]
cmp dword [r14 + 0x40], eax
je 0x140156b2c
cmp dword [r14 + 0x44], eax
je 0x140156b2c
mov rsi, qword [rsp + 0xe8]
lea rax, [rcx + 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0x1d
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r14 + 8]
je 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1e
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], edx
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1f
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
add qword [r14 + 0x50], 0xfffffffffffffffe
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 0x50]
cmp rax, qword [r14 + 8]
je 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x20
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x140157376
mov ebx, ebp
jmp case.0x1401524f2.33
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jb 0x1401573cf
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140157796
cmp rcx, qword [r15 + 0x98]
ja 0x1401573b0
cmp dword [r15 + 0x34], 0
je 0x140157796
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, dword [r14 + 0x40]
cmp r9d, 0xc
jne 0x140157458
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x140157415
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.140168980
lea r11, [0x140000000]
test eax, eax
jne 0x1401579ef
mov rcx, qword [r14 + 0x50]
mov r9d, dword [r14 + 0x40]
jmp 0x140157458
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x140157458
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x140157458
cmp edx, 1
je 0x1401579ef
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401579ef
movzx edx, word [rcx]
lea eax, [r9 - 6]
lea r8, [rcx + 2]
mov qword [r14 + 0x50], r8
cmp eax, 0xf
ja case.0x14015747b.15
mov ecx, dword [r11 + rax*4 + 0x15a6cc]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14015749d
je 0x140159363
sub edx, 0xa
je case.0x14015747b.13
sub edx, 1
jmp 0x1401574af
sub edx, 0x85
je 0x1401574be
sub edx, 0x1fa3
je 0x1401574be
cmp edx, 1
jne 0x1401579ef
cmp word [r15 + 0x62], 2
jne case.0x14015747b.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x140157538
je case.0x14015756e.8193
cmp edx, 9
je case.0x14015756e.8193
cmp edx, 0x20
je case.0x14015756e.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14015756e.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14015756e.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x14015747b.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14015747b.13
je case.0x14015756e.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14015747b.13
movzx eax, byte [r11 + rdx + 0x15a714]
mov ecx, dword [r11 + rax*4 + 0x15a70c]
add rcx, r11
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401575cb
je case.0x14015747b.13
cmp edx, 9
je case.0x14015747b.13
cmp edx, 0x20
je case.0x14015747b.13
mov eax, 0xa0
cmp edx, eax
je case.0x14015747b.13
mov eax, 0x1680
cmp edx, eax
je case.0x14015747b.13
mov eax, 0x180e
cmp edx, eax
je case.0x14015747b.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14015756e.8193
je case.0x14015747b.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14015756e.8193
movzx eax, byte [r11 + rdx + 0x15a77c]
mov ecx, dword [r11 + rax*4 + 0x15a774]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x140157623
je 0x1401579ef
sub edx, 0xa
je 0x1401579ef
sub edx, 1
jmp 0x140157635
sub edx, 0x85
je 0x1401579ef
sub edx, 0x1fa3
je 0x1401579ef
cmp edx, 1
jne case.0x14015747b.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0xd
ja 0x140157677
je case.0x14015747b.13
sub edx, 0xa
je case.0x14015747b.13
sub edx, 1
jmp 0x140157689
sub edx, 0x85
je case.0x14015747b.13
sub edx, 0x1fa3
je case.0x14015747b.13
cmp edx, 1
je case.0x14015747b.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14015747b.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja 0x140157796
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14015747b.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja 0x140157796
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja case.0x14015747b.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
mov r9d, 0xff
cmp edx, r9d
ja 0x140157796
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x14015747b.13
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov rax, qword [r14 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r14 + 0x50], rax
mov rcx, rax
cmp dword [r14 + 0x40], 0x11
jne 0x140158fea
cmp rax, qword [r14 + 8]
jbe 0x140158fea
cmp word [rax], 0xa
jne 0x140158fea
cmp word [rax - 2], 0xd
lea rdx, [rax - 2]
mov ebp, dword [rsp + 0xf8]
jne 0x140158ff1
mov qword [r14 + 0x50], rdx
mov rcx, rdx
jmp 0x140158ff1
test ebx, ebx
jne case.0x1401524f2.33
mov eax, dword [r14 + 0x68]
mov ebx, 0xfffffc1b
mov dword [r15 + 0xc8], eax
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x140157887
mov eax, ecx
and eax, edi
cmp eax, esi
jne 0x140157887
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.1401690d0
test eax, eax
jne 0x1401593fe
lea r11, [0x140000000]
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov rcx, qword [r14 + 0x50]
lea rdx, [rcx - 2]
mov qword [r14 + 0x50], rdx
cmp rcx, qword [r14 + 8]
jbe 0x140156b2c
test r12d, r12d
je 0x1401578f8
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, di
cmp ax, cx
jne 0x1401578f8
lea rax, [rdx - 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x65
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x140157973
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 0x14015799c
cmp byte [r14 + 0x49], 0x6e
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SetErrorInfo
jmp 0x140159936
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 0x140157987
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov rcx, qword [r14 + 0x50]
lea rdx, [rcx - 2]
mov qword [r14 + 0x50], rdx
cmp rcx, qword [r14 + 8]
ja 0x140159413
mov edi, 0xfc00
mov esi, 0xd800
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
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 0x140157a55
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
je 0x140159444
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140157a89
lea r8, [rdi + rdi]
mov rax, rsi
sub rax, r8
cmp rbx, rax
ja 0x140157a89
lea rdx, [r14 + 0x4a]
mov rcx, rbx
call fcn.1401b1ae0
test eax, eax
je 0x140159444
cmp rbx, rsi
jb 0x140157aca
movzx eax, word [r15 + 0x60]
test ax, ax
je 0x140157aca
cmp rbx, qword [r15 + 0x98]
ja 0x140157ab8
cmp dword [r15 + 0x34], 0
je 0x140157aca
mov dword [r15 + 0x2c], 1
cmp ax, 1
ja 0x1401507a3
lea r11, [0x140000000]
jmp 0x1401579e5
test ebx, ebx
jne case.0x1401524f2.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 0x140157b0a
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
mov rsi, qword [rsp + 0xe8]
cmp rcx, qword [r14 + 8]
jbe 0x140151354
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xcb
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x140157b8f
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 0x140156b2c
cmp dword [r14 + 0x44], ecx
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xcc
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.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 0x140157bec
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
cmp rcx, qword [r14 + 8]
jbe 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xcd
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r14 + 0x50], rdx
and eax, edi
cmp eax, esi
jne 0x140157c71
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 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xce
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.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 0x140157cc4
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 0x140151354
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xcf
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
add rax, 2
mov qword [r14 + 0x50], rax
test r12d, r12d
je 0x140157d3b
and ecx, edi
cmp ecx, esi
jne 0x140157d3b
add rax, 2
mov qword [r14 + 0x50], rax
cmp dword [r14 + 0x40], 0xf
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd0
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140157dd0
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140157dd0
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x1f0bc1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x140157e13
mov ecx, ebp
cmp dl, 8
jne 0x140157e18
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd1
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140157eb4
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140157eb4
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + 0x44]
movzx edx, byte [r11 + rcx*4 + 0x1f0bc1]
mov ecx, ebp
cmp dword [r11 + rdx*4 + 0x1ee670], eax
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd2
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x140157f88
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140157f88
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov ecx, ebp
cmp eax, dword [r14 + 0x44]
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd3
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14015805a
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14015805a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc0]
mov ecx, ebp
cmp eax, dword [r14 + 0x44]
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd4
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x14015812c
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x14015812c
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov ecx, ebp
mov eax, dword [r11 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd5
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x140158203
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158203
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 0x1401582dd
je case.0x140158313.8193
cmp edx, 0x20
ja 0x1401582b2
je case.0x140158313.8193
mov eax, edx
sub eax, 9
je case.0x140158313.8193
sub eax, 1
je case.0x140158313.8193
sub eax, 1
je case.0x140158313.8193
sub eax, 1
je case.0x140158313.8193
cmp eax, 1
je case.0x140158313.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov ecx, ebp
cmp dword [r11 + rax*4 + 0x1ee670], 6
mov eax, ebp
sete cl
cmp dword [r14 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd6
jmp 0x140159936
mov eax, edx
sub eax, 0x85
je case.0x140158313.8193
sub eax, 0x1b
je case.0x140158313.8193
sub eax, 0x15e0
je case.0x140158313.8193
cmp eax, 0x18e
jmp 0x14015824a
mov eax, 0x3000
cmp edx, eax
ja case.0x140158313.8194
je case.0x140158313.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x140158313.8194
movzx eax, byte [r11 + rax + 0x15a7e4]
mov ecx, dword [r11 + rax*4 + 0x15a7dc]
add rcx, r11
jmp rcx
cmp dword [r14 + 0x40], 0xf
jne case.0x140159255.7
mov ebx, ebp
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140158398
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158398
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 + 0x1f4dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, byte [r11 + rcx*4 + 0x1f0bc1]
mov eax, dword [r11 + rax*4 + 0x1ee670]
dec eax
test eax, 0xfffffffd
je 0x1401583e7
mov ecx, ebp
cmp edx, 0x5f
jne 0x1401583ec
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd7
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140158488
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158488
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 + 0x1f05f0]
add rcx, r11
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401584b3
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401584d3
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401584a1
cmp dword [r14 + 0x40], 0xf
jne 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd8
jmp 0x140159936
cmp dword [r14 + 0x40], 0xf
jne case.0x140159255.10
mov ebx, ebp
mov r8d, 0x2000
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
test r12d, r12d
je 0x140158556
mov eax, ecx
and eax, edi
cmp eax, esi
jne 0x140158556
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 0x140158576
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x140158595
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x140158595
cmp ecx, 0xe000
mov ecx, ebp
jb 0x14015859a
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x140156b2c
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xd9
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x1401585e5
mov ebx, ebp
jmp case.0x1401524f2.33
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jb 0x140159461
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x140156b2c
cmp rax, qword [r15 + 0x98]
ja 0x14015861c
cmp dword [r15 + 0x34], 0
je 0x140156b2c
cmp cx, 1
mov dword [r15 + 0x2c], 1
ja 0x1401507a3
mov ebx, ebp
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jb 0x140158659
mov ebx, ebp
jmp case.0x1401524f2.33
mov rcx, qword [r14 + 0x50]
mov r8, qword [r15 + 0x88]
cmp rcx, r8
jae 0x14015738a
mov r9d, dword [r14 + 0x40]
cmp r9d, 0xc
jne 0x1401586f6
mov edx, dword [r15 + 0xdc]
test edx, edx
je 0x1401586b3
lea r9, [r15 + 0xe0]
mov dword [rsp + 0x20], r12d
call fcn.140168980
lea r11, [0x140000000]
test eax, eax
jne 0x1401579ef
mov rcx, qword [r14 + 0x50]
mov r9d, dword [r14 + 0x40]
jmp 0x1401586f6
mov edx, dword [r15 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401586f6
movzx eax, word [r15 + 0xe4]
cmp word [rcx], ax
jne 0x1401586f6
cmp edx, 1
je 0x1401579ef
movzx eax, word [r15 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401579ef
movzx edx, word [rcx]
lea r8, [rcx + 2]
mov eax, edx
mov qword [r14 + 0x50], r8
and eax, edi
cmp eax, esi
jne 0x140158734
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.0x14015747b.15
mov ecx, dword [r11 + rax*4 + 0x15a844]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14015878b
je 0x14015952f
sub edx, 0xa
je case.0x14015874c.13
sub edx, 1
je 0x1401587ac
cmp edx, 1
je 0x1401587ac
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
sub edx, 0x85
je 0x1401587ac
sub edx, 0x1fa3
je 0x1401587ac
cmp edx, 1
jne 0x1401579ef
cmp word [r15 + 0x62], 2
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x140158826
je case.0x14015756e.8193
cmp edx, 9
je case.0x14015756e.8193
cmp edx, 0x20
je case.0x14015756e.8193
mov eax, 0xa0
cmp edx, eax
je case.0x14015756e.8193
mov eax, 0x1680
cmp edx, eax
je case.0x14015756e.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x14015874c.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14015874c.13
je case.0x14015756e.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14015874c.13
movzx eax, byte [r11 + rdx + 0x15a88c]
mov ecx, dword [r11 + rax*4 + 0x15a884]
add rcx, r11
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401588b9
je case.0x14015874c.13
cmp edx, 9
je case.0x14015874c.13
cmp edx, 0x20
je case.0x14015874c.13
mov eax, 0xa0
cmp edx, eax
je case.0x14015874c.13
mov eax, 0x1680
cmp edx, eax
je case.0x14015874c.13
mov eax, 0x180e
cmp edx, eax
je case.0x14015874c.13
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
mov eax, 0x3000
cmp edx, eax
ja case.0x14015756e.8193
je case.0x14015874c.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x14015756e.8193
movzx eax, byte [r11 + rdx + 0x15a8f4]
mov ecx, dword [r11 + rax*4 + 0x15a8ec]
add rcx, r11
jmp rcx
cmp edx, 0xd
ja 0x14015892e
je 0x1401579ef
sub edx, 0xa
je 0x1401579ef
sub edx, 1
je 0x1401579ef
cmp edx, 1
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
sub edx, 0x85
je 0x1401579ef
sub edx, 0x1fa3
je 0x1401579ef
cmp edx, 1
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0xd
ja 0x14015899f
je case.0x14015874c.13
sub edx, 0xa
je case.0x14015874c.13
sub edx, 1
je case.0x14015874c.13
cmp edx, 1
je case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
sub edx, 0x85
je case.0x14015874c.13
sub edx, 0x1fa3
je case.0x14015874c.13
cmp edx, 1
je case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae case.0x14015874c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
je case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae 0x1401579ef
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 8
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae case.0x14015874c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
je case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae 0x1401579ef
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 1
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae case.0x14015874c.13
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
je case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
cmp edx, 0x100
jae 0x1401579ef
mov rax, qword [r15 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x14015874c.13
mov r8d, 0x2000
mov ebx, ebp
mov r9d, 0xff
jmp case.0x1401524f2.33
test ebx, ebx
jne case.0x1401524f2.33
mov r8, qword [r14 + 0x50]
mov ebx, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r14 + 0x50], r8
test r12d, r12d
jne 0x140159010
movzx edx, word [r8]
jmp 0x140159064
test ebx, ebx
jne case.0x1401524f2.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 0x140158b39
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
cmp dword [r14 + 0x40], 0x11
mov rax, rcx
jne 0x140159179
cmp rcx, qword [r14 + 8]
jbe 0x140159179
cmp word [rcx], 0xa
jne 0x140159179
cmp word [rcx - 2], 0xd
lea rdx, [rcx - 2]
mov ebp, dword [rsp + 0xf8]
jne 0x140159180
mov qword [r14 + 0x50], rdx
mov rax, rdx
jmp 0x140159180
test ebx, ebx
jne case.0x1401524f2.33
mov rcx, qword [r14 + 0x50]
mov ebp, dword [rsp + 0xf8]
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
test r12d, r12d
je 0x140158bbf
movzx eax, word [rcx]
mov r8d, 0xdc00
and ax, di
cmp ax, r8w
jne 0x140158bbf
add rcx, 0xfffffffffffffffe
mov qword [r14 + 0x50], rcx
mov rsi, qword [rsp + 0xe8]
cmp rcx, qword [r14 + 8]
jbe 0x140151354
mov rbx, qword [r14]
mov byte [r14 + 0x48], 0xde
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140158c53
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158c53
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r11 + rcx*4 + 0x1f0bca]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r11 + rdx*4 + 0x1f0060]
bt eax, r8d
mov edx, ebp
mov eax, ebp
setb dl
cmp dword [r14 + 0x40], 0xf
sete al
cmp edx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdf
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140158d45
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158d45
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx eax, word [r11 + rcx*4 + 0x1f0bc8]
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 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xe0
jmp 0x140159936
test ebx, ebx
jne case.0x1401524f2.33
mov ecx, dword [r14 + 0x38]
lea eax, [rcx + 1]
mov dword [r14 + 0x38], eax
cmp ecx, dword [r14 + 0x3c]
jae 0x140156b2c
mov rax, qword [r14 + 0x50]
cmp rax, qword [r15 + 0x88]
jae 0x1401585f6
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r14 + 0x50], r8
test r12d, r12d
je 0x140158e1a
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140158e1a
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x1f0bc0]
mov ecx, dword [r14 + 0x44]
movzx eax, byte [rdx + r11]
cmp eax, ecx
je 0x140158e82
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 + 0x1f08c0]
bt eax, ecx
mov ecx, ebp
jae 0x140158e87
mov ecx, 1
cmp dword [r14 + 0x40], 0xf
mov eax, ebp
sete al
cmp ecx, eax
je 0x140157796
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xe1
jmp 0x140159936
mov rbx, qword [rsp + 0x30]
lea rcx, [r14 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401aff40
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 0x140158ee1
jmp 0x140156ce2
mov rcx, qword [r14]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r14], rbx
cmp word [rbx], 0x78
je 0x1401597f5
lea rax, [rbx + 4]
jmp 0x140156ce6
mov rbx, qword [rsp + 0x30]
lea rcx, [r14 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.1401aff40
mov rax, qword [rbx + 0x78]
lea r11, [0x140000000]
mov qword [r14 + 0x78], rax
mov eax, dword [r14 + 0x38]
jmp 0x140158f74
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 0x1401592c0
cmp dword [r14 + 0x38], 0
mov eax, ebp
sete al
test eax, eax
je 0x140158fac
mov rcx, qword [r14]
nop
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r14], rcx
cmp word [rcx], 0x78
je 0x140158f80
mov ebp, dword [rsp + 0xf8]
mov rcx, qword [r14]
movzx eax, word [rcx]
movzx edx, byte [rax + r11 + 0x1ee490]
jmp 0x140158fba
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 0x140156cf0
mov rsi, qword [rsp + 0xe8]
mov eax, 0x2008f
mov dword [rsp + 0xd8], eax
mov byte [r14 + 0x48], 0x23
jmp 0x140159936
mov ebp, dword [rsp + 0xf8]
cmp rcx, qword [r14 + 8]
je 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x22
jmp 0x140159936
movzx ecx, word [r8]
mov r9, r8
movzx eax, cx
and ax, di
cmp ax, bx
jne 0x140159032
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 0x140159064
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx r9d, byte [r11 + rcx*4 + 0x1f0bc2]
cmp r8, r10
jbe 0x14015914f
nop
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r12d, r12d
jne 0x1401590b9
mov edx, ecx
jmp 0x140159100
movzx eax, cx
and ax, di
cmp ax, bx
jne 0x1401590d1
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, edi
cmp eax, esi
jne 0x140159100
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 + 0x1f4dd0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x1f91d0]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x1f0bc2]
mov eax, dword [r11 + rdx*4 + 0x1ee630]
bt eax, r9d
jae 0x14015914f
mov qword [r14 + 0x50], r8
mov r9d, edx
cmp r8, r10
ja 0x1401590a0
mov ebp, dword [rsp + 0xf8]
mov rax, qword [r14 + 8]
cmp qword [r14 + 0x50], rax
jbe 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdc
jmp 0x140159936
mov ebp, dword [rsp + 0xf8]
cmp rax, qword [r14 + 8]
jbe 0x140156cf0
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdd
jmp 0x140159936
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 + 0x1ee490]
movzx eax, word [rdx + 2]
ja 0x1401595ca
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r14], rax
jmp 0x14014f912
test r12d, r12d
jne 0x140157ba3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1d
jmp 0x140159936
test r12d, r12d
jne 0x140157c7b
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x1f
jmp 0x140159936
test r12d, r12d
jne 0x140157987
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140159936
test esi, esi
js 0x140159257
cmp esi, 0xd
ja case.0x14015747b.15
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x15a954]
add rcx, r8
jmp rcx
cmp dword [r14 + 0x40], 0x16
je 0x14015951a
test r12d, r12d
jne case.0x14015874c.13
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x21
jmp 0x140159936
mov rsi, qword [rsp + 0xe8]
mov dword [r14 + 0x3c], edi
mov rbx, qword [r14]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x140159936
mov eax, r9d
jmp 0x1401596bc
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 + 0x1ee490]
mov byte [r14 + 0x48], 5
lea rbx, [rcx + rax*2]
jmp 0x140159936
mov byte [r14 + 0x48], 7
jmp 0x140159936
mov byte [r14 + 0x48], 1
jmp 0x140159936
mov rax, qword [r14 + 0x10]
mov qword [r14], rax
jmp 0x140159670
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 0x140159936
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayUnlock
jmp 0x140159936
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], SafeArrayCopy
jmp 0x140159936
cmp r8, qword [r15 + 0x88]
jae case.0x14015747b.13
cmp word [r8], 0xa
jne case.0x14015747b.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 0x140159936
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14015747b.13
cmp r8, qword [r15 + 0x88]
jb case.0x14015747b.13
cmp dword [r15 + 0xdc], 0
jne case.0x14015747b.13
cmp dword [r15 + 0xe0], 2
jne case.0x14015747b.13
movzx eax, word [r15 + 0xe4]
cmp edx, eax
jne case.0x14015747b.13
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x21
jmp 0x140159936
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0x64
jmp 0x140159936
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, di
cmp ax, cx
jne 0x14015942f
lea rax, [rdx - 2]
mov qword [r14 + 0x50], rax
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xc9
jmp 0x140159936
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 0x140159936
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r14 + 0x50], rdx
mov rcx, rdx
test r12d, r12d
je 0x1401594b1
mov eax, r10d
and eax, edi
cmp eax, esi
jne 0x1401594b1
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.140168750
mov qword [r14 + 0x50], rax
cmp rax, qword [r15 + 0x88]
jb 0x14015951a
movzx ecx, word [r15 + 0x60]
test cx, cx
je 0x14015951a
cmp rax, qword [r15 + 0x98]
ja 0x140159508
cmp dword [r15 + 0x34], 0
je 0x14015951a
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xda
jmp 0x140159936
cmp r8, qword [r15 + 0x88]
jae case.0x14015874c.13
cmp word [r8], 0xa
jne case.0x14015874c.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 0x140159936
movzx ecx, word [r15 + 0x60]
test cx, cx
je case.0x14015874c.13
cmp r8, qword [r15 + 0x88]
jb case.0x14015874c.13
cmp dword [r15 + 0xdc], 0
jne case.0x14015874c.13
cmp dword [r15 + 0xe0], 2
jne case.0x14015874c.13
movzx eax, word [r15 + 0xe4]
cmp edx, eax
jne case.0x14015874c.13
mov dword [r15 + 0x2c], 1
cmp cx, 1
ja 0x1401507a3
mov rbx, qword [r14]
mov rsi, qword [rsp + 0xe8]
mov byte [r14 + 0x48], 0xdb
jmp 0x140159936
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayGetElemsize
jmp 0x14015992f
add rbx, 2
mov qword [r14 + 8], rbx
mov byte [r14 + 0x48], 9
jmp 0x140159936
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 0x1401595f0
add rbx, 4
mov byte [r14 + 0x48], 0xa
jmp 0x140159936
add rbx, 2
mov dword [r14 + 0x40], 1
mov qword [r14], rbx
mov ecx, 0x89
movzx eax, word [rbx]
cmp ax, cx
je 0x140159655
mov ecx, 0x8e
cmp ax, cx
jne 0x140159647
jmp 0x140159655
mov dword [r14 + 0x40], r9d
mov eax, 0x20000
jmp 0x14015965d
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 + 0x1ee490]
mov byte [r14 + 0x48], 8
lea rbx, [rcx + rax*2]
jmp 0x140159936
movzx eax, word [rbx + 4]
bts eax, 0x10
jmp 0x1401596bc
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 + 0x1ee490]
mov byte [r14 + 0x48], 2
lea rbx, [rbx + rax*2]
jmp 0x140159936
mov rcx, qword [r15 + 0x70]
movzx eax, word [rbx + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
je 0x14015970e
movzx r9d, word [r10 + 4]
cmp dword [r14 + 0x68], edx
je 0x14015975f
mov rax, qword [r14 + 0x70]
cmp rax, 0xffffffffffffffff
je 0x14015975f
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 0x140159751
mov rax, qword [rcx + 0x70]
cmp rax, 0xffffffffffffffff
jne 0x140159730
jmp 0x14015975f
mov rax, qword [rcx + 0x50]
cmp qword [r14 + 0x50], rax
je 0x140159b10
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 + 0x1ee490]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rcx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
mov byte [r14 + 0x48], 3
lea rbx, [rbx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
mov byte [r14 + 0x48], 4
lea rbx, [rbx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], SafeArrayDestroy
jmp 0x14015992f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1ee490]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rbx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], 0x24
jmp 0x14015992f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1ee490]
mov byte [r14 + 0x48], SafeArrayDestroy
lea rbx, [rbx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
movzx eax, word [rdx + 2]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x14015992f
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1ee490]
mov byte [r14 + 0x48], reloc.OLEAUT32.dll_SafeArrayGetDim
lea rbx, [rbx + rax*2]
jmp 0x140159936
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x1ee490]
mov byte [r14 + 0x48], SafeArrayAccessData
lea rbx, [rbx + rax*2]
jmp 0x140159936
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 + 0x1ee490]
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 0x1401599ef
mov rbp, qword [rsp + 0xf0]
mov rcx, qword [r15 + 0x18]
mov r8, qword [rbp + 0x38]
lea rdi, [r8 + r8]
cmp rdi, rcx
jbe 0x140159979
xor edx, edx
mov rax, rcx
div rsi
mov rdi, rcx
sub rdi, rdx
cmp r8, rdi
jae 0x140159b1a
mov rdx, qword [rbp + 0x10]
mov rcx, rdi
call qword [rbp]
mov rsi, rax
test rax, rax
je 0x140159b24
mov r8, qword [rsp + 0x40]
mov rcx, rax
mov rdx, qword [rbp + 0x30]
call fcn.1401aff40
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.1401aff40
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 0x14014f850
xor eax, eax
jmp 0x140159b3d
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 0x140159a6d
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.1401aff40
mov rax, qword [r14 + 0x78]
mov ecx, 0xffffffff
add ebx, ecx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x140159aff
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 0x140159ae0
mov eax, 1
jmp 0x140159b3d
mov eax, ebx
jmp 0x140159b3d
mov eax, 0xffffffcc
jmp 0x140159b3d
mov eax, 0xffffffc1
jmp 0x140159b3d
mov eax, 0xffffffd0
jmp 0x140159b3d
mov eax, 0xffffffd4
jmp 0x140159b3d
mov eax, 0xffffffd1
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret