Function at 0x1401d87b0
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, 0x98
mov rdi, qword [rsp + 0x100]
mov rbx, r9
mov r13, qword [rsp + 0x108]
mov rsi, rdx
xor edx, edx
mov r15d, edx
mov qword [rsp + 0x40], rdx
mov r12, qword [rdi + 0x30]
lea rax, [rbx - 0x50]
mov r10d, dword [r13 + 0xd8]
mov r9d, edx
mov r14d, r10d
mov qword [rsp + 0x70], rax
mov rax, qword [rdi + 0x38]
mov ebp, edx
mov dword [r12 + 0x30], edx
mov r8d, edx
mov dword [r12 + 0x74], edx
mov dword [r12 + 0x70], 0xffffffff
mov qword [r12 + 0x50], rcx
mov qword [r12 + 0x58], rcx
shr r14d, 0x13
shr r10d, 0x11
and r14d, 1
and r10d, 1
mov qword [r12 + 0x60], rdx
add rax, r12
mov qword [r12 + 0x80], rdx
mov qword [r12 + 0x78], 0xffffffffffffffff
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0xe0], edx
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0xe8], r10d
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], edx
nop
mov dword [r12 + 0x34], r8d
mov qword [r12], rsi
mov qword [r12 + 0x20], rbx
test r8d, r8d
je 0x1401d88bb
mov rax, r12
sub rax, qword [rdi + 0x30]
mov qword [r12 + 0x78], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x1401d88b7
movzx eax, r8w
mov dword [r12 + 0x70], eax
mov dword [rsp + 0x48], edx
mov edx, dword [r13 + 0x24]
lea eax, [rdx + 1]
mov dword [r13 + 0x24], eax
cmp edx, dword [r13 + 0x1c]
jae 0x1401e2ff9
mov eax, dword [r13 + 0x20]
cmp dword [r12 + 0x30], eax
jb 0x1401d88f6
mov eax, 0xffffffcb
jmp 0x1401e2ffe
mov ebp, dword [rsp + 0xe0]
jmp 0x1401d8930
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
jmp 0x1401d8930
mov rdi, qword [rsp + 0x100]
jmp 0x1401d8930
mov rbx, qword [rsp + 0xf8]
jmp 0x1401d8930
mov rbx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x30]
jmp 0x1401d8930
mov rbx, qword [rsp + 0xf8]
mov r10d, dword [rsp + 0xe8]
mov r8, qword [r12]
movzx r11d, byte [r8]
mov byte [r12 + 0x49], r11b
mov edx, r11d
cmp r11d, 0xaa
ja case.0x1401e0781.15
lea rcx, [0x140000000]
movzx eax, byte [rcx + r11 + 0x1e3178]
mov ecx, dword [rcx + rax*4 + 0x1e3014]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp dword [r12 + 0x70], 0xffffffff
jne 0x1401d89ff
movzx r9d, word [r8 + 2]
mov rcx, qword [r12 + 0x78]
cmp rcx, 0xffffffffffffffff
je case.0x1401e0781.15
mov r15, qword [rdi + 0x30]
mov eax, r9d
add r15, rcx
bts eax, 0x10
mov rcx, r15
mov qword [rsp + 0x40], r15
sub rcx, rbx
cmp dword [r15 + 0x34], eax
je 0x1401d89b5
mov rcx, qword [rcx + 0x78]
jmp 0x1401d8986
mov dword [r12 + 0x74], r9d
lea edx, [r9*2 - 2]
mov rax, qword [rcx + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rdx*8 + 0x88], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rdx*8 + 0x90], rax
cmp rdx, qword [r12 + 0x80]
jb 0x1401d89ff
lea rax, [rdx + 2]
mov qword [r12 + 0x80], rax
mov rcx, qword [r12]
lea r8, [0x140000000]
mov r9, qword [rsp + 0x38]
movzx eax, word [rcx]
movzx eax, byte [rax + r8 + 0x33db10]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
jmp 0x1401d8930
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa8]
jbe 0x1401d8a3d
mov qword [r13 + 0xa8], rax
mov rbp, r12
mov qword [rsp + 0x30], r12
mov ebx, 0xfffffc19
jmp 0x1401df2ae
cmp dword [r12 + 0x70], 0xffffffff
je case.0x1401d896e.0
mov rcx, qword [r12 + 0x78]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je case.0x1401e0781.15
mov r15, qword [rdi + 0x30]
add r15, rcx
mov rcx, r15
mov qword [rsp + 0x40], r15
sub rcx, rbx
mov eax, dword [r15 + 0x34]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x1401d8a92
mov rcx, qword [rcx + 0x78]
jmp 0x1401d8a60
mov rax, qword [r12 + 0x50]
mov qword [rcx + 0x50], rax
mov rax, qword [r12 + 0x60]
mov qword [rcx + 0x60], rax
mov rax, qword [r12 + 0x58]
mov r12, rcx
mov qword [rcx + 0x58], rax
add qword [rcx], 4
jmp 0x1401d8930
mov r8, qword [r12 + 0x58]
mov rdx, qword [r12 + 0x50]
cmp rdx, r8
jne 0x1401d8af6
mov eax, dword [r13 + 0xd4]
test al, 4
jne case.0x1401d896e.163
test al, 8
je 0x1401d8af6
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x1401d8af6
xor edi, edi
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401df2b0
cmp rdx, qword [r13 + 0x88]
jae 0x1401e2f1d
mov eax, dword [r13 + 0xd8]
or eax, dword [r13 + 0xd4]
bt eax, 0x1d
jae 0x1401e2f1d
test r11b, r11b
jne 0x1401e2f16
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov edx, dword [r13 + 0xe4]
mov rcx, qword [r12 + 0x50]
test edx, edx
je 0x1401d8b81
lea rbx, [r13 + 0x88]
mov r8, qword [rbx]
cmp rcx, r8
jae 0x1401d8b6d
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
test eax, eax
je 0x1401d8b6d
mov eax, 1
jmp 0x1401d8b6f
xor eax, eax
test eax, eax
je 0x1401d8bd1
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
ja 0x1401d8bca
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401d8bca
cmp edx, 1
je case.0x1401d896e.163
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
jne 0x1401d8bca
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
lea rbx, [r13 + 0x88]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d896e.13
mov rax, qword [rbx]
mov rcx, qword [r12 + 0x50]
sub rax, 2
cmp rcx, rax
jne case.0x1401d896e.13
cmp dword [r13 + 0xe4], 0
jne case.0x1401d896e.13
cmp dword [r13 + 0xe8], 2
jne case.0x1401d896e.13
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne case.0x1401d896e.13
mov dword [r13 + 0x28], 1
cmp dx, 1
ja 0x1401db58c
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jb 0x1401d8c6f
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d896e.163
cmp rcx, qword [r13 + 0xa0]
ja 0x1401d8c4f
cmp dword [r13 + 0x30], 0
je case.0x1401d896e.163
cmp ax, 1
mov dword [r13 + 0x28], 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
add rcx, 2
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d8ca4
cmp rcx, qword [r13 + 0x88]
jae 0x1401d8ca4
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d8ca4
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401d8d0b
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d896e.163
cmp rax, qword [r13 + 0xa0]
ja 0x1401d8ceb
cmp dword [r13 + 0x30], 0
je case.0x1401d896e.163
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
add rax, 2
mov qword [r12 + 0x50], rax
lea rax, [r8 + 2]
mov qword [r12], rax
jmp 0x1401d8930
test r14d, r14d
je 0x1401d8df3
lea r9, [r8 + 2]
mov qword [r12 + 0x18], 1
mov qword [r12], r9
mov ecx, 0xfc00
movzx eax, word [r9]
mov r11d, 0xd800
and ax, cx
mov edx, 1
cmp ax, r11w
jne 0x1401d8d64
mov eax, 2
mov qword [r12 + 0x18], rax
mov edx, eax
mov rcx, qword [r13 + 0x88]
mov r8, qword [r12 + 0x50]
mov rax, rcx
sub rax, r8
sar rax, 1
cmp rdx, rax
jbe 0x1401d8dc0
cmp r8, rcx
jb case.0x1401dabeb.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401dabeb.8193
cmp r8, qword [r13 + 0xa0]
ja 0x1401d8d9d
cmp dword [r13 + 0x30], 0
je case.0x1401dabeb.8193
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
movzx ecx, word [r8]
add r8, 2
movzx eax, word [r9]
add r9, 2
mov qword [r12 + 0x50], r8
mov qword [r12], r9
cmp ax, cx
jne case.0x1401dabeb.8193
sub rdx, 1
mov qword [r12 + 0x18], rdx
jne 0x1401d8dc0
mov r9, qword [rsp + 0x38]
jmp 0x1401d8930
mov r9, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
sub rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 2
jge 0x1401d8e26
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d896e.163
cmp r9, qword [r13 + 0xa0]
jmp 0x1401d8c42
movzx edx, word [r8 + 2]
lea rax, [r9 + 2]
movzx ecx, word [r9]
mov qword [r12 + 0x50], rax
cmp dx, cx
jne case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
lea rax, [r8 + 4]
mov qword [r12], rax
jmp 0x1401d8930
mov rbx, qword [r12 + 0x50]
cmp rbx, qword [r13 + 0x88]
jb 0x1401d8e7b
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d896e.163
cmp rbx, qword [r13 + 0xa0]
jmp 0x1401d8c42
test r14d, r14d
je 0x1401d8ff1
lea r11, [r8 + 2]
mov qword [r12 + 0x18], 1
mov qword [r12], r11
mov ecx, 0xfc00
movzx r9d, word [r11]
mov edx, 0xd800
mov eax, r9d
add r8, 4
and eax, ecx
cmp eax, edx
jne 0x1401d8ee9
movzx ecx, word [r8]
and r9d, 0x3ff
mov eax, r9d
and ecx, 0x3ff
shl eax, 0xa
mov r9d, ecx
or r9d, eax
mov ecx, 0xfc00
mov eax, 2
add r9d, 0x10000
mov qword [r12 + 0x18], rax
lea r10d, [rax + 2]
jmp 0x1401d8eef
mov r10d, 2
movzx edx, word [rbx]
mov eax, 0x80
cmp r9d, eax
jae 0x1401d8f3d
mov eax, 0xff
cmp edx, eax
ja 0x1401d8f0d
mov rax, qword [r13 + 0x38]
movzx edx, byte [rdx + rax]
mov rax, qword [r13 + 0x38]
movzx ecx, byte [r9 + rax]
cmp ecx, edx
jne case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
lea rax, [rbx + 2]
mov rbx, qword [rsp + 0xf8]
mov qword [r12], r8
mov qword [r12 + 0x50], rax
jmp 0x1401d8928
mov eax, edx
lea r8, [rbx + 2]
and eax, ecx
mov qword [r12 + 0x50], r8
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d8f7b
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 [r12 + 0x50], rax
add edx, 0x10000
mov rbx, qword [rsp + 0xf8]
lea rax, [r10 + r11]
mov r10d, dword [rsp + 0xe8]
mov qword [r12], rax
cmp edx, r9d
je 0x1401da41a
lea r8, [0x140000000]
mov eax, r9d
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x325e90]
mov eax, r9d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rax, [rax + rax*2]
mov ecx, dword [r8 + rax*4 + 0x321bd4]
add ecx, r9d
mov r9, qword [rsp + 0x38]
cmp edx, ecx
je 0x1401d8930
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
test r10d, r10d
je 0x1401d90a6
movzx edx, word [r8 + 2]
mov eax, 0x80
movzx r9d, word [rbx]
cmp edx, eax
jae 0x1401d903e
mov eax, 0xff
cmp r9d, eax
ja 0x1401d901f
mov rax, qword [r13 + 0x38]
movzx r9d, byte [r9 + rax]
mov rax, qword [r13 + 0x38]
movzx ecx, byte [rdx + rax]
cmp ecx, r9d
je 0x1401d90e4
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
cmp r9d, edx
je 0x1401d90e4
mov eax, edx
test edx, edx
jns 0x1401d9050
lea eax, [rdx + 0x7f]
sar eax, 7
lea r11, [0x140000000]
cdqe
movzx ecx, word [r11 + rax*2 + 0x325e90]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401d9078
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r11 + rax*2 + 0x32a290]
lea rax, [rax + rax*2]
mov ecx, dword [r11 + rax*4 + 0x321bd4]
add ecx, edx
cmp r9d, ecx
je 0x1401d90e4
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx eax, word [r8 + 2]
mov edx, 0xff
cmp ax, dx
ja 0x1401d90c2
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx r9d, byte [rcx + rax]
jmp 0x1401d90c5
mov r9d, eax
movzx eax, word [rbx]
cmp ax, dx
ja 0x1401d90d9
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx edx, byte [rcx + rax]
jmp 0x1401d90db
mov edx, eax
cmp r9d, edx
jne case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
lea rax, [rbx + 2]
mov rbx, qword [rsp + 0xf8]
mov qword [r12 + 0x50], rax
lea rax, [r8 + 4]
mov qword [r12], rax
jmp 0x1401d8930
mov r9, qword [r12 + 0x50]
cmp r9, qword [r13 + 0x88]
jae 0x1401d8e0c
lea rax, [r8 + 2]
test r14d, r14d
je 0x1401d9231
mov qword [r12], rax
lea r8, [rax + 2]
movzx edx, word [rax]
mov ecx, 0xfc00
mov eax, edx
mov qword [r12], r8
and eax, ecx
cmp eax, 0xd800
jne 0x1401d9171
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 0xfc00
lea rax, [r8 + 2]
add edx, 0x10000
mov qword [r12], rax
movzx r8d, word [r9]
add r9, 2
mov eax, r8d
mov qword [r12 + 0x50], r9
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d91b9
movzx ecx, word [r9]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
lea rax, [r9 + 2]
mov qword [r12 + 0x50], rax
add r8d, 0x10000
cmp edx, r8d
je case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
cmp r11b, 0x20
jne 0x1401d8930
cmp edx, 0x7f
jbe 0x1401d920d
lea r9, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r9 + rax*2 + 0x325e90]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r9 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
add edx, dword [r9 + rcx*4 + 0x321bd4]
jmp 0x1401d9215
mov rax, qword [r13 + 0x40]
movzx edx, byte [rax + rdx]
mov r9, qword [rsp + 0x38]
cmp edx, r8d
jne 0x1401d8930
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
test r10d, r10d
lea rdx, [r9 + 2]
movzx r10d, word [r9]
je 0x1401d92e2
mov qword [r12 + 0x50], rdx
movzx edx, word [rax]
lea rax, [r8 + 4]
mov qword [r12], rax
cmp edx, r10d
je case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
cmp r11b, 0x20
jne 0x1401d8928
cmp edx, 0x7f
jbe 0x1401d92bb
mov eax, edx
test edx, edx
jns 0x1401d9278
lea eax, [rdx + 0x7f]
sar eax, 7
lea r8, [0x140000000]
cdqe
movzx ecx, word [r8 + rax*2 + 0x325e90]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401d92a0
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r8 + rax*2 + 0x32a290]
lea rcx, [rax + rax*2]
add edx, dword [r8 + rcx*4 + 0x321bd4]
jmp 0x1401d92c3
mov rax, qword [r13 + 0x40]
movzx edx, byte [rax + rdx]
cmp edx, r10d
mov r10d, dword [rsp + 0xe8]
jne 0x1401d8930
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx ecx, word [rax]
mov qword [r12 + 0x50], rdx
cmp ecx, r10d
je case.0x1401d896e.163
cmp r11b, 0x20
jne 0x1401d9313
mov eax, 0xff
cmp ecx, eax
ja 0x1401d9313
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rcx]
cmp ecx, r10d
je case.0x1401d896e.163
mov r9, qword [rsp + 0x38]
lea rax, [r8 + 4]
mov qword [r12], rax
jmp 0x1401d8928
movzx r9d, word [r8 + 2]
add r8, 4
mov dword [r12 + 0x3c], r9d
mov dword [r12 + 0x38], r9d
mov qword [r12], r8
jmp 0x1401d9469
mov eax, 2
mov ebp, eax
mov dword [rsp + 0xe0], eax
xor r11d, r11d
mov dword [r12 + 0x38], r11d
mov r9d, r11d
movzx eax, word [r8 + 2]
add r8, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], r8
jmp 0x1401d946c
mov ebp, 1
mov dword [rsp + 0xe0], ebp
jmp 0x1401d934f
xor r11d, r11d
mov ebp, r11d
mov dword [rsp + 0xe0], r11d
jmp 0x1401d9352
mov eax, 2
xor r11d, r11d
mov dword [r12 + 0x38], r11d
add r8, rax
mov dword [r12 + 0x3c], 0xffffffff
mov ebp, eax
mov qword [r12], r8
mov r9d, r11d
mov dword [rsp + 0xe0], eax
jmp 0x1401d946c
mov eax, 2
mov dword [r12 + 0x38], 1
add r8, rax
mov dword [r12 + 0x3c], 0xffffffff
mov ebp, eax
mov dword [rsp + 0xe0], eax
mov qword [r12], r8
lea r9d, [rax - 1]
jmp 0x1401d9469
mov eax, 2
xor r11d, r11d
mov dword [r12 + 0x38], r11d
add r8, rax
mov dword [r12 + 0x3c], 1
mov ebp, eax
mov qword [r12], r8
mov r9d, r11d
mov dword [rsp + 0xe0], eax
jmp 0x1401d946c
mov ecx, 0x21
lea rdx, [0x140000000]
mov eax, 0x2e
cmp r11b, al
cmovb eax, ecx
movzx ecx, word [r8]
sub ecx, eax
add r8, 2
mov qword [r12], r8
lea rcx, [rcx*4]
mov r9d, dword [rcx + rdx + 0x320f48]
mov eax, dword [rcx + rdx + 0x320f78]
mov ebp, dword [rcx + rdx + 0x320fa8]
mov dword [r12 + 0x38], r9d
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
xor r11d, r11d
test r14d, r14d
je 0x1401d9706
mov qword [r12 + 0x18], 1
lea rcx, [r8 + 2]
mov qword [r12 + 0x10], r8
movzx edx, word [r8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401d96fb
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
mov qword [r12 + 0x18], rax
add edx, 0x10000
lea rax, [r8 + 4]
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401d9519
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x325e90]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rax, [rax + rax*2]
mov ecx, dword [r8 + rax*4 + 0x321bd4]
add ecx, edx
cmp ecx, edx
je 0x1401d9519
lea rdx, [r12 + 0x4a]
call fcn.14021a8f0
mov eax, eax
jmp 0x1401d951c
mov rax, r11
mov qword [r12 + 0x28], rax
mov ebp, 1
mov eax, dword [r12 + 0x38]
cmp eax, ebp
jb 0x1401d95be
mov rax, qword [r12 + 0x18]
mov rsi, qword [r13 + 0x88]
mov rbx, qword [r12 + 0x50]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d9567
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
je 0x1401d959f
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401d9685
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d9685
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
jne 0x1401d9685
lea rax, [rdi + rbx]
mov edx, 0x50
mov rcx, r12
inc ebp
mov qword [rcx + rdx], rax
mov eax, dword [r12 + 0x38]
cmp ebp, eax
jbe 0x1401d9533
mov ecx, dword [r12 + 0x3c]
mov ebp, eax
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp eax, ecx
je 0x1401d88e5
cmp dword [rsp + 0xe0], 0
je 0x1401e283e
mov rbx, qword [r12 + 0x50]
mov qword [r12 + 8], rbx
cmp eax, ecx
jae 0x1401d96c4
nop
mov rax, qword [r12 + 0x18]
mov rsi, qword [r13 + 0x88]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d963f
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
je 0x1401d966b
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401d9693
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d9693
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
jne 0x1401d9693
add rbx, rdi
mov ecx, 0x50
mov rax, r12
inc ebp
mov qword [rax + rcx], rbx
cmp ebp, dword [r12 + 0x3c]
jb 0x1401d9610
jmp 0x1401d96c4
cmp rbx, rsi
jb case.0x1401d896e.163
jmp 0x1401d8e61
cmp rbx, rsi
jb 0x1401d96c4
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d96c4
cmp rbx, qword [r13 + 0xa0]
ja 0x1401d96b2
cmp dword [r13 + 0x30], 0
je 0x1401d96c4
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e0e2c
mov qword [r12], rcx
mov dword [r12 + 0x40], edx
jmp 0x1401d9717
movzx edx, word [r8]
lea rax, [r8 + 2]
mov dword [r12 + 0x40], edx
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401d9863
test r14d, r14d
jne 0x1401d972d
test r10d, r10d
je 0x1401d976b
cmp edx, 0x7f
jbe 0x1401d976b
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r8 + rax*2 + 0x325e90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rax, [rax + rax*2]
mov ecx, dword [r8 + rax*4 + 0x321bd4]
add ecx, edx
jmp 0x1401d9780
mov eax, 0xff
cmp edx, eax
ja 0x1401d977e
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rdx]
jmp 0x1401d9780
mov ecx, edx
mov r8d, 1
mov dword [r12 + 0x44], ecx
cmp r9d, r8d
jb 0x1401d97ca
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx ecx, word [rax]
mov edx, dword [r12 + 0x40]
cmp edx, ecx
je 0x1401d97b9
cmp dword [r12 + 0x44], ecx
jne case.0x1401d896e.163
add rax, 2
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401d9790
mov r8d, dword [r12 + 0x3c]
mov r10d, r9d
cmp r9d, r8d
mov r9, qword [rsp + 0x38]
je 0x1401d8928
test ebp, ebp
je 0x1401e0418
mov rax, qword [r12 + 0x50]
mov qword [r12 + 8], rax
cmp r10d, r8d
jae 0x1401d984d
cmp rax, qword [r13 + 0x88]
jae 0x1401d9821
movzx ecx, word [rax]
cmp edx, ecx
je 0x1401d980e
cmp dword [r12 + 0x44], ecx
jne 0x1401d984d
add rax, 2
inc r10d
mov qword [r12 + 0x50], rax
cmp r10d, r8d
jb 0x1401d97f7
jmp 0x1401d984d
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d984d
cmp rax, qword [r13 + 0xa0]
ja 0x1401d983b
cmp dword [r13 + 0x30], 0
je 0x1401d984d
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e0449
mov r8d, 1
cmp r9d, r8d
jb 0x1401d98a1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne case.0x1401d896e.163
inc r8d
cmp r8d, r9d
jbe 0x1401d9870
mov edx, dword [r12 + 0x3c]
mov r8d, r9d
cmp r9d, edx
mov r9, qword [rsp + 0x38]
je 0x1401d8930
test ebp, ebp
je 0x1401e04b9
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
cmp r8d, edx
jae 0x1401d9922
nop
cmp rcx, qword [r13 + 0x88]
jae 0x1401d98f6
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
jne 0x1401d9922
add rcx, 2
inc r8d
mov qword [r12 + 0x50], rcx
cmp r8d, edx
jb 0x1401d98d0
jmp 0x1401d9922
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d9922
cmp rcx, qword [r13 + 0xa0]
ja 0x1401d9910
cmp dword [r13 + 0x30], 0
je 0x1401d9922
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e04ea
movzx r9d, word [r8 + 2]
lea r11, [0x140000000]
mov dword [r12 + 0x3c], r9d
add r8, 4
mov dword [r12 + 0x38], r9d
mov qword [r12], r8
jmp 0x1401d9abd
xor r11d, r11d
mov dword [r12 + 0x38], r11d
mov r9d, r11d
movzx eax, word [r8 + 2]
add r8, 4
mov dword [r12 + 0x3c], eax
lea ebp, [r11 + 1]
mov qword [r12], r8
lea r11, [0x140000000]
jmp 0x1401d9ab6
xor r11d, r11d
mov dword [r12 + 0x38], r11d
mov ebp, r11d
movzx eax, word [r8 + 2]
mov r9d, r11d
add r8, 4
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], r11d
lea r11, [0x140000000]
mov qword [r12], r8
jmp 0x1401d9abd
xor r11d, r11d
mov dword [r12 + 0x38], r11d
mov dword [r12 + 0x3c], 0xffffffff
mov eax, 2
mov r9d, r11d
add r8, rax
mov dword [rsp + 0xe0], eax
mov qword [r12], r8
lea r11, [0x140000000]
mov ebp, eax
jmp 0x1401d9abd
mov eax, 2
mov dword [r12 + 0x38], 1
add r8, rax
mov dword [r12 + 0x3c], 0xffffffff
mov ebp, eax
mov dword [rsp + 0xe0], eax
mov qword [r12], r8
lea r11, [0x140000000]
lea r9d, [rax - 1]
jmp 0x1401d9abd
xor r11d, r11d
mov dword [r12 + 0x38], r11d
mov dword [r12 + 0x3c], 1
jmp 0x1401d99c5
mov eax, 2
lea r11, [0x140000000]
xor ecx, ecx
mov dword [rsp + 0xe0], eax
mov dword [r12 + 0x38], ecx
mov ebp, eax
movzx eax, word [r8 + 2]
mov r9d, ecx
add r8, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], r8
jmp 0x1401d9abd
cmp r11b, 0x48
mov ecx, 0x48
lea r11, [0x140000000]
mov eax, 0x3b
cmovae eax, ecx
movzx ecx, word [r8]
sub ecx, eax
add r8, 2
mov qword [r12], r8
lea rcx, [rcx*4]
mov r9d, dword [rcx + r11 + 0x320f48]
mov eax, dword [rcx + r11 + 0x320f78]
mov ebp, dword [rcx + r11 + 0x320fa8]
mov dword [r12 + 0x38], r9d
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
movzx ecx, word [r8]
lea rdx, [r8 + 2]
mov dword [r12 + 0x40], ecx
mov r8d, ecx
mov qword [r12], rdx
test r14d, r14d
je 0x1401d9b0f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401d9b0f
movzx r8d, word [rdx]
lea rax, [rdx + 2]
and ecx, 0x3ff
and r8d, 0x3ff
shl ecx, 0xa
or r8d, ecx
add r8d, 0x10000
mov dword [r12 + 0x40], r8d
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x48
jb 0x1401d9dcc
test r14d, r14d
jne 0x1401d9b25
test r10d, r10d
je 0x1401d9b60
cmp r8d, 0x7f
jbe 0x1401d9b60
mov eax, r8d
shr rax, 7
movzx ecx, word [r11 + rax*2 + 0x325e90]
mov eax, r8d
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r11 + rcx*2 + 0x32a290]
lea rax, [rax + rax*2]
mov r11d, dword [r11 + rax*4 + 0x321bd4]
add r11d, r8d
jmp 0x1401d9b7b
mov eax, 0xff
cmp r8d, eax
ja 0x1401d9b78
mov rax, qword [r13 + 0x40]
mov ecx, r8d
movzx r11d, byte [rax + rcx]
jmp 0x1401d9b7b
mov r11d, r8d
mov dword [r12 + 0x44], r11d
test r14d, r14d
je 0x1401d9c09
mov ebx, 1
cmp r9d, ebx
jb 0x1401d9c04
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r10, [rax + 2]
mov ecx, 0xfc00
mov qword [r12 + 0x50], r10
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d9beb
movzx ecx, word [r10]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r10 + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
cmp r8d, edx
je case.0x1401d896e.163
cmp r11d, edx
je case.0x1401d896e.163
inc ebx
cmp ebx, r9d
jbe 0x1401d9b93
mov ebx, r9d
jmp 0x1401d9c57
mov edx, 1
mov ebx, r9d
cmp r9d, edx
jb 0x1401d9c57
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx ecx, word [rax]
cmp r8d, ecx
je case.0x1401d896e.163
cmp r11d, ecx
je case.0x1401d896e.163
add rax, 2
inc edx
mov qword [r12 + 0x50], rax
cmp edx, r9d
jbe 0x1401d9c20
mov r10d, dword [r12 + 0x3c]
cmp r9d, r10d
mov r9, qword [rsp + 0x38]
je 0x1401d8920
test ebp, ebp
je 0x1401e2571
mov r8, qword [r12 + 0x50]
mov qword [r12 + 8], r8
test r14d, r14d
je 0x1401d9d50
cmp ebx, r10d
jae 0x1401d9d2d
mov r9d, 0xfc00
mov r11d, 0xd800
nop word [rax + rax]
cmp r8, qword [r13 + 0x88]
jae 0x1401d9d01
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, r9d
cmp eax, r11d
jne 0x1401d9ce1
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 [r12 + 0x40], edx
je 0x1401d9d2d
cmp dword [r12 + 0x44], edx
je 0x1401d9d2d
inc ebx
lea r8, [r8 + rcx*2]
mov qword [r12 + 0x50], r8
cmp ebx, r10d
jb 0x1401d9ca0
jmp 0x1401d9d2d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d9d2d
cmp r8, qword [r13 + 0xa0]
ja 0x1401d9d1b
cmp dword [r13 + 0x30], 0
je 0x1401d9d2d
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e0f30
cmp ebx, r10d
jae 0x1401d9dae
cmp r8, qword [r13 + 0x88]
jae 0x1401d9d82
movzx eax, word [r8]
cmp dword [r12 + 0x40], eax
je 0x1401d9dae
cmp dword [r12 + 0x44], eax
je 0x1401d9dae
add r8, 2
inc ebx
mov qword [r12 + 0x50], r8
cmp ebx, r10d
jb 0x1401d9d55
jmp 0x1401d9dae
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d9dae
cmp r8, qword [r13 + 0xa0]
ja 0x1401d9d9c
cmp dword [r13 + 0x30], 0
je 0x1401d9dae
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rbx, qword [rsp + 0xf8]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e059e
test r14d, r14d
je 0x1401d9e9d
mov r10d, 1
cmp r9d, r10d
jb 0x1401d9ee3
mov r11d, 0xd800
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d9e5b
movzx edx, word [rax]
lea r9, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r9
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401d9e40
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 [r12 + 0x50], rax
add edx, 0x10000
cmp r8d, edx
je case.0x1401dabeb.8193
mov r9d, dword [r12 + 0x38]
inc r10d
cmp r10d, r9d
jbe 0x1401d9df0
jmp 0x1401d9ee3
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401dabeb.8193
cmp rax, qword [r13 + 0xa0]
ja 0x1401d9e7d
cmp dword [r13 + 0x30], 0
je case.0x1401dabeb.8193
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov edx, 1
cmp r9d, edx
jb 0x1401d9ee3
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp r8d, ecx
je case.0x1401d896e.163
mov r9d, dword [r12 + 0x38]
inc edx
cmp edx, r9d
jbe 0x1401d9eb0
mov r10d, dword [r12 + 0x3c]
cmp r9d, r10d
mov r9, qword [rsp + 0x38]
je 0x1401d8928
test ebp, ebp
je 0x1401e2591
mov rdx, qword [r12 + 0x50]
mov qword [r12 + 8], rdx
mov r9d, dword [r12 + 0x38]
test r14d, r14d
je 0x1401d9fce
cmp r9d, r10d
jae 0x1401d9fb3
mov r11d, 0xfc00
cmp rdx, qword [r13 + 0x88]
jae 0x1401d9f87
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, r11d
cmp eax, 0xd800
jne 0x1401d9f6d
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 [r12 + 0x40], r8d
je 0x1401d9fb3
inc r9d
lea rdx, [rdx + rcx*2]
mov qword [r12 + 0x50], rdx
cmp r9d, r10d
jb 0x1401d9f25
jmp 0x1401d9fb3
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d9fb3
cmp rdx, qword [r13 + 0xa0]
ja 0x1401d9fa1
cmp dword [r13 + 0x30], 0
je 0x1401d9fb3
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e1021
cmp r9d, r10d
jae 0x1401da025
cmp rdx, qword [r13 + 0x88]
jae 0x1401d9ff9
movzx eax, word [rdx]
cmp dword [r12 + 0x40], eax
je 0x1401da025
add rdx, 2
inc r9d
mov qword [r12 + 0x50], rdx
cmp r9d, r10d
jb 0x1401d9fd3
jmp 0x1401da025
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401da025
cmp rdx, qword [r13 + 0xa0]
ja 0x1401da013
cmp dword [r13 + 0x30], 0
je 0x1401da025
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e063f
lea rax, [r8 + 2]
add r8, 0x22
mov qword [r12 + 0x10], rax
mov qword [r12], r8
movzx edx, word [r8]
lea eax, [rdx - 0x62]
cmp eax, 0xb
ja case.default.0x1401da075
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x1e3224]
add rcx, r9
jmp rcx
lea rax, [r8 + 2]
mov qword [r12], rax
lea eax, [rdx - 0x62]
mov ecx, eax
mov eax, dword [r9 + rax*4 + 0x320f48]
mov dword [r12 + 0x38], eax
mov eax, dword [r9 + rcx*4 + 0x320f78]
mov ebp, dword [r9 + rcx*4 + 0x320fa8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
jmp 0x1401da100
movzx eax, word [r8 + 2]
mov dword [r12 + 0x38], eax
movzx eax, word [r8 + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401da0d1
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [r8]
mov ebp, dword [r9 + rax*4 + 0x320e20]
lea rax, [r8 + 6]
mov qword [r12], rax
mov dword [rsp + 0xe0], ebp
jmp 0x1401da100
mov dword [r12 + 0x3c], 1
mov dword [r12 + 0x38], 1
mov eax, dword [r12 + 0x38]
mov r9d, 1
test r14d, r14d
je 0x1401da27e
cmp eax, r9d
jb 0x1401da1d3
mov r11d, 0xd800
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d9e5b
movzx r8d, word [rax]
lea rdx, [rax + 2]
mov eax, r8d
mov qword [r12 + 0x50], rdx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da17d
movzx ecx, word [rdx]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add r8d, 0x10000
mov eax, 0xff
cmp r8d, eax
jbe 0x1401da1a0
cmp byte [r12 + 0x49], 0x6e
jne 0x1401da1c2
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
mov r15d, eax
jmp 0x1401df2bc
mov rax, qword [r12 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
test byte [rcx + rax], dl
je case.0x1401dabeb.8193
mov eax, dword [r12 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401da123
mov r11d, dword [r12 + 0x3c]
mov r9, qword [rsp + 0x38]
cmp eax, r11d
je 0x1401d8930
test ebp, ebp
je 0x1401e25b1
mov r9, qword [r12 + 0x50]
mov qword [r12 + 8], r9
mov ebx, dword [r12 + 0x38]
test r14d, r14d
je 0x1401da37f
cmp ebx, r11d
jae 0x1401da36c
nop
cmp r9, qword [r13 + 0x88]
jae 0x1401da340
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401da265
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
mov eax, 0xff
cmp r8d, eax
jbe 0x1401da30c
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401da328
cmp eax, r9d
jb 0x1401da1d3
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx r8d, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
mov eax, 0xff
cmp r8d, eax
jbe 0x1401da2d8
cmp byte [r12 + 0x49], 0x6e
jne 0x1401da2fa
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
mov r11d, 0xd800
mov r15d, eax
jmp 0x1401df2bc
mov rax, qword [r12 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov rcx, r8
shr rcx, 3
test byte [rcx + rax], dl
je case.0x1401d896e.163
mov eax, dword [r12 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401da290
jmp 0x1401da1d3
mov rax, qword [r12 + 0x10]
mov ecx, r8d
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, r8d
shr rcx, 3
test byte [rcx + rax], dl
je 0x1401da36c
inc ebx
lea r9, [r9 + r10*2]
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401da210
jmp 0x1401da36c
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401da36c
cmp r9, qword [r13 + 0xa0]
ja 0x1401da35a
cmp dword [r13 + 0x30], 0
je 0x1401da36c
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
cmp ebp, 2
jne 0x1401e281e
mov r9, qword [rsp + 0x38]
jmp 0x1401d8920
cmp ebx, r11d
jae 0x1401da409
nop dword [rax + rax]
cmp r9, qword [r13 + 0x88]
jae 0x1401da3dd
movzx eax, word [r9]
mov ecx, 0xff
cmp eax, ecx
jbe 0x1401da3ae
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401da3c9
mov ecx, eax
mov edx, 1
and ecx, 7
shl edx, cl
mov rcx, rax
mov rax, qword [r12 + 0x10]
shr rcx, 3
test byte [rcx + rax], dl
je 0x1401da409
add r9, 2
inc ebx
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401da390
jmp 0x1401da409
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401da409
cmp r9, qword [r13 + 0xa0]
ja 0x1401da3f7
cmp dword [r13 + 0x30], 0
je 0x1401da409
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
cmp ebp, 2
jne 0x1401e03a1
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8930
lea rax, [r8 + 4]
mov qword [r12 + 0x10], rax
movzx eax, word [r8 + 2]
lea rdx, [r8 + rax*2]
mov qword [r12], rdx
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 0xb
ja case.default.0x1401da45f
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x1e3254]
add rcx, r9
jmp rcx
lea rax, [rdx + 2]
mov qword [r12], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r9 + rax*4 + 0x320f48]
mov dword [r12 + 0x38], eax
mov eax, dword [r9 + rcx*4 + 0x320f78]
mov ebp, dword [r9 + rcx*4 + 0x320fa8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
jmp 0x1401da4ed
movzx eax, word [rdx + 2]
mov dword [r12 + 0x38], eax
movzx eax, word [rdx + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401da4bf
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [rdx]
mov ebp, dword [r9 + rax*4 + 0x320e20]
lea rax, [rdx + 6]
mov qword [r12], rax
mov dword [rsp + 0xe0], ebp
jmp 0x1401da4ed
mov dword [r12 + 0x3c], 1
mov dword [r12 + 0x38], 1
mov edi, dword [r12 + 0x38]
mov ebx, 1
cmp edi, ebx
jb 0x1401da58a
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx r9d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401da563
mov ecx, 0xfc00
mov eax, r9d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401da563
movzx ecx, word [rdx]
and r9d, 0x3ff
mov eax, r9d
and ecx, 0x3ff
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add r9d, 0x10000
mov rdx, qword [r12 + 0x10]
mov r8d, r14d
mov ecx, r9d
call fcn.14021e120
test eax, eax
je case.0x1401d896e.163
mov edi, dword [r12 + 0x38]
inc ebx
cmp ebx, edi
jbe 0x1401da500
mov eax, dword [r12 + 0x3c]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp edi, eax
je 0x1401d88fd
test ebp, ebp
je 0x1401e27ee
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
cmp edi, eax
jae 0x1401da672
cmp rcx, qword [r13 + 0x88]
jae 0x1401da646
movzx r9d, word [rcx]
mov ebx, 1
test r14d, r14d
je 0x1401da619
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401da619
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 [r12 + 0x10]
mov r8d, r14d
mov ecx, r9d
call fcn.14021e120
test eax, eax
je 0x1401da672
lea rax, [rbx + rbx]
inc edi
add qword [r12 + 0x50], rax
mov rcx, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401da5c6
jmp 0x1401da672
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401da672
cmp rcx, qword [r13 + 0xa0]
ja 0x1401da660
cmp dword [r13 + 0x30], 0
je 0x1401da672
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
cmp ebp, 2
jne 0x1401e0bf7
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401da6ce
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d896e.163
cmp rax, qword [r13 + 0xa0]
ja 0x1401da6c5
cmp dword [r13 + 0x30], 0
je case.0x1401d896e.163
cmp cx, 1
jmp 0x1401d8c53
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401da71b
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da71b
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja 0x1401da7be
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401da7be
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401da7a3
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da7a3
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x1401dabeb.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401dabeb.8193
mov r9, qword [rsp + 0x38]
lea rax, [r8 + 2]
mov qword [r12], rax
jmp 0x1401d8930
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401da82f
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da82f
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja 0x1401da7be
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401da7be
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401da8b1
mov r11d, 0xfc00
mov eax, ecx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x1401da8b7
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
jmp 0x1401da8b7
mov r11d, 0xd800
mov eax, 0xff
cmp ecx, eax
ja case.0x1401dabeb.8193
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401dabeb.8193
lea rax, [r8 + 2]
mov qword [r12], rax
jmp 0x1401d8930
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401da93e
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da93e
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja 0x1401da7be
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401da7be
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401da9c6
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401da9c6
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0xff
cmp edx, eax
ja case.0x1401dabeb.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1401da7b8
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x88]
jb 0x1401daa08
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d896e.163
cmp r8, qword [r13 + 0xa0]
jmp 0x1401d8c42
movzx edx, word [r8]
add r8, 2
mov qword [r12 + 0x50], r8
mov rcx, r8
test r14d, r14d
je 0x1401daa5d
mov r11d, 0xfc00
mov eax, edx
and eax, r11d
mov r11d, 0xd800
cmp eax, r11d
jne 0x1401daa63
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 [r12 + 0x50], rcx
jmp 0x1401daa63
mov r11d, 0xd800
cmp edx, 0xd
ja 0x1401daacc
je 0x1401daa74
sub edx, 0xa
je case.0x1401dabeb.8203
sub edx, 1
jmp 0x1401daada
cmp rcx, qword [r13 + 0x88]
jb 0x1401daab3
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401dabeb.8203
cmp rcx, qword [r13 + 0xa0]
ja 0x1401daa97
cmp dword [r13 + 0x30], 0
je case.0x1401dabeb.8203
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
add qword [r12], 2
jmp 0x1401d8930
cmp word [rcx], 0xa
jne case.0x1401dabeb.8203
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
jmp 0x1401d8930
sub edx, 0x85
je 0x1401daae5
sub edx, 0x1fa3
je 0x1401daae5
cmp edx, 1
jne case.0x1401dabeb.8193
cmp word [r13 + 0x62], 2
jne case.0x1401dabeb.8203
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
mov r11d, 0xd800
test r14d, r14d
je 0x1401dab5a
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dab5a
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401dabae
je case.0x1401dabeb.8193
cmp edx, 9
je case.0x1401dabeb.8193
cmp edx, 0x20
je case.0x1401dabeb.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401dabeb.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401dabeb.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401dabeb.8193
add qword [r12], 2
jmp 0x1401d8930
mov eax, 0x3000
cmp edx, eax
ja case.0x1401dabeb.8203
je case.0x1401dabeb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401dabeb.8203
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1e328c]
mov ecx, dword [rdx + rax*4 + 0x1e3284]
add rcx, rdx
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov r11d, 0xd800
test r14d, r14d
je 0x1401dac48
mov eax, ecx
mov r8d, 0xfc00
and eax, r8d
cmp eax, r11d
jne 0x1401dac48
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
mov r8d, 0x2000
cmp ecx, r8d
ja 0x1401daca0
je case.0x1401dabeb.8203
cmp ecx, 9
je case.0x1401dabeb.8203
cmp ecx, 0x20
je case.0x1401dabeb.8203
mov eax, 0xa0
cmp ecx, eax
je case.0x1401dabeb.8203
mov eax, 0x1680
cmp ecx, eax
je case.0x1401dabeb.8203
mov eax, 0x180e
cmp ecx, eax
je case.0x1401dabeb.8203
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov eax, 0x3000
cmp ecx, eax
ja case.0x1401dabeb.8193
je case.0x1401dabeb.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401dabeb.8193
lea rdx, [0x140000000]
movzx eax, byte [rdx + rcx + 0x1e32f4]
mov ecx, dword [rdx + rax*4 + 0x1e32ec]
add rcx, rdx
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401dad3c
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dad3c
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 [r12 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401dad61
je case.0x1401dabeb.8193
sub edx, 0xa
je case.0x1401dabeb.8193
sub edx, 1
je case.0x1401dabeb.8193
cmp edx, 1
jmp 0x1401da7b8
sub edx, 0x85
je case.0x1401dabeb.8193
sub edx, 0x1fa3
je case.0x1401dabeb.8193
cmp edx, 1
jmp 0x1401da7b8
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
mov r11d, 0xd800
test r14d, r14d
je 0x1401dade0
mov eax, edx
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dade0
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 [r12 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401dadf9
je 0x1401da7be
sub edx, 0xa
je 0x1401da7be
sub edx, 1
jmp 0x1401dae0b
sub edx, 0x85
je 0x1401da7be
sub edx, 0x1fa3
je 0x1401da7be
cmp edx, 1
je 0x1401da7be
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b6
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401da6a3
movzx edx, word [rax]
lea r9, [rax + 2]
mov qword [r12 + 0x50], r9
test r14d, r14d
je 0x1401dae85
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dae85
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 [r12 + 0x50], rax
add edx, 0x10000
lea r9, [0x140000000]
mov eax, edx
shr rax, 7
movzx ecx, word [r9 + rax*2 + 0x325e90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r9 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
xor eax, eax
cmp r11b, 0xf
lea r9, [r9 + rcx*4]
mov r10d, eax
lea r9, [r9 + 0x321bd0]
movzx eax, word [r8 + 2]
sete r10b
cmp eax, 0xd
ja case.0x1401e0781.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1e3354]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp r11b, 0xf
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx ecx, byte [r9 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x1401daf1f
cmp cl, 5
je 0x1401daf1f
xor eax, eax
jmp 0x1401daf24
mov eax, 1
cmp eax, r10d
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx eax, word [r8 + 4]
xor ecx, ecx
movzx edx, byte [r9 + 1]
lea r8, [0x140000000]
cmp eax, dword [r8 + rdx*4 + 0x33dcc0]
sete cl
cmp ecx, r10d
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx eax, byte [r9 + 1]
xor ecx, ecx
cmp word [r8 + 4], ax
sete cl
cmp ecx, r10d
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx eax, byte [r9]
jmp 0x1401daf75
movzx ecx, word [r8 + 4]
movzx eax, byte [r9]
cmp cx, ax
je 0x1401daf1f
movzx edx, word [r9 + 8]
movzx eax, cx
and edx, 0x3ff
shr rax, 5
and ecx, 0x1f
add rdx, rax
lea rax, [0x140000000]
mov eax, dword [rax + rdx*4 + 0x3218d0]
bt eax, ecx
jb 0x1401daf1f
xor eax, eax
jmp 0x1401daf24
movzx eax, byte [r9 + 1]
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x33dcc0]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r10d
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401db0c5
je case.0x1401daef0.0
cmp edx, 0x20
ja 0x1401db09c
je case.0x1401daef0.0
sub edx, 9
je case.0x1401daef0.0
sub edx, 1
je case.0x1401daef0.0
sub edx, 1
je case.0x1401daef0.0
sub edx, 1
je case.0x1401daef0.0
cmp edx, 1
je case.0x1401daef0.0
movzx ecx, byte [r9 + 1]
lea r8, [0x140000000]
xor eax, eax
cmp dword [r8 + rcx*4 + 0x33dcc0], 6
sete al
cmp eax, r10d
jne 0x1401db21e
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
sub edx, 0x85
je case.0x1401daef0.0
sub edx, 0x1b
je case.0x1401daef0.0
sub edx, 0x15e0
je case.0x1401daef0.0
cmp edx, 0x18e
jmp 0x1401db065
mov eax, 0x3000
cmp edx, eax
ja case.0x1401db0ff.8194
je case.0x1401daef0.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401db0ff.8194
lea rcx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x1e3394]
mov ecx, dword [rcx + rax*4 + 0x1e338c]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movzx ecx, byte [r9 + 1]
mov eax, dword [rax + rcx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401daf1f
sub cl, 0xc
test cl, 0xfb
je 0x1401daf1f
xor eax, eax
jmp 0x1401daf24
movzx eax, word [r8 + 4]
lea r10, [0x140000000]
lea rcx, [r10 + 0x3215f0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401db15e
nop word [rax + rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401db16a
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401db150
cmp r11b, 0xf
je 0x1401db21e
jmp 0x1401db174
cmp r11b, 0xf
jne 0x1401db21e
xor edi, edi
mov ebx, edi
mov rbp, qword [rsp + 0x30]
mov r11d, 0xd800
mov r15d, 0xff
jmp 0x1401df2c3
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401db1aa
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401daf1f
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401daf1f
cmp edx, 0xe000
jae 0x1401daf1f
xor eax, eax
jmp 0x1401daf24
movzx eax, word [r9 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [r8 + 4]
jmp 0x1401daf7c
movzx ecx, word [r8 + 4]
movzx edx, word [r9 + 0xa]
mov eax, ecx
shr rax, 5
and edx, 0xfff
add rdx, rax
and ecx, 0x1f
lea rax, [0x140000000]
mov eax, dword [rax + rdx*4 + 0x321060]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r10d
je case.0x1401d896e.163
add qword [r12], 6
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jb 0x1401db255
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d896e.163
cmp rdx, qword [r13 + 0xa0]
jmp 0x1401d8c42
movzx r10d, word [rdx]
add rdx, 2
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401db2ad
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401db2ad
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 [r12 + 0x50], rcx
mov r9, qword [r13 + 0x88]
xor eax, eax
mov r8, qword [r13 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], rax
mov ecx, r10d
mov dword [rsp + 0x20], r14d
call fcn.14021da20
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401db309
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401db309
cmp rax, qword [r13 + 0xa0]
ja 0x1401db2f7
cmp dword [r13 + 0x30], 0
je 0x1401db309
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
add qword [r12], 2
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
movzx eax, word [r8 + 2]
lea r10, [0x140000000]
mov dword [r12 + 0x3c], eax
add r8, 4
mov dword [r12 + 0x38], eax
mov qword [r12], r8
jmp 0x1401db47b
xor edi, edi
lea r10, [0x140000000]
mov dword [r12 + 0x38], edi
mov ebp, edi
movzx eax, word [r8 + 2]
mov dword [r12 + 0x3c], eax
cmp word [r8], 0x5c
setne bpl
add r8, 4
mov qword [r12], r8
mov dword [rsp + 0xe0], ebp
jmp 0x1401db47d
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xe0], eax
mov dword [r12 + 0x38], edi
add r8, rax
mov dword [r12 + 0x3c], 0xffffffff
mov ebp, eax
mov qword [r12], r8
jmp 0x1401db47d
mov eax, 2
mov dword [r12 + 0x38], 1
add r8, rax
mov dword [r12 + 0x3c], 0xffffffff
mov qword [r12], r8
lea r10, [0x140000000]
mov ebp, eax
mov dword [rsp + 0xe0], eax
jmp 0x1401db47b
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xe0], eax
mov dword [r12 + 0x38], edi
add r8, rax
mov dword [r12 + 0x3c], 1
mov ebp, eax
mov qword [r12], r8
jmp 0x1401db47d
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0xe0], eax
mov dword [r12 + 0x38], edi
mov ebp, eax
movzx eax, word [r8 + 2]
add r8, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], r8
jmp 0x1401db47d
movzx eax, word [r8]
lea r10, [0x140000000]
sub eax, 0x55
add r8, 2
mov qword [r12], r8
lea rcx, [rax*4]
mov eax, dword [rcx + r10 + 0x320f48]
mov ebp, dword [rcx + r10 + 0x320fa8]
mov dword [r12 + 0x38], eax
mov eax, dword [rcx + r10 + 0x320f78]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
xor edi, edi
movzx eax, word [r8]
lea rcx, [r8 + 2]
mov dword [r12 + 0x40], eax
sub ax, 0xf
mov qword [r12], rcx
cmp ax, 1
jbe 0x1401db49f
mov esi, 0xffffffff
jmp 0x1401db4ba
movzx esi, word [rcx]
add rcx, 2
mov qword [r12], rcx
movzx eax, word [rcx]
mov dword [r12 + 0x44], eax
lea rax, [rcx + 2]
mov qword [r12], rax
mov r9d, dword [r12 + 0x38]
test r9d, r9d
je 0x1401dc292
mov edx, dword [r12 + 0x40]
test esi, esi
js 0x1401dbfbc
cmp edx, 0xf
mov r11d, edi
sete r11b
cmp esi, 0xd
ja case.0x1401e0781.15
movsxd rax, esi
mov ecx, dword [r10 + rax*4 + 0x1e33f4]
add rcx, r10
jmp rcx
cmp edx, 0xf
je case.0x1401dcc76.8193
mov edx, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401db54c
mov r8d, 0xfc00
and ecx, r8d
mov r8d, 0xd800
cmp ecx, r8d
jne 0x1401db54c
add rax, 2
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401db510
jmp 0x1401dc292
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401dcc76.8193
cmp rax, qword [r13 + 0xa0]
ja 0x1401db57a
cmp dword [r13 + 0x30], 0
je case.0x1401dcc76.8193
mov dword [r13 + 0x28], 1
cmp cx, 1
jbe case.0x1401dcc76.8193
mov eax, 0xfffffffe
jmp 0x1401e2ffe
mov r9d, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401db5f9
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401db5f9
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401db634
mov eax, edi
cmp dl, 8
jne 0x1401db639
mov eax, 1
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401db5a0
jmp 0x1401dc292
mov r10d, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db71d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401db6bd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401db6bd
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 [r12 + 0x50], rax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [r8 + rcx*4 + 0x321bd1]
mov ecx, edi
cmp dword [r8 + rdx*4 + 0x33dcc0], eax
sete cl
cmp ecx, r11d
je 0x1401d8aea
inc r10d
cmp r10d, r9d
jbe 0x1401db660
jmp 0x1401dc299
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d8aea
cmp rax, qword [r13 + 0xa0]
ja 0x1401db73f
cmp dword [r13 + 0x30], 0
je 0x1401d8aea
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401df2b0
mov r10d, 1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db71d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401db7c9
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401db7c9
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 [r12 + 0x50], rax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r8 + rcx*4 + 0x321bd1]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401d8aea
inc r10d
cmp r10d, r9d
jbe 0x1401db770
jmp 0x1401dc299
mov r8d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401db887
mov ebx, 0xfc00
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401db887
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd0]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je case.0x1401dcc76.8193
inc r8d
cmp r8d, r9d
jbe 0x1401db830
jmp 0x1401dc292
mov r9d, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401db93d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401db93d
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x321bd0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401db99e
movzx edx, word [rdx + r10 + 8]
mov eax, ecx
shr rax, 5
and edx, 0x3ff
add rdx, rax
and ecx, 0x1f
mov eax, dword [r10 + rdx*4 + 0x3218d0]
bt eax, ecx
mov eax, edi
jae 0x1401db9a3
mov eax, 1
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401db8e0
jmp 0x1401dc292
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dba2d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dba2d
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd1]
mov eax, dword [r10 + rax*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete al
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401db9d0
jmp 0x1401dc292
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dbaed
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dbaed
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401dbbb3
je case.0x1401dbbe1.8193
cmp edx, 0x20
ja 0x1401dbb97
je case.0x1401dbbe1.8193
mov eax, edx
sub eax, 9
je case.0x1401dbbe1.8193
sub eax, 1
je case.0x1401dbbe1.8193
sub eax, 1
je case.0x1401dbbe1.8193
sub eax, 1
je case.0x1401dbbe1.8193
cmp eax, 1
je case.0x1401dbbe1.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, edi
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
cmp dword [r10 + rdx*4 + 0x33dcc0], 6
sete al
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dba90
jmp 0x1401dc292
mov eax, edx
sub eax, 0x85
je case.0x1401dbbe1.8193
sub eax, 0x1b
je case.0x1401dbbe1.8193
sub eax, 0x15e0
je case.0x1401dbbe1.8193
cmp eax, 0x18e
jmp 0x1401dbb3a
mov eax, 0x3000
cmp edx, eax
ja case.0x1401dbbe1.8194
je case.0x1401dbbe1.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401dbbe1.8194
movzx eax, byte [r10 + rax + 0x1e3434]
mov ecx, dword [r10 + rax*4 + 0x1e342c]
add rcx, r10
jmp rcx
test r11d, r11d
jne case.0x1401dcc76.8193
jmp 0x1401dbb84
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dbc51
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dbc51
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
mov eax, dword [r10 + rdx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401dbc99
sub dl, 0xc
mov eax, edi
test dl, 0xfb
jne 0x1401dbc9e
mov eax, 1
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dbbf4
jmp 0x1401dc292
mov r8d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401dbd1b
mov r9d, 0xfc00
mov eax, ecx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401dbd1b
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
mov eax, dword [r12 + 0x44]
lea rdx, [rax*4 + 0x3215f0]
add rdx, r10
mov eax, dword [rdx]
cmp ecx, eax
jb 0x1401dbd3f
lea rdx, [rdx + 4]
cmp ecx, eax
je 0x1401dbd5b
mov eax, dword [rdx]
cmp ecx, eax
jae 0x1401dbd31
test r11d, r11d
je case.0x1401dcc76.8193
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dbcc0
jmp 0x1401dc292
test r11d, r11d
jne case.0x1401dcc76.8193
jmp 0x1401dbd48
mov r9d, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dbdcd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dbdcd
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 [r12 + 0x50], rax
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401dbde5
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401dbdfc
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401dbdfc
mov eax, edi
cmp edx, 0xe000
jb 0x1401dbe01
mov eax, 1
cmp eax, r11d
je case.0x1401dcc76.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dbd70
jmp 0x1401dc292
mov r10d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db71d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dbe80
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dbe80
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 [r12 + 0x50], rax
add edx, 0x10000
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, word [r8 + rcx*4 + 0x321bd8]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401d8aea
inc r10d
cmp r10d, r9d
jbe 0x1401dbe23
jmp 0x1401dc299
mov r10d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db71d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401dbf3e
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dbf3e
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, dword [r12 + 0x44]
lea rbx, [0x140000000]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rbx + rcx*4 + 0x321bda]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov ecx, r8d
lea r8, [0x140000000]
mov eax, dword [r8 + rdx*4 + 0x321060]
bt eax, ecx
mov edx, edi
setb dl
cmp edx, r11d
je 0x1401d8aea
inc r10d
cmp r10d, r9d
jbe 0x1401dbee1
jmp 0x1401dc299
cmp edx, 0x16
jne 0x1401dc0a6
lea ebx, [rdx - 0x15]
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db71d
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401dc03a
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401dc03a
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 [r12 + 0x50], rcx
mov r9, qword [r13 + 0x88]
mov rdx, rcx
mov r8, qword [r13 + 0x78]
mov ecx, r10d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r14d
call fcn.14021da20
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401dc094
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401dc094
cmp rax, qword [r13 + 0xa0]
ja 0x1401dc082
cmp dword [r13 + 0x30], 0
je 0x1401dc094
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401dbfd0
jmp 0x1401dc292
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x1401e0781.15
test r14d, r14d
je 0x1401dca0b
mov ecx, dword [r10 + rdx*4 + 0x1e3494]
add rcx, r10
jmp rcx
mov ebx, 1
nop dword [rax]
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401dc1dc
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401dc10b
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
test eax, eax
jne 0x1401d8aea
jmp 0x1401dc146
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401dc146
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401dc146
cmp edx, 1
je 0x1401d8aea
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je 0x1401d8aea
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401dc195
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401dc195
cmp dword [r13 + 0xe4], 0
jne 0x1401dc195
cmp dword [r13 + 0xe8], 2
jne 0x1401dc195
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401dc195
mov dword [r13 + 0x28], 1
cmp dx, 1
ja 0x1401db58c
mov rcx, qword [r12 + 0x50]
add rcx, 2
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401dc1ca
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401dc1ca
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401dc0d0
jmp 0x1401dc292
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d8aea
cmp rcx, qword [r13 + 0xa0]
ja 0x1401dc1fe
cmp dword [r13 + 0x30], 0
je 0x1401d8aea
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
mov ebx, edi
jmp 0x1401df2b0
mov edx, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401dc267
movzx eax, word [rcx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x1401dc267
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401dc221
jmp 0x1401dc292
mov rdx, qword [r12 + 0x50]
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rdx, rax
ja case.0x1401dcc76.8193
lea rax, [rdx + r9*2]
mov qword [r12 + 0x50], rax
lea r8, [0x140000000]
mov r11d, dword [r12 + 0x3c]
mov edi, dword [r12 + 0x38]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp edi, r11d
je 0x1401d88ee
test ebp, ebp
je 0x1401e25d1
mov r10, qword [r12 + 0x50]
mov qword [r12 + 8], r10
mov eax, dword [r12 + 0x40]
test esi, esi
js 0x1401dda7d
xor r9d, r9d
cmp eax, 0xf
mov ebx, r9d
sete bl
cmp esi, 0xd
ja case.0x1401e0781.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x1e34d4]
add rcx, rsi
jmp rcx
mov r9d, 1
mov r11d, 0xd800
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc3d0
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dc374
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 [r12 + 0x50], r8
cmp edx, 0xd
ja 0x1401dc3a0
je 0x1401dc385
sub edx, 0xa
je 0x1401dc3bd
sub edx, 1
jmp 0x1401dc3ae
cmp r8, qword [r13 + 0x88]
jae 0x1401dc3bd
cmp word [r8], 0xa
jne 0x1401dc3bd
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
jmp 0x1401dc3bd
sub edx, 0x85
je 0x1401dc3b5
sub edx, 0x1fa3
je 0x1401dc3b5
cmp edx, 1
jne case.0x1401dc4fb.8193
cmp word [r13 + 0x62], 2
je case.0x1401dc4fb.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dc320
jmp 0x1401dc292
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401dc4fb.8193
cmp rax, qword [r13 + 0xa0]
ja 0x1401dc3ea
cmp dword [r13 + 0x30], 0
je case.0x1401dc4fb.8193
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
mov ebx, edi
mov r15d, 0xff
jmp 0x1401df2c3
mov r9d, 1
mov r11d, 0xd800
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc3d0
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dc470
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401dc4cd
je case.0x1401dc4fb.8193
cmp edx, 9
je case.0x1401dc4fb.8193
cmp edx, 0x20
je case.0x1401dc4fb.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401dc4fb.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401dc4fb.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401dc4fb.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dc420
jmp 0x1401dc292
mov eax, 0x3000
cmp edx, eax
ja case.0x1401dc4fb.8194
je case.0x1401dc4fb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401dc4fb.8194
movzx eax, byte [r10 + rdx + 0x1e3514]
mov ecx, dword [r10 + rax*4 + 0x1e350c]
add rcx, r10
jmp rcx
mov r9d, 1
mov r11d, 0xd800
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc3d0
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dc564
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401dc5ad
je case.0x1401dc5df.8193
cmp edx, 9
je case.0x1401dc5df.8193
cmp edx, 0x20
je case.0x1401dc5df.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401dc5df.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401dc5df.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401dc4fb.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dc510
jmp 0x1401dc292
mov eax, 0x3000
cmp edx, eax
ja case.0x1401dc4fb.8193
je case.0x1401dc5df.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401dc4fb.8193
movzx eax, byte [r10 + rdx + 0x1e357c]
mov ecx, dword [r10 + rax*4 + 0x1e3574]
add rcx, r10
jmp rcx
mov r8d, 1
mov r9d, 0xfc00
mov r11d, 0xd800
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc67b
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, r9d
cmp eax, r11d
jne 0x1401dc646
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
cmp ecx, 0xd
ja 0x1401dc657
je 0x1401dc6a7
sub ecx, 0xa
je 0x1401dc6a7
sub ecx, 1
jmp 0x1401dc665
sub ecx, 0x85
je 0x1401dc6a7
sub ecx, 0x1fa3
je 0x1401dc6a7
cmp ecx, 1
je 0x1401dc6a7
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc600
jmp 0x1401dc292
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401dc6a7
cmp rax, qword [r13 + 0xa0]
ja 0x1401dc695
cmp dword [r13 + 0x30], 0
je 0x1401dc6a7
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rbp, qword [rsp + 0x30]
mov ebx, edi
mov esi, r9d
mov r15d, 0xff
jmp case.0x1401df326.33
mov r9d, 1
mov r11d, 0xd800
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc3d0
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dc724
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 [r12 + 0x50], rax
add edx, 0x10000
cmp edx, 0xd
ja 0x1401dc735
je 0x1401dc74e
sub edx, 0xa
je 0x1401dc74e
sub edx, 1
jmp 0x1401dc743
sub edx, 0x85
je 0x1401dc74e
sub edx, 0x1fa3
je 0x1401dc74e
cmp edx, 1
jne case.0x1401dc4fb.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dc6d0
jmp 0x1401dc292
mov r9d, 1
mov r11d, 0xd800
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401dc3d0
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
mov ecx, 0xfc00
and eax, ecx
cmp eax, r11d
jne 0x1401dc7c4
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0x80
cmp edx, eax
jae 0x1401dc7db
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401dc4fb.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401dc770
jmp 0x1401dc292
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc7f0
jmp 0x1401dc292
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401dcc76.8193
cmp rdx, qword [r13 + 0xa0]
ja 0x1401dc859
cmp dword [r13 + 0x30], 0
je case.0x1401dcc76.8193
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
jmp case.0x1401dcc76.8193
mov r8d, 1
nop word [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401dc8ab
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne case.0x1401dcc76.8193
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401dc8db
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401dc8db
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc880
jmp 0x1401dc292
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc8f0
jmp 0x1401dc292
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401dc970
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x1401dcc76.8193
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401dc9a0
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401dc9a0
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc941
jmp 0x1401dc292
mov r8d, 1
nop word [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dc9c0
jmp 0x1401dc292
mov ecx, dword [r10 + rdx*4 + 0x1e35dc]
add rcx, r10
jmp rcx
mov ebx, 1
nop dword [rax]
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401dc1dc
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401dca5b
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
test eax, eax
jne 0x1401d8aea
jmp 0x1401dca96
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401dca96
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401dca96
cmp edx, 1
je 0x1401d8aea
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je 0x1401d8aea
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401dcae5
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401dcae5
cmp dword [r13 + 0xe4], 0
jne 0x1401dcae5
cmp dword [r13 + 0xe8], 2
jne 0x1401dcae5
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401dcae5
mov dword [r13 + 0x28], 1
cmp dx, 1
ja 0x1401db58c
add qword [r12 + 0x50], 2
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401dca20
jmp 0x1401dc292
mov rcx, qword [r12 + 0x50]
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
jbe 0x1401dcb2c
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401dcc76.8193
cmp rcx, qword [r13 + 0xa0]
jmp 0x1401dc84c
lea rax, [rcx + r9*2]
jmp 0x1401dc28d
mov edx, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401dcb89
je 0x1401dcb6f
sub ecx, 0xa
je 0x1401dcbae
sub ecx, 1
jmp 0x1401dcb97
cmp rax, qword [r13 + 0x88]
jae 0x1401dcbae
cmp word [rax], 0xa
jne 0x1401dcbae
add rax, 2
mov qword [r12 + 0x50], rax
jmp 0x1401dcbae
sub ecx, 0x85
je 0x1401dcba2
sub ecx, 0x1fa3
je 0x1401dcba2
cmp ecx, 1
jne case.0x1401dcc76.8193
cmp word [r13 + 0x62], 2
je case.0x1401dcc76.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401dcb40
jmp 0x1401dc292
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401dcc44
je case.0x1401dcc76.8193
cmp ecx, 9
je case.0x1401dcc76.8193
cmp ecx, 0x20
je case.0x1401dcc76.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401dcc76.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401dcc76.8193
mov eax, 0x180e
cmp cx, ax
je case.0x1401dcc76.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401dcbd0
jmp 0x1401dc292
mov eax, 0x3000
cmp cx, ax
ja case.0x1401dcc76.8194
je case.0x1401dcc76.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401dcc76.8194
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1e3624]
mov ecx, dword [r10 + rax*4 + 0x1e361c]
add rcx, r10
jmp rcx
mov edx, 1
mov r8d, 0x2000
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401dcce3
je case.0x1401dcd19.8193
cmp ecx, 9
je case.0x1401dcd19.8193
cmp ecx, 0x20
je case.0x1401dcd19.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401dcd19.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401dcd19.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x1401dcc76.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401dcc83
jmp 0x1401dc292
mov eax, 0x3000
cmp cx, ax
ja case.0x1401dcc76.8193
je case.0x1401dcd19.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401dcc76.8193
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1e368c]
mov ecx, dword [r10 + rax*4 + 0x1e3684]
add rcx, r10
jmp rcx
mov edx, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401dcd57
je case.0x1401dcc76.8193
sub ecx, 0xa
je case.0x1401dcc76.8193
sub ecx, 1
jmp 0x1401dcd69
sub ecx, 0x85
je case.0x1401dcc76.8193
sub ecx, 0x1fa3
je case.0x1401dcc76.8193
cmp ecx, 1
je case.0x1401dcc76.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401dcd20
jmp 0x1401dc292
mov edx, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401db558
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401dcdbf
je 0x1401dcdd8
sub ecx, 0xa
je 0x1401dcdd8
sub ecx, 1
jmp 0x1401dcdcd
sub ecx, 0x85
je 0x1401dcdd8
sub ecx, 0x1fa3
je 0x1401dcdd8
cmp ecx, 1
jne case.0x1401dcc76.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401dcd90
jmp 0x1401dc292
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401dce1f
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne case.0x1401dcc76.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401dcdf0
jmp 0x1401dc292
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dce40
jmp 0x1401dc292
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401dcec0
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne case.0x1401dcc76.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401dce91
jmp 0x1401dc292
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dcee0
jmp 0x1401dc292
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401dcf60
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x1401dcc76.8193
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401dcf31
jmp 0x1401dc292
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401dc837
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401dcc76.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401dcc76.8193
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401dcf80
jmp 0x1401dc292
cmp edi, r11d
jae 0x1401dda4d
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
mov ecx, 1
test r14d, r14d
je 0x1401dd000
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
test ebx, ebx
jne 0x1401dda4d
inc edi
lea r10, [r10 + rcx*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dcfd4
jmp 0x1401dda4d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401dda4d
cmp r10, qword [r13 + 0xa0]
ja 0x1401dda3b
cmp dword [r13 + 0x30], r9d
jmp 0x1401dda39
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd0a0
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd0a0
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x321bd1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401dd0d9
mov eax, r9d
cmp dl, 8
jne 0x1401dd0de
mov eax, 1
cmp eax, ebx
je 0x1401dda4d
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd050
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd164
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd164
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [rsi + rcx*4 + 0x321bd1]
mov ecx, r9d
cmp dword [rsi + rdx*4 + 0x33dcc0], eax
sete cl
cmp ecx, ebx
je 0x1401dda4d
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dd110
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd224
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd224
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x321bd1]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401dda4d
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dd1d0
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd2d7
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd2d7
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x321bd0]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401dda4d
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dd283
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd394
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd394
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x321bd0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + rsi]
cmp eax, ecx
je 0x1401dd3f1
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 + 0x3218d0]
bt eax, ecx
mov eax, r9d
jae 0x1401dd3f6
mov eax, 1
cmp eax, ebx
je 0x1401dda4d
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd340
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd476
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd476
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x321bd1]
mov eax, dword [rsi + rax*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
mov eax, r9d
sete al
cmp eax, ebx
je 0x1401dda4d
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd422
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd534
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd534
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 0x1401dd604
je case.0x1401dd634.8193
cmp edx, 0x20
ja 0x1401dd5e5
je case.0x1401dd634.8193
mov eax, edx
sub eax, 9
je case.0x1401dd634.8193
sub eax, 1
je case.0x1401dd634.8193
sub eax, 1
je case.0x1401dd634.8193
sub eax, 1
je case.0x1401dd634.8193
cmp eax, 1
je case.0x1401dd634.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, r9d
movzx edx, byte [rsi + rcx*4 + 0x321bd1]
cmp dword [rsi + rdx*4 + 0x33dcc0], 6
sete al
cmp eax, ebx
je 0x1401dda4d
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd4e0
jmp 0x1401dda4d
mov eax, edx
sub eax, 0x85
je case.0x1401dd634.8193
sub eax, 0x1b
je case.0x1401dd634.8193
sub eax, 0x15e0
je case.0x1401dd634.8193
cmp eax, 0x18e
jmp 0x1401dd57f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401dd634.8194
je case.0x1401dd634.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401dd634.8194
movzx eax, byte [rsi + rax + 0x1e36f4]
mov ecx, dword [rsi + rax*4 + 0x1e36ec]
add rcx, rsi
jmp rcx
test ebx, ebx
jne 0x1401dda4d
jmp 0x1401dd5c5
cmp edi, r11d
jae 0x1401dda4d
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd6a4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd6a4
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x321bd1]
mov eax, dword [rsi + rdx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401dd6e9
sub dl, 0xc
mov eax, r9d
test dl, 0xfb
jne 0x1401dd6ee
mov eax, 1
cmp eax, ebx
je 0x1401dda4d
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd650
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd774
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd774
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 [r12 + 0x44]
lea rcx, [rsi + 0x3215f0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401dd79e
nop word [rax + rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401dd7c6
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401dd790
test ebx, ebx
je 0x1401dda4d
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd720
jmp 0x1401dda4d
test ebx, ebx
jne 0x1401dda4d
jmp 0x1401dd7a6
cmp edi, r11d
jae 0x1401dda4d
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov ecx, 1
test r14d, r14d
je 0x1401dd836
mov r8d, 0xfc00
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401dd836
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 0x1401dd84e
movabs r8, 0x1000000010000001
bt r8, rax
jb 0x1401dd866
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401dd866
mov eax, r9d
cmp edx, 0xe000
jb 0x1401dd86b
mov eax, 1
cmp eax, ebx
je 0x1401dda4d
lea r10, [r10 + rcx*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401dd7e0
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dd01d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401dd8f4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd8f4
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x321bd8]
mov ecx, r9d
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401dda4d
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dd8a0
jmp 0x1401dda4d
cmp edi, r11d
jae 0x1401dda4d
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401dda21
movzx edx, word [r10]
mov r9d, 1
test r14d, r14d
je 0x1401dd9b4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dd9b4
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 [r12 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x321bda]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x321060]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, ebx
je 0x1401dda4d
inc edi
lea r10, [r10 + r9*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401dd960
jmp 0x1401dda4d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401dda4d
cmp r10, qword [r13 + 0xa0]
ja 0x1401dda3b
cmp dword [r13 + 0x30], 0
je 0x1401dda4d
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e1eb7
cmp eax, 0x16
jne 0x1401ddbc1
cmp edi, r11d
jae 0x1401ddb91
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ddb65
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401ddafa
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401ddafa
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 [r12 + 0x50], rcx
mov r9, qword [r13 + 0x88]
xor eax, eax
mov r8, qword [r13 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], rax
mov ecx, r10d
mov dword [rsp + 0x20], r14d
call fcn.14021da20
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401ddb56
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ddb56
cmp rax, qword [r13 + 0xa0]
ja 0x1401ddb44
cmp dword [r13 + 0x30], 0
je 0x1401ddb56
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401dda90
jmp 0x1401ddb91
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ddb91
cmp rax, qword [r13 + 0xa0]
ja 0x1401ddb7f
cmp dword [r13 + 0x30], 0
je 0x1401ddb91
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e24d2
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401e0781.15
test r14d, r14d
je 0x1401de422
mov ecx, dword [r8 + rax*4 + 0x1e3754]
add rcx, r8
jmp rcx
cmp edi, r11d
jae 0x1401de3f2
nop dword [rax]
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401de3c6
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401ddc2c
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe8]
call fcn.14021a730
test eax, eax
jne 0x1401de3f2
jmp 0x1401ddc69
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401ddc69
movzx eax, word [r13 + 0xec]
cmp word [r10], ax
jne 0x1401ddc69
cmp edx, 1
je 0x1401de3f2
movzx eax, word [r13 + 0xee]
cmp word [r10 + 2], ax
je 0x1401de3f2
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401ddcb8
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401ddcb8
cmp dword [r13 + 0xe4], 0
jne 0x1401ddcb8
cmp dword [r13 + 0xe8], 2
jne 0x1401ddcb8
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401ddcb8
mov dword [r13 + 0x28], 1
cmp dx, 1
ja 0x1401db58c
mov r10, qword [r12 + 0x50]
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401ddcee
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ddcee
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401ddbf0
jmp 0x1401de3f2
cmp r11d, 0xffffffff
jae 0x1401ddd5c
cmp edi, r11d
jae 0x1401de3f2
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401ddd4e
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ddd4e
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401ddd10
jmp 0x1401de3f2
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401de3f2
cmp rax, qword [r13 + 0xa0]
ja 0x1401ddd8a
cmp dword [r13 + 0x30], 0
je 0x1401de3f2
cmp cx, 1
jmp 0x1401de3e4
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401dddca
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401de3f2
cmp rcx, qword [r13 + 0xa0]
jmp 0x1401de3d7
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop dword [rax]
nop word [rax + rax]
mov r8, r10
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx ecx, word [r10]
mov edx, 0xfc00
mov eax, ecx
add r10, 2
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401dde3b
movzx eax, word [r10]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov edx, 4
add ecx, 0x10000
jmp 0x1401dde40
mov edx, 2
cmp ecx, 0xd
jne 0x1401dde64
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401de3f2
cmp word [r10], 0xa
jne 0x1401dde9e
add r10, 2
jmp 0x1401dde99
cmp ecx, 0xa
je 0x1401dde95
cmp word [r13 + 0x62], 2
je 0x1401de3f2
lea eax, [rcx - 0xb]
cmp eax, 1
jbe 0x1401dde95
mov eax, 0x85
cmp ecx, eax
je 0x1401dde95
lea eax, [rcx - 0x2028]
cmp eax, 1
ja 0x1401de3f2
lea r10, [r8 + rdx]
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401dddf0
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ddf0f
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 0x1401ddf80
je case.0x1401ddfb1.8193
cmp edx, 9
je case.0x1401ddfb1.8193
cmp edx, 0x20
je case.0x1401ddfb1.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401ddfb1.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401ddfb1.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401ddfb1.8193
xor eax, eax
mov ecx, eax
cmp dword [r12 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x1401de3f2
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401ddec0
jmp 0x1401de3f2
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ddfb1.8194
je case.0x1401ddfb1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ddfb1.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1e379c]
mov ecx, dword [rdx + rax*4 + 0x1e3794]
add rcx, rdx
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x1401ddf4f
cmp edi, r11d
jae 0x1401de3f2
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de01f
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 0x1401de030
je 0x1401de04b
sub edx, 0xa
je 0x1401de04b
sub edx, 1
jmp 0x1401de03e
sub edx, 0x85
je 0x1401de04b
sub edx, 0x1fa3
je 0x1401de04b
cmp edx, 1
je 0x1401de04b
xor eax, eax
mov ecx, eax
jmp 0x1401de052
mov ecx, 1
xor eax, eax
cmp dword [r12 + 0x40], 0x14
sete al
cmp ecx, eax
je 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401ddfd0
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de0df
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 0x1401de0f5
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de090
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de16f
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 0x1401de3f2
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de120
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de1ff
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 0x1401de215
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de1b0
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de28f
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 0x1401de3f2
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de240
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de31f
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 0x1401de335
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de2d0
jmp 0x1401de3f2
cmp edi, r11d
jae 0x1401de3f2
cmp r10, qword [r13 + 0x88]
jae 0x1401de3c6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401de3a0
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 0x1401de3f2
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401de3f2
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de355
jmp 0x1401de3f2
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401de3f2
cmp r10, qword [r13 + 0xa0]
ja 0x1401de3e0
cmp dword [r13 + 0x30], 0
je 0x1401de3f2
cmp ax, 1
mov dword [r13 + 0x28], 1
ja 0x1401db58c
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e2505
mov ecx, dword [r8 + rax*4 + 0x1e37fc]
add rcx, r8
jmp rcx
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax + rax]
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401de9d7
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401de47c
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe8]
call fcn.14021a730
test eax, eax
jne case.0x1401de69f.8193
jmp 0x1401de4b9
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401de4b9
movzx eax, word [r13 + 0xec]
cmp word [r10], ax
jne 0x1401de4b9
cmp edx, 1
je case.0x1401de69f.8193
movzx eax, word [r13 + 0xee]
cmp word [r10 + 2], ax
je case.0x1401de69f.8193
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401de508
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401de508
cmp dword [r13 + 0xe4], 0
jne 0x1401de508
cmp dword [r13 + 0xe8], 2
jne 0x1401de508
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401de508
mov dword [r13 + 0x28], 1
cmp dx, 1
ja 0x1401db58c
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401de440
jmp case.0x1401de69f.8193
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401de55c
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401de69f.8193
cmp rcx, qword [r13 + 0xa0]
jmp 0x1401de9e8
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x1401de5a9
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae case.0x1401de69f.8193
cmp word [r10], 0xa
jne 0x1401de5e9
jmp 0x1401de5e0
cmp cx, 0xa
je 0x1401de5e0
cmp word [r13 + 0x62], 2
je case.0x1401de69f.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x1401de5e0
mov eax, 0x85
cmp cx, ax
je 0x1401de5e0
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x1401de69f.8193
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401de573
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x1401de670
je case.0x1401de69f.8193
cmp eax, 9
je case.0x1401de69f.8193
cmp eax, 0x20
je case.0x1401de69f.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401de69f.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401de69f.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de600
jmp case.0x1401de69f.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401de69f.8194
je case.0x1401de69f.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401de69f.8194
cdqe
movzx eax, byte [r8 + rax + 0x1e3844]
mov ecx, dword [r8 + rax*4 + 0x1e383c]
add rcx, r8
jmp rcx
cmp edi, r11d
jae case.0x1401de69f.8193
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0x2000
cmp eax, ecx
ja 0x1401de70e
je case.0x1401de741.8193
cmp eax, 9
je case.0x1401de741.8193
cmp eax, 0x20
je case.0x1401de741.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401de741.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401de741.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x1401de69f.8193
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401de6b0
jmp case.0x1401de69f.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401de69f.8193
je case.0x1401de741.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401de69f.8193
cdqe
movzx eax, byte [r8 + rax + 0x1e38ac]
mov ecx, dword [r8 + rax*4 + 0x1e38a4]
add rcx, r8
jmp rcx
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401de77a
je case.0x1401de69f.8193
sub ecx, 0xa
je case.0x1401de69f.8193
sub ecx, 1
jmp 0x1401de78c
sub ecx, 0x85
je case.0x1401de69f.8193
sub ecx, 0x1fa3
je case.0x1401de69f.8193
cmp ecx, 1
je case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de750
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401de7e2
je 0x1401de7fb
sub ecx, 0xa
je 0x1401de7fb
sub ecx, 1
jmp 0x1401de7f0
sub ecx, 0x85
je 0x1401de7fb
sub ecx, 0x1fa3
je 0x1401de7fb
cmp ecx, 1
jne case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de7c0
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401de84b
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de820
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401de69f.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de870
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401de8eb
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de8c0
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401de69f.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de910
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401de987
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de960
jmp case.0x1401de69f.8193
cmp edi, r11d
jae case.0x1401de69f.8193
cmp r10, qword [r13 + 0x88]
jae 0x1401de9d7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401de69f.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401de69f.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401de9a0
jmp case.0x1401de69f.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401de69f.8193
cmp r10, qword [r13 + 0xa0]
ja 0x1401de9f1
cmp dword [r13 + 0x30], 0
je case.0x1401de69f.8193
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov r10d, dword [rsp + 0xe8]
cmp ebp, 2
je 0x1401d8930
jmp 0x1401e2357
xor eax, eax
cmp r11b, 0x74
sete al
mov dword [r12 + 0x40], eax
movzx ecx, word [r8 + 2]
movzx eax, word [r13 + 0x66]
movzx r9d, word [r8 + 4]
imul ecx, eax
mov rax, qword [r13 + 0x68]
movsxd rcx, ecx
lea rdx, [rax + rcx*2]
lea rax, [r8 + 6]
mov qword [r12], rax
test r9d, r9d
je 0x1401dead0
nop dword [rax + rax]
movzx eax, word [rdx]
dec r9d
lea rax, [rax*2 - 2]
mov qword [r12 + 0x28], rax
cmp rax, qword [r12 + 0x80]
jae 0x1401dea98
cmp qword [r12 + rax*8 + 0x88], 0xffffffffffffffff
jne 0x1401dead0
movzx eax, word [r13 + 0x66]
lea rdx, [rdx + rax*2]
test r9d, r9d
jg 0x1401dea70
jmp 0x1401dead0
xor eax, eax
cmp r11b, 0x72
sete al
mov dword [r12 + 0x40], eax
movzx eax, word [r8 + 2]
lea rax, [rax*2 - 2]
mov qword [r12 + 0x28], rax
lea rax, [r8 + 4]
mov qword [r12], rax
mov rdx, qword [r12]
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 7
ja case.default.0x1401deaf9
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x1e390c]
add rcx, r9
jmp rcx
lea rax, [rdx + 2]
mov qword [r12], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r9 + rax*4 + 0x320f48]
mov dword [r12 + 0x38], eax
mov eax, dword [r9 + rcx*4 + 0x320f78]
mov ebp, dword [r9 + rcx*4 + 0x320fa8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0xe0], ebp
jmp 0x1401deb79
movzx eax, word [rdx + 2]
mov dword [r12 + 0x38], eax
movzx ecx, word [rdx + 4]
mov dword [r12 + 0x3c], ecx
movzx eax, word [rdx]
mov ebp, dword [r9 + rax*4 + 0x320e20]
mov dword [rsp + 0xe0], ebp
test ecx, ecx
jne 0x1401deb71
mov dword [r12 + 0x3c], 0xffffffff
lea rax, [rdx + 6]
mov qword [r12], rax
mov rbx, qword [r12 + 0x28]
cmp rbx, qword [r12 + 0x80]
jae 0x1401debab
mov rax, qword [r12 + rbx*8 + 0x88]
cmp rax, 0xffffffffffffffff
je 0x1401debab
mov r9, qword [rsp + 0x38]
cmp rax, qword [r12 + rbx*8 + 0x90]
je 0x1401d8907
jmp 0x1401debcd
cmp dword [r12 + 0x38], 0
mov r9, qword [rsp + 0x38]
je 0x1401d8907
test dword [r13 + 0xd8], 0x200
jne 0x1401d8907
mov eax, dword [r12 + 0x38]
mov edi, 1
cmp eax, edi
jb 0x1401dec1d
nop dword [rax + rax]
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x60]
mov r9, r13
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rbx
call fcn.1401e3e60
test eax, eax
jne 0x1401decc4
mov rax, qword [rsp + 0x60]
inc edi
add rax, rax
add qword [r12 + 0x50], rax
mov eax, dword [r12 + 0x38]
cmp edi, eax
jbe 0x1401debe0
mov esi, dword [r12 + 0x3c]
mov rdi, qword [rsp + 0x100]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
cmp eax, esi
je 0x1401d8911
test ebp, ebp
je 0x1401e26b6
mov r14, qword [r12 + 0x50]
mov ebp, 1
mov qword [r12 + 8], r14
mov rdi, qword [r12 + rbx*8 + 0x90]
sub rdi, qword [r12 + rbx*8 + 0x88]
mov qword [r12 + 0x18], rdi
mov r15d, dword [r12 + 0x38]
cmp r15d, esi
jae 0x1401e0257
nop dword [rax]
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x68]
mov r9, r13
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rbx
call fcn.1401e3e60
test eax, eax
jne 0x1401dece9
mov rax, qword [rsp + 0x68]
mov ecx, 0
cmp rax, rdi
cmovne ebp, ecx
inc r15d
lea r14, [r14 + rax*2]
mov qword [r12 + 0x50], r14
cmp r15d, esi
jb 0x1401dec80
jmp 0x1401ded17
jle 0x1401decd2
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d896e.163
jmp 0x1401da6a3
jle 0x1401ded17
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ded17
mov rax, qword [r13 + 0xa0]
cmp qword [r13 + 0x88], rax
jbe 0x1401ded17
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov r14d, dword [rsp + 0x4c]
test ebp, ebp
jne 0x1401e025c
mov rbx, qword [rsp + 0xf8]
mov dword [r12 + 0x3c], r15d
mov rsi, qword [r12]
mov byte [r12 + 0x48], 0x16
jmp 0x1401e2dc5
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x50]
mov rcx, qword [r12 + 0x28]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401e3e60
test eax, eax
jne 0x1401decc4
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
add rax, rax
add qword [r12 + 0x50], rax
jmp 0x1401d8928
add r8, 2
mov qword [r12], r8
nop word [rax + rax]
movzx eax, word [r8 + 2]
lea rax, [r8 + rax*2]
mov qword [r12], rax
mov r8, rax
cmp word [rax], 0x78
je 0x1401ded90
add rax, 4
mov qword [r12], rax
jmp 0x1401d8930
cmp dword [r13 + 0x2c], 0
jne 0x1401e261a
cmp dword [r12 + 0x30], 0
je 0x1401e261a
lea r10, [0x140000000]
jmp 0x1401dfce3
lea r8, [rsp + 0x50]
mov rdx, r13
mov rcx, r12
call fcn.1401d8670
mov ebx, eax
test eax, eax
jg case.0x1401d896e.163
js 0x1401df2a9
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xf8]
add rax, rax
add qword [r12], rax
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
movzx eax, word [r8 + 2]
mov qword [r12 + 0x18], rax
cmp word [r8 + rax*2], 0x78
je 0x1401dee2f
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x18], rax
add r8, 4
mov qword [r12], r8
movzx eax, word [r8]
cmp ax, 0x76
je 0x1401dee47
cmp ax, 0x77
jne 0x1401dee7d
lea r8, [rsp + 0x50]
mov rdx, r13
mov rcx, r12
call fcn.1401d8670
mov ebx, eax
test eax, eax
jg case.0x1401d896e.163
js 0x1401df2a9
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + rcx]
add qword [r12], rax
mov r8, qword [r12]
sub qword [r12 + 0x18], rcx
movzx edx, word [r8]
lea r10, [0x140000000]
lea eax, [rdx - 0x91]
cmp eax, 0x12
ja case.0x1401deea4.151
cdqe
mov ecx, dword [r10 + rax*4 + 0x1e392c]
add rcx, r10
jmp rcx
mov ecx, dword [r12 + 0x70]
cmp ecx, 0xffffffff
je case.0x1401deea4.149
movzx eax, word [r8 + 2]
cmp eax, 0xffff
je case.0x1401deea4.150
cmp eax, ecx
je case.0x1401deea4.150
jmp case.0x1401deea4.149
mov r10d, dword [r12 + 0x70]
cmp r10d, 0xffffffff
je case.0x1401deea4.149
movzx eax, word [r8 + 2]
movzx edx, word [r8 + 4]
movzx r9d, word [r13 + 0x66]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r13 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401deea4.149
nop word [rax + rax]
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x1401def43
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401def10
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0xe0], ebp
jmp case.0x1401deea4.149
mov rax, qword [rsp + 0x38]
lea r10, [0x140000000]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0xe0], ebp
jmp case.0x1401deea4.150
movzx eax, word [r8 + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r12 + 0x80]
jae case.0x1401deea4.149
cmp qword [r12 + rax*8 + 0x88], 0xffffffffffffffff
je case.0x1401deea4.149
jmp case.0x1401deea4.150
movzx eax, word [r8 + 2]
movzx edx, word [r8 + 4]
movzx r9d, word [r13 + 0x66]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r13 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401deea4.149
mov rcx, qword [r12 + 0x80]
nop word [rax + rax]
movzx eax, word [r8]
dec edx
lea rax, [rax*2 - 2]
cmp rax, rcx
jae 0x1401deff2
cmp qword [r12 + rax*8 + 0x88], 0xffffffffffffffff
jne case.0x1401deea4.150
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401defd0
jmp case.0x1401deea4.149
movzx edx, word [r8 + 2]
test r14d, r14d
je 0x1401df079
test edx, edx
je 0x1401df09d
mov r8d, 0xfc00
mov r11d, 0xdc00
nop dword [rax]
mov rcx, qword [r12 + 0x50]
dec edx
cmp rcx, qword [r13 + 0x80]
jbe 0x1401df055
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, r8w
cmp ax, r11w
jne 0x1401df04f
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
test edx, edx
jne 0x1401df020
jmp 0x1401df09d
xor edi, edi
mov rbp, qword [rsp + 0x30]
lea r10, [0x140000000]
mov esi, r8d
mov ebx, edi
mov r11d, 0xd800
mov r15d, 0xff
jmp case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov rax, rcx
sub rax, qword [r13 + 0x78]
sar rax, 1
cmp rdx, rax
jg case.0x1401d896e.163
lea rax, [rdx + rdx]
sub rcx, rax
mov qword [r12 + 0x50], rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jae 0x1401df0b2
mov qword [r13 + 0xa0], rax
add qword [r12], 4
jmp 0x1401d8930
movzx r9d, word [r8 + 2]
xor edi, edi
mov dword [r12 + 0x38], r9d
movzx r10d, word [r8 + 4]
mov dword [r12 + 0x3c], r10d
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
test r14d, r14d
je 0x1401df13a
mov edx, edi
mov r8d, 0xfc00
mov r9d, 0xdc00
cmp edx, r10d
jae 0x1401e27d3
cmp rcx, qword [r13 + 0x78]
je 0x1401df125
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, r8w
cmp ax, r9w
jne 0x1401df121
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
inc edx
jmp 0x1401df0f3
cmp edx, dword [r12 + 0x38]
jb 0x1401df057
mov dword [r12 + 0x3c], edx
jmp 0x1401e27d3
mov rax, rcx
sub rax, qword [r13 + 0x78]
sar rax, 1
cmp rax, 0xffff
jle 0x1401df15a
mov edx, 0xffff
jmp 0x1401df162
test rax, rax
mov edx, edi
cmovg edx, eax
cmp r9d, edx
ja 0x1401d8aea
cmp r10d, edx
jbe 0x1401df17c
mov dword [r12 + 0x3c], edx
mov r10d, edx
mov eax, r10d
add rax, rax
sub rcx, rax
mov qword [r12 + 0x50], rcx
jmp 0x1401e27d3
mov r9, r8
mov qword [rsp + 0x38], r8
nop word [rax + rax]
movzx eax, word [r8 + 2]
lea rcx, [r8 + rax*2]
mov qword [r12], rcx
mov r8, rcx
cmp word [rcx], 0x78
je 0x1401df1a0
jmp 0x1401d8930
movzx eax, word [r8 + 2]
mov rsi, r8
add rax, rax
sub rsi, rax
test r9, r9
mov rdx, rsi
cmove r9, r8
movzx eax, word [rsi + 2]
lea rcx, [rax + rax]
lea rax, [rcx + rsi]
cmp rax, r9
je 0x1401df204
nop dword [rax]
nop dword [rax + rax]
add rdx, rcx
movzx eax, word [rdx + 2]
lea rcx, [rax + rax]
lea rax, [rdx + rcx]
cmp rax, r9
jne 0x1401df1f0
movzx eax, word [rsi]
mov r8d, 0x87
sub ax, r8w
xor ecx, ecx
mov r8d, 0xfffb
mov qword [rsp + 0x38], rcx
test r8w, ax
mov r8, qword [rsp + 0xf8]
je 0x1401df328
mov r15, qword [rdi + 0x30]
add r15, qword [r12 + 0x78]
mov rbx, r15
mov qword [rsp + 0x40], r15
sub rbx, r8
mov rax, qword [rbx + 0x78]
mov qword [r12 + 0x78], rax
mov eax, dword [r15 + 0x34]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x1401df32b
mov r8, qword [r12 + 0x80]
lea rdx, [r12 + 0x88]
shl r8, 3
lea rcx, [rbx + 0x88]
call fcn.14024bde0
mov rax, qword [r12 + 0x80]
mov qword [rbx + 0x80], rax
mov rax, qword [r12 + 0x60]
mov qword [rbx + 0x60], rax
mov rax, r12
sub rax, rbx
mov ebx, 1
mov qword [r12 + 0x20], rax
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov r11d, 0xd800
mov r15d, 0xff
lea r10, [0x140000000]
mov esi, 0xfc00
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa8]
jbe 0x1401df2e1
mov qword [r13 + 0xa8], rax
cmp dword [r12 + 0x30], 0
je 0x1401e2fd9
sub r12, qword [r12 + 0x20]
mov rax, qword [r13 + 0xf8]
or dword [rax + 0x68], 2
movzx eax, byte [r12 + 0x48]
dec eax
cmp eax, 0xe0
ja case.0x1401e0781.15
cdqe
movzx eax, byte [r10 + rax + 0x1e3a74]
mov ecx, dword [r10 + rax*4 + 0x1e3978]
add rcx, r10
jmp rcx
mov rbx, rcx
movzx eax, word [rsi]
add eax, 0xffffff81
cmp eax, 0x10
ja case.0x1401df34e.136
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1e3b58]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x70], 0
jne case.0x1401df34e.136
mov rax, qword [r12]
cmp word [rax + 4], 0
jne case.0x1401df34e.136
mov rcx, qword [r12 + 0x78]
cmp rcx, 0xffffffffffffffff
je case.0x1401e0781.15
mov r15, qword [rdi + 0x30]
add r15, rcx
mov rbx, r15
mov qword [rsp + 0x40], r15
sub rbx, r8
mov rax, qword [rbx + 0x78]
mov qword [r12 + 0x78], rax
mov r8, qword [r12 + 0x80]
lea rdx, [rbx + 0x88]
shl r8, 3
lea rcx, [r12 + 0x88]
call fcn.14024bde0
mov rax, qword [rbx + 0x80]
mov qword [r12 + 0x80], rax
mov eax, dword [rbx + 0x74]
mov dword [r12 + 0x74], eax
mov eax, dword [rbx + 0x70]
mov dword [r12 + 0x70], eax
mov rax, qword [rbx]
add rax, 4
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov qword [r12], rax
jmp 0x1401d8928
cmp word [rdx + 4], 0x7e
jne case.0x1401df34e.131
mov rax, qword [rbx + 0x50]
cmp qword [r12 + 0x50], rax
jne 0x1401db174
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa8]
jbe 0x1401df429
mov qword [r13 + 0xa8], rax
mov rax, qword [rbx + 0x50]
mov qword [r12 + 0x50], rax
jmp case.0x1401df34e.136
cmp word [rdx + 4], 0x7e
jne case.0x1401df34e.127
mov rax, qword [rbx + 0x50]
cmp qword [r12 + 0x50], rax
jne 0x1401db174
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa8]
jbe 0x1401df46a
mov qword [r13 + 0xa8], rax
mov rax, qword [rbx + 0x50]
mov qword [r12 + 0x50], rax
mov rax, r12
sub rax, rbx
mov qword [r12 + 0x20], rax
mov rcx, qword [rbx]
movzx eax, word [rcx + 2]
add rax, rax
cmp word [rax + rcx], 0x78
jne case.0x1401df34e.136
nop dword [rax]
nop word [rax + rax]
add rax, rcx
mov rcx, rax
mov qword [rbx], rax
movzx eax, word [rax + 2]
add rax, rax
cmp word [rcx + rax], 0x78
je 0x1401df4a0
jmp case.0x1401df34e.136
cmp word [rdx + 4], 0x7e
jne case.0x1401df34e.128
mov rax, qword [rbx + 0x50]
cmp qword [r12 + 0x50], rax
jne 0x1401db174
mov ebx, 1
xor edi, edi
jmp 0x1401db178
mov rdx, qword [r12 + 0x50]
mov r8d, r14d
mov rcx, qword [rbx + 0x50]
call fcn.14021dc50
test eax, eax
jne case.0x1401df34e.136
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
movzx edx, word [rsi + 4]
cmp dword [r12 + 0x70], edx
jne 0x1401df51f
mov rbx, r15
sub rbx, r8
jmp 0x1401df395
mov dword [r12 + 0x74], edx
lea ecx, [rdx*2 - 2]
mov rax, qword [rbx + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rcx*8 + 0x88], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rcx*8 + 0x90], rax
cmp rcx, qword [r12 + 0x80]
jb case.0x1401df34e.136
lea rax, [rcx + 2]
mov qword [r12 + 0x80], rax
mov rdx, qword [r12]
cmp word [rdx], 0x7c
jne 0x1401df597
mov r8, qword [rsp + 0x70]
lea rdx, [r12 + 0x50]
lea rcx, [rbx + 0x50]
call fcn.14024bde0
mov ebx, 0xfffffc1a
jmp 0x1401df2a9
movzx ecx, byte [r12 + 0x49]
cmp cl, 0x79
je 0x1401dfed2
test rbx, rbx
je 0x1401df5be
mov rax, qword [rbx + 0x50]
cmp qword [r12 + 0x50], rax
je 0x1401dfed2
mov rbx, qword [rsp + 0xf8]
cmp cl, 0x7b
jne 0x1401e2679
lea rsi, [rdx + 4]
mov byte [r12 + 0x48], 6
jmp 0x1401e2dc5
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
jne case.0x1401d896e.163
test byte [r13 + 0xd4], 1
jne case.0x1401d896e.163
lea rax, [r8 + 2]
mov qword [r12], rax
jmp 0x1401d8930
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je 0x1401d8d14
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
test byte [r13 + 0xd4], 2
jne case.0x1401d896e.163
test byte [r13 + 0xd8], 0x10
je case.0x1401d896e.23
mov rax, qword [r13 + 0x90]
cmp qword [r12 + 0x50], rax
jb case.0x1401d896e.163
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401dabeb.8203
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
add qword [r12], 2
jmp 0x1401d8930
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401df704
mov edx, dword [r13 + 0xe4]
lea rbx, [r13 + 0xe8]
test edx, edx
je 0x1401df6b7
mov r9, rbx
mov dword [rsp + 0x20], r14d
call fcn.14021a730
test eax, eax
je 0x1401df742
jmp 0x1401df6f0
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401df73b
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401df73b
cmp edx, 1
je 0x1401df6f0
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
jne 0x1401df73b
lea rbx, [r13 + 0xe8]
mov eax, dword [rbx]
imul rcx, rax, 0xfffffffffffffffe
add rcx, qword [r13 + 0x88]
cmp qword [r12 + 0x50], rcx
jne 0x1401df742
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401df724
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
add qword [r12], 2
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
lea rbx, [r13 + 0xe8]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d896e.163
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d896e.163
cmp dword [r13 + 0xe4], 0
jne case.0x1401d896e.163
cmp dword [rbx], 2
jne case.0x1401d896e.163
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne case.0x1401d896e.163
cmp dx, 1
jmp 0x1401d8c53
test byte [r13 + 0xd4], 1
je 0x1401df7b4
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je case.0x1401d896e.163
mov rcx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x78]
cmp rcx, rax
je 0x1401df992
cmp rcx, qword [r13 + 0x88]
jne 0x1401df7e4
test dword [r13 + 0xd8], 0x200000
je case.0x1401d896e.163
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401df836
cmp rcx, rax
jbe 0x1401df81e
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
mov r8, rax
call fcn.14021a7f0
test eax, eax
je 0x1401df81e
mov eax, 1
jmp 0x1401df820
xor eax, eax
test eax, eax
jne 0x1401df992
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov r8d, dword [r13 + 0xe8]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x1401d896e.163
movzx eax, word [r13 + 0xec]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x1401d896e.163
cmp r8d, 1
je 0x1401df992
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je 0x1401df992
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401df94c
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401df8ca
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
test eax, eax
jne 0x1401df992
jmp 0x1401df90d
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401df90d
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401df90d
cmp edx, 1
je 0x1401df992
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je 0x1401df992
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d896e.163
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d896e.163
cmp dword [r13 + 0xe4], 0
jne case.0x1401d896e.163
cmp dword [r13 + 0xe8], 2
jmp 0x1401df777
test byte [r13 + 0xd4], 2
jne case.0x1401d896e.163
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401df992
cmp rcx, qword [r13 + 0xa0]
ja 0x1401df980
cmp dword [r13 + 0x30], 0
je 0x1401df992
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
add qword [r12], 2
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x50], rcx
je 0x1401d8d14
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
mov rax, qword [r12 + 0x50]
mov qword [r12 + 0x58], rax
lea rax, [r8 + 2]
mov qword [r12], rax
jmp 0x1401d8930
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x80]
jne 0x1401df9fd
xor edx, edx
mov r10d, edx
lea r11d, [rdx + 1]
jmp 0x1401dfb19
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
je 0x1401dfa65
movzx eax, cx
mov r9d, 0xfc00
and ax, r9w
mov edx, 0xdc00
cmp ax, dx
jne 0x1401dfa2f
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r9d
cmp eax, ecx
jne 0x1401dfa67
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 0x1401dfa67
mov edx, ecx
cmp r8, qword [r13 + 0xa0]
jae 0x1401dfa7b
mov qword [r13 + 0xa0], r8
movzx eax, byte [r12 + 0x49]
add al, 0x57
cmp al, 1
jbe 0x1401dfaad
mov eax, 0xff
cmp edx, eax
ja 0x1401dfaa2
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne 0x1401dfb10
xor edx, edx
mov r10d, edx
lea r11d, [rdx + 1]
jmp 0x1401dfb19
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r8 + rcx*4 + 0x321bd1]
mov eax, dword [r8 + rdx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401dfb10
sub dl, 0xc
test dl, 0xfb
je 0x1401dfb10
xor edx, edx
mov r10d, edx
lea r11d, [rdx + 1]
jmp 0x1401dfb19
xor edx, edx
mov r11d, edx
lea r10d, [rdx + 1]
mov rcx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
cmp rcx, rax
jb 0x1401dfb67
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401dfc7a
cmp rcx, qword [r13 + 0xa0]
ja 0x1401dfb50
cmp dword [r13 + 0x30], 0
je 0x1401dfc7a
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
jmp 0x1401dfc7a
lea r9, [rcx + 2]
mov r8, r9
test r14d, r14d
je 0x1401dfbd3
cmp r9, rax
jae 0x1401dfb9a
movzx eax, word [r9]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401dfb9a
add r8, 2
movzx edx, word [rcx]
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401dfbd6
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 0x1401dfbd6
movzx edx, word [rcx]
cmp r8, qword [r13 + 0xa8]
jbe 0x1401dfbea
mov qword [r13 + 0xa8], r8
movzx eax, byte [r12 + 0x49]
add al, 0x57
cmp al, 1
jbe 0x1401dfc17
mov eax, 0xff
cmp edx, eax
ja 0x1401dfc11
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne 0x1401dfc75
xor eax, eax
mov edx, eax
jmp 0x1401dfc7a
lea r8, [0x140000000]
mov eax, edx
shr rax, 7
and edx, 0x7f
movzx ecx, word [r8 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r8 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r8 + rcx*4 + 0x321bd1]
mov eax, dword [r8 + rdx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401dfc75
sub dl, 0xc
test dl, 0xfb
je 0x1401dfc75
xor eax, eax
mov edx, eax
jmp 0x1401dfc7a
mov edx, 1
mov rax, qword [r12]
movzx ecx, word [rax]
add rax, 2
mov qword [r12], rax
cmp cx, 5
je 0x1401dfca7
cmp byte [r12 + 0x49], 0xaa
je 0x1401dfca7
xor edx, r10d
jmp 0x1401dfcaa
xor edx, r11d
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0xe8]
test edx, edx
je 0x1401d8930
mov rbp, qword [rsp + 0x30]
xor edi, edi
mov ebx, edi
jmp 0x1401df2b0
test ebx, ebx
jne case.0x1401df326.33
mov r8, qword [r12 + 8]
mov r15, qword [rsp + 0x40]
mov qword [r12], r8
movzx eax, word [r8 + 2]
lea rcx, [r8 + rax*2]
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
movzx eax, word [r8]
movzx edx, byte [rax + r10 + 0x33db10]
je 0x1401e2684
mov ebp, dword [rsp + 0xe0]
lea rcx, [r8 + rdx*2]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov qword [r12], rcx
jmp 0x1401d8928
cmp ebx, 0xfffffc1f
jne 0x1401dfd6e
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xc0], rdx
jae case.0x1401df326.33
cmp word [rcx], 0x78
je 0x1401dfd76
cmp word [rdx], 0x78
jmp 0x1401dfd70
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea r8, [rcx + rax*2]
mov qword [r12], r8
cmp word [r8], 0x78
je 0x1401e2aec
mov ebx, edi
jmp case.0x1401df326.33
cmp ebx, 0xfffffc19
je 0x1401e21af
test ebx, ebx
je 0x1401dfdb8
cmp ebx, 0xfffffc1f
jne case.0x1401df326.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea r8, [rcx + rax*2]
mov qword [r12], r8
cmp word [r8], 0x78
je 0x1401e2c06
mov ebx, edi
jmp case.0x1401df326.33
cmp ebx, 0xfffffc1d
jg 0x1401dfe29
je 0x1401dfe03
cmp ebx, 0xfffffc19
je case.0x1401e1bd3.8193
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401df326.33
mov r8, qword [r12]
nop word [rax + rax]
movzx eax, word [r8 + 2]
lea r8, [r8 + rax*2]
mov qword [r12], r8
cmp word [r8], 0x78
je 0x1401dfe10
jmp 0x1401e224b
cmp ebx, 0xfffffc1f
je 0x1401e2230
test ebx, ebx
je 0x1401e2230
cmp ebx, 1
jne case.0x1401df326.33
mov ebx, edi
jmp case.0x1401df326.33
cmp ebx, 0xfffffc1d
jg 0x1401dfe7f
je 0x1401e22ce
cmp ebx, 0xfffffc19
je 0x1401e2276
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401df326.33
jmp 0x1401e22ce
cmp ebx, 0xfffffc1f
je 0x1401e22b2
test ebx, ebx
je 0x1401e22b2
cmp ebx, 1
jne case.0x1401df326.33
mov eax, dword [r12 + 0x38]
jmp 0x1401e22d9
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
add rax, rax
sub rcx, rax
mov qword [r12], rcx
jmp 0x1401e2253
test ebx, ebx
jne case.0x1401df326.33
mov r15, qword [rsp + 0x40]
add qword [r12], 4
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x1401d8920
cmp ebx, 0xfffffc1a
jne 0x1401dff34
mov dword [r12 + 0x3c], 1
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jne 0x1401e269b
mov rcx, qword [r12]
nop word [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401dff20
jmp 0x1401dff8a
cmp ebx, 0xfffffc1f
jne 0x1401dff68
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xc0], rdx
jae case.0x1401df326.33
cmp word [rcx], 0x78
je 0x1401dff70
cmp word [rdx], 0x78
jmp 0x1401dff6a
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401e2a97
cmp dword [r12 + 0x3c], 0
jne 0x1401dffc3
cmp dword [r12 + 0x40], 0
jne 0x1401dffc3
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 8]
nop
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
je 0x1401dffb0
mov r15, qword [rsp + 0x40]
lea rax, [rcx + 4]
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
jmp 0x1401df3db
test ebx, ebx
jne case.0x1401df326.33
add qword [r12], 2
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
mov rdx, qword [r12 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x1401e0076
mov eax, dword [r12 + 0x38]
btc eax, 0x12
cmp dword [r13 + 0xd0], eax
jne 0x1401e0076
cmp ebx, 0xfffffc1f
jne case.0x1401e1bd3.8193
cmp qword [r13 + 0xc0], rcx
jae case.0x1401e1bd3.8193
cmp word [rdx], 0x78
je 0x1401e007e
cmp word [rcx], 0x78
je 0x1401e007e
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
je 0x1401e2bc5
mov ebx, edi
jmp case.0x1401df326.33
cmp ebx, 0xfffffc1e
jne case.0x1401df326.33
mov rcx, qword [r12]
mov rdx, qword [r13 + 0xc8]
add rcx, 4
call fcn.140218a10
lea r10, [0x140000000]
mov r11d, 0xd800
test eax, eax
jne case.0x1401df326.33
mov rax, qword [r12 + 0x50]
lea r10, [0x140000000]
mov qword [r13 + 0xc8], rax
mov ebx, 0xfffffc1d
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov eax, dword [r12 + 0x70]
mov ebx, 0xfffffc1c
mov dword [r13 + 0xd0], eax
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rax, qword [r12 + 0x50]
mov ebx, 0xfffffc1d
mov qword [r13 + 0xc8], rax
mov eax, dword [r12 + 0x70]
mov dword [r13 + 0xd0], eax
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rax, qword [r12]
mov ebx, 0xfffffc1e
add rax, 4
mov qword [r13 + 0xc8], rax
mov eax, dword [r12 + 0x70]
mov dword [r13 + 0xd0], eax
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rax, qword [r12]
mov ebx, 0xfffffc1f
mov qword [r13 + 0xc0], rax
mov eax, dword [r12 + 0x70]
mov dword [r13 + 0xd0], eax
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jb 0x1401e01ab
mov ebx, edi
jmp case.0x1401df326.33
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x78]
mov rcx, qword [r12 + 0x28]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401e3e60
test eax, eax
je 0x1401e26a9
jle 0x1401e01e4
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401e0226
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401e0226
cmp rax, qword [r13 + 0xa0]
ja 0x1401e0214
cmp dword [r13 + 0x30], 0
je 0x1401e0226
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov ebx, edi
lea r10, [0x140000000]
mov r11d, 0xd800
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rax, qword [r12 + 0x18]
neg rax
add rax, rax
add qword [r12 + 0x50], rax
jmp 0x1401e0268
mov r14d, dword [rsp + 0x4c]
mov rbp, qword [rsp + 0x30]
lea r10, [0x140000000]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jae 0x1401e26cd
xor edi, edi
jmp 0x1401e0cf8
test ebx, ebx
jne case.0x1401df326.33
mov rbx, qword [r12 + 8]
cmp qword [r12 + 0x50], rbx
je 0x1401e0cf8
mov qword [r12 + 0x50], rbx
mov edi, dword [r12 + 0x3c]
dec edi
mov dword [r12 + 0x3c], edi
mov esi, dword [r12 + 0x38]
cmp esi, edi
jae 0x1401e02ea
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x80]
mov rcx, qword [r12 + 0x28]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401e3e60
mov rax, qword [rsp + 0x80]
inc esi
lea rbx, [rbx + rax*2]
mov qword [r12 + 0x50], rbx
cmp esi, edi
jb 0x1401e02b1
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x16
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, r15d
jbe 0x1401e0367
cmp byte [r12 + 0x49], 0x6e
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401e2dc5
mov rax, qword [r12 + 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 0x1401e0350
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
add qword [r12 + 0x50], 0xfffffffffffffffe
jmp 0x1401e03ad
mov rbp, qword [rsp + 0x30]
lea r10, [0x140000000]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jae 0x1401e26e4
xor edi, edi
jmp 0x1401e0cf8
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jae 0x1401e19d7
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je 0x1401e040f
cmp dword [r12 + 0x44], eax
jne case.0x1401e1bd3.8193
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x19
jmp 0x1401e2dc5
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401df326.33
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1a
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1b
jmp 0x1401e2dc5
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401df326.33
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
ja 0x1401e26fb
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jae 0x1401e19d7
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je case.0x1401e1bd3.8193
cmp dword [r12 + 0x44], eax
je case.0x1401e1bd3.8193
mov rbx, qword [rsp + 0xf8]
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov byte [r12 + 0x48], 0x1d
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1e
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x20
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jb 0x1401e068d
mov ebx, edi
jmp case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jb 0x1401e06dd
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401e1bd3.8193
cmp rcx, qword [r13 + 0xa0]
ja 0x1401e06c4
cmp dword [r13 + 0x30], 0
je case.0x1401e1bd3.8193
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov ebx, edi
jmp case.0x1401df326.33
cmp dword [r12 + 0x40], 0xc
jne 0x1401e0754
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401e0719
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
lea r10, [0x140000000]
test eax, eax
je 0x1401e0754
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401e0754
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401e0754
cmp edx, 1
je case.0x1401e0859.8193
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je case.0x1401e0859.8193
mov rax, qword [r12 + 0x50]
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
mov eax, dword [r12 + 0x40]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401e0781.15
mov ecx, dword [r10 + rax*4 + 0x1e3b9c]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401e07ae
je 0x1401e2712
sub edx, 0xa
je case.0x1401e0781.13
sub edx, 1
je 0x1401e07cf
cmp edx, 1
je 0x1401e07cf
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
sub edx, 0x85
je 0x1401e07cf
sub edx, 0x1fa3
je 0x1401e07cf
cmp edx, 1
jne case.0x1401e0859.8193
cmp word [r13 + 0x62], 2
jmp 0x1401e0a5f
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401e0823
je case.0x1401e0859.8193
cmp edx, 9
je case.0x1401e0859.8193
cmp edx, 0x20
je case.0x1401e0859.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401e0859.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401e0859.8193
mov eax, 0x180e
cmp edx, eax
jmp 0x1401e0a5f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401e0781.13
je case.0x1401e0859.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401e0781.13
movzx eax, byte [r10 + rdx + 0x1e3be4]
mov ecx, dword [r10 + rax*4 + 0x1e3bdc]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401e08b2
je case.0x1401e0781.13
cmp edx, 9
je case.0x1401e0781.13
cmp edx, 0x20
je case.0x1401e0781.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401e0781.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401e0781.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401e0859.8193
je case.0x1401e0781.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401e0859.8193
movzx eax, byte [r10 + rdx + 0x1e3c4c]
mov ecx, dword [r10 + rax*4 + 0x1e3c44]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401e090f
je case.0x1401e0859.8193
sub edx, 0xa
je case.0x1401e0859.8193
sub edx, 1
je case.0x1401e0859.8193
cmp edx, 1
jmp 0x1401e0a5f
sub edx, 0x85
je case.0x1401e0859.8193
sub edx, 0x1fa3
je case.0x1401e0859.8193
cmp edx, 1
jne case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, 0xd
ja 0x1401e0970
je case.0x1401e0781.13
sub edx, 0xa
je case.0x1401e0781.13
sub edx, 1
je case.0x1401e0781.13
cmp edx, 1
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
sub edx, 0x85
je case.0x1401e0781.13
sub edx, 0x1fa3
je case.0x1401e0781.13
cmp edx, 1
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0781.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0859.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0781.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0859.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0781.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
cmp edx, r15d
ja case.0x1401e0859.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401e0781.13
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rax, qword [r12 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0x11
jne 0x1401e234b
cmp rax, qword [r12 + 8]
jbe 0x1401e234b
cmp word [rax], 0xa
jne 0x1401e234b
mov r15, qword [rsp + 0x40]
add rax, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
cmp word [rax], 0xd
jne 0x1401e2357
mov qword [r12 + 0x50], rax
jmp 0x1401e2357
test ebx, ebx
jne case.0x1401df326.33
mov eax, dword [r12 + 0x70]
mov ebx, 0xfffffc1b
mov dword [r13 + 0xd0], eax
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov edx, dword [r12 + 0x3c]
lea eax, [rdx - 1]
mov dword [r12 + 0x3c], eax
cmp edx, dword [r12 + 0x38]
ja 0x1401e279e
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx r9d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401e0b88
mov eax, r9d
and eax, esi
cmp eax, r11d
jne 0x1401e0b88
movzx ecx, word [rdx]
and r9d, 0x3ff
mov eax, r9d
and ecx, 0x3ff
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add r9d, 0x10000
mov rdx, qword [r12 + 0x10]
mov r8d, r14d
mov ecx, r9d
call fcn.14021e120
test eax, eax
jne 0x1401e27ee
lea r10, [0x140000000]
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
jbe case.0x1401e1bd3.8193
test r14d, r14d
je 0x1401e0bf7
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401e0bf7
lea rax, [rdx - 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.WS2_32.dll_WSAAsyncSelect
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx r9d, word [rax]
lea rdx, [rax + 2]
mov eax, r9d
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, r11d
jne 0x1401e0c83
movzx ecx, word [rdx]
and r9d, 0x3ff
mov eax, r9d
and ecx, 0x3ff
shl eax, 0xa
mov r9d, ecx
or r9d, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add r9d, 0x10000
cmp r9d, r15d
jbe 0x1401e0cab
cmp byte [r12 + 0x49], 0x6e
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.OLEAUT32.dll_SetErrorInfo
jmp 0x1401e2dc5
mov rax, qword [r12 + 0x10]
mov edx, r9d
and r9d, 7
shr rdx, 3
movzx ecx, r9b
movzx r8d, byte [rdx + rax]
mov eax, 1
shl eax, cl
test al, r8b
jne 0x1401e0c94
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
ja 0x1401e2805
mov esi, 0xfc00
mov ebx, edi
mov r11d, 0xd800
mov r15d, 0xff
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x18]
mov rsi, qword [r13 + 0x88]
mov rbx, qword [r12 + 0x50]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401e0d68
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
je 0x1401e2835
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1401e0d99
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401e0d99
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14024bce0
test eax, eax
je 0x1401e2835
cmp rbx, rsi
jb 0x1401e0dd2
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401e0dd2
cmp rbx, qword [r13 + 0xa0]
ja 0x1401e0dc0
cmp dword [r13 + 0x30], 0
je 0x1401e0dd2
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
xor edi, edi
lea r10, [0x140000000]
mov ebx, edi
mov esi, 0xfc00
mov r11d, 0xd800
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401e0e2c
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
ja 0x1401e2855
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, r11d
jne 0x1401e0ec4
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
cmp dword [r12 + 0x40], ecx
je case.0x1401e1bd3.8193
cmp dword [r12 + 0x44], ecx
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcc
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401e0f30
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcd
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, r11d
jne 0x1401e0fc0
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
cmp dword [r12 + 0x40], ecx
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xce
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401e1021
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
ja 0x1401e286c
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401e10ab
and ecx, esi
cmp ecx, r11d
jne 0x1401e10ab
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0xf
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd0
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e1142
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e1142
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401e1185
mov ecx, edi
cmp dl, 8
jne 0x1401e118a
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd1
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e1222
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e1222
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
mov ecx, edi
cmp dword [r10 + rdx*4 + 0x33dcc0], eax
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd2
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e12ff
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e12ff
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd1]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd3
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e13ce
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e13ce
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd0]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd4
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e14a3
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e14a3
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd1]
mov ecx, edi
mov eax, dword [r10 + rax*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd5
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e1582
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e1582
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 [r12 + 0x50], rax
add edx, 0x10000
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401e1659
je case.0x1401e168b.8193
cmp edx, 0x20
ja 0x1401e163a
je case.0x1401e168b.8193
mov eax, edx
sub eax, 9
je case.0x1401e168b.8193
sub eax, 1
je case.0x1401e168b.8193
sub eax, 1
je case.0x1401e168b.8193
sub eax, 1
je case.0x1401e168b.8193
cmp eax, 1
je case.0x1401e168b.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x321bd1]
mov ecx, edi
cmp dword [r10 + rax*4 + 0x33dcc0], 6
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd6
jmp 0x1401e2dc5
mov eax, edx
sub eax, 0x85
je case.0x1401e168b.8193
sub eax, 0x1b
je case.0x1401e168b.8193
sub eax, 0x15e0
je case.0x1401e168b.8193
cmp eax, 0x18e
jmp 0x1401e15cf
mov eax, 0x3000
cmp edx, eax
ja case.0x1401e168b.8194
je case.0x1401e168b.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401e168b.8194
movzx eax, byte [r10 + rax + 0x1e3cb4]
mov ecx, dword [r10 + rax*4 + 0x1e3cac]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x40], 0xf
jne case.0x1401e25ec.7
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e170a
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e170a
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x321bd1]
mov eax, dword [r10 + rdx*4 + 0x33dcc0]
dec eax
test eax, 0xfffffffd
je 0x1401e175a
sub dl, 0xc
mov ecx, edi
test dl, 0xfb
jne 0x1401e175f
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd7
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e17fd
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e17fd
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, dword [r12 + 0x44]
lea rcx, [rax*4 + 0x3215f0]
add rcx, r10
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401e1825
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401e1848
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401e1817
cmp dword [r12 + 0x40], 0xf
jne case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd8
jmp 0x1401e2dc5
cmp dword [r12 + 0x40], 0xf
jne case.0x1401e25ec.10
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e18cb
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e18cb
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 [r12 + 0x50], rax
add edx, 0x10000
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401e18e7
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401e1906
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401e1906
mov ecx, edi
cmp edx, 0xe000
jb 0x1401e190b
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd9
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401e2883
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401e1bd3.8193
cmp rax, qword [r13 + 0xa0]
ja 0x1401e198d
cmp dword [r13 + 0x30], 0
je case.0x1401e1bd3.8193
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jb 0x1401e1a16
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401e1bd3.8193
cmp rcx, qword [r13 + 0xa0]
ja 0x1401e19fd
cmp dword [r13 + 0x30], 0
je case.0x1401e1bd3.8193
mov dword [r13 + 0x28], 1
cmp ax, 1
ja 0x1401db58c
mov ebx, edi
jmp case.0x1401df326.33
cmp dword [r12 + 0x40], 0xc
jne 0x1401e1a93
mov edx, dword [r13 + 0xe4]
test edx, edx
je 0x1401e1a52
lea r9, [r13 + 0xe8]
mov dword [rsp + 0x20], r14d
call fcn.14021a730
lea r10, [0x140000000]
test eax, eax
je 0x1401e1a8d
mov ebx, edi
mov r11d, 0xd800
jmp case.0x1401df326.33
mov edx, dword [r13 + 0xe8]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401e1a8d
movzx eax, word [r13 + 0xec]
cmp word [rcx], ax
jne 0x1401e1a8d
cmp edx, 1
je case.0x1401e0859.8193
movzx eax, word [r13 + 0xee]
cmp word [rcx + 2], ax
je case.0x1401e0859.8193
mov r11d, 0xd800
mov rax, qword [r12 + 0x50]
movzx edx, word [rax]
lea r8, [rax + 2]
mov eax, edx
mov qword [r12 + 0x50], r8
and eax, esi
cmp eax, r11d
jne 0x1401e1ad5
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 [r12 + 0x50], r8
mov eax, dword [r12 + 0x40]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401e0781.15
mov ecx, dword [r10 + rax*4 + 0x1e3d14]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401e1b18
je 0x1401e293f
sub edx, 0xa
je case.0x1401e1af1.13
sub edx, 1
je 0x1401e1b39
cmp edx, 1
je 0x1401e1b39
mov ebx, edi
jmp case.0x1401df326.33
sub edx, 0x85
je 0x1401e1b39
sub edx, 0x1fa3
je 0x1401e1b39
cmp edx, 1
jne case.0x1401e1bd3.8193
cmp word [r13 + 0x62], 2
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401e1b9d
je case.0x1401e1bd3.8193
cmp edx, 9
je case.0x1401e1bd3.8193
cmp edx, 0x20
je case.0x1401e1bd3.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401e1bd3.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401e1bd3.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401e1af1.13
je case.0x1401e1bd3.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401e1af1.13
movzx eax, byte [r10 + rdx + 0x1e3d5c]
mov ecx, dword [r10 + rax*4 + 0x1e3d54]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401e1c26
je case.0x1401e1af1.13
cmp edx, 9
je case.0x1401e1af1.13
cmp edx, 0x20
je case.0x1401e1af1.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401e1af1.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401e1af1.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401e1bd3.8193
je case.0x1401e1af1.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401e1bd3.8193
movzx eax, byte [r10 + rdx + 0x1e3dc4]
mov ecx, dword [r10 + rax*4 + 0x1e3dbc]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401e1c8b
je case.0x1401e1bd3.8193
sub edx, 0xa
je case.0x1401e1bd3.8193
sub edx, 1
je case.0x1401e1bd3.8193
cmp edx, 1
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
sub edx, 0x85
je case.0x1401e1bd3.8193
sub edx, 0x1fa3
je case.0x1401e1bd3.8193
cmp edx, 1
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0xd
ja 0x1401e1ce0
je case.0x1401e1af1.13
sub edx, 0xa
je case.0x1401e1af1.13
sub edx, 1
je case.0x1401e1af1.13
cmp edx, 1
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
sub edx, 0x85
je case.0x1401e1af1.13
sub edx, 0x1fa3
je case.0x1401e1af1.13
cmp edx, 1
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1af1.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1bd3.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1af1.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1bd3.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1af1.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
cmp edx, 0x100
jae case.0x1401e1bd3.8193
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401e1af1.13
mov ebx, edi
jmp case.0x1401df326.33
test ebx, ebx
jne case.0x1401df326.33
mov r8, qword [r12 + 0x50]
mov ebx, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r12 + 0x50], r8
test r14d, r14d
jne 0x1401e237e
movzx edx, word [r8]
jmp 0x1401e23cc
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401e1e2e
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
cmp dword [r12 + 0x40], 0x11
jne 0x1401e24f9
cmp rcx, qword [r12 + 8]
jbe 0x1401e24f9
cmp word [rcx], 0xa
jne 0x1401e24f9
mov r15, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
cmp word [rcx], 0xd
jne 0x1401e2505
mov qword [r12 + 0x50], rcx
jmp 0x1401e2505
test ebx, ebx
jne case.0x1401df326.33
mov rcx, qword [r12 + 0x50]
mov r15, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
mov ebp, dword [rsp + 0xe0]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e1eb7
movzx eax, word [rcx]
mov edx, 0xdc00
and ax, si
cmp ax, dx
jne 0x1401e1eb7
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
ja 0x1401e29cb
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
jmp 0x1401d8928
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e1f54
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e1f54
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov r8d, dword [r12 + 0x44]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r10 + rcx*4 + 0x321bda]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x321060]
bt eax, r8d
mov edx, edi
mov eax, edi
setb dl
cmp dword [r12 + 0x40], 0xf
sete al
cmp edx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdf
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e2043
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e2043
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx eax, word [r10 + rcx*4 + 0x321bd8]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe0
jmp 0x1401e2dc5
test ebx, ebx
jne case.0x1401df326.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401e1bd3.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401e1967
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401e211b
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e211b
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 [r12 + 0x50], rax
add edx, 0x10000
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x321bd0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401e2180
movzx edx, word [rdx + r10 + 8]
mov eax, ecx
shr rax, 5
and edx, 0x3ff
add rdx, rax
and ecx, 0x1f
mov eax, dword [r10 + rdx*4 + 0x3218d0]
bt eax, ecx
mov ecx, edi
jae 0x1401e2185
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401e1bd3.8193
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe1
jmp 0x1401e2dc5
mov rsi, qword [rsp + 0x30]
lea rcx, [r12 + 0x88]
mov r8, qword [rsi + 0x80]
lea rdx, [rsi + 0x88]
shl r8, 3
call fcn.14024bde0
mov rax, qword [rsi + 0x80]
mov qword [r12 + 0x80], rax
mov rax, qword [rsi + 0x60]
mov qword [r12 + 0x60], rax
mov rcx, qword [r12]
nop
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401e21f0
mov r15, qword [rsp + 0x40]
lea rax, [rcx + 4]
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x38]
mov qword [r12], rax
jmp 0x1401d8928
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea r8, [rcx + rax*2]
mov qword [r12], r8
cmp word [r8], 0x78
je 0x1401e2c43
lea rax, [r8 + 4]
mov qword [r12], rax
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x1401d8920
mov r8, qword [rbp + 0x80]
lea rdx, [rbp + 0x88]
shl r8, 3
lea rcx, [r12 + 0x88]
call fcn.14024bde0
mov rax, qword [rbp + 0x80]
lea r10, [0x140000000]
mov qword [r12 + 0x80], rax
mov eax, dword [r12 + 0x38]
jmp 0x1401e22d9
mov rcx, qword [r12 + 8]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
mov qword [r12 + 8], rdx
cmp word [rdx], 0x78
je 0x1401e2641
cmp dword [r12 + 0x38], 0
mov eax, edi
sete al
test eax, eax
je 0x1401e230d
mov rdx, qword [r12]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
mov qword [r12], rcx
mov rdx, rcx
cmp word [rcx], 0x78
je 0x1401e22e1
mov r15, qword [rsp + 0x40]
mov rcx, qword [r12]
movzx eax, word [rcx]
movzx edx, byte [rax + r10 + 0x33db10]
jmp 0x1401e231b
mov r15, qword [rsp + 0x40]
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12]
lea rsi, [rcx + rdx*2]
mov qword [r12], rsi
cmp byte [r12 + 0x49], 0x90
jne 0x1401e2258
mov rbx, qword [rsp + 0xf8]
mov eax, 0x20090
mov dword [rsp + 0x48], eax
mov byte [r12 + 0x48], 0x23
jmp 0x1401e2dc5
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x22
jmp 0x1401e2dc5
movzx ecx, word [r8]
mov r9, r8
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401e239d
lea r9, [r8 - 2]
mov qword [r12 + 0x50], r9
movzx ecx, word [r9]
movzx edx, cx
mov r8, r9
mov eax, edx
and eax, esi
cmp eax, r11d
jne 0x1401e23cc
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 r9, qword [r12 + 8]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx r10d, byte [r10 + rcx*4 + 0x321bd2]
cmp r8, r9
jbe 0x1401e24c6
lea r11, [0x140000000]
mov r13d, 0xd800
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
jne 0x1401e2432
mov edx, ecx
jmp 0x1401e2472
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401e2446
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, esi
cmp eax, r13d
jne 0x1401e2472
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 + 0x325e90]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x32a290]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x321bd2]
mov eax, dword [r11 + rdx*4 + 0x33dc80]
bt eax, r10d
jae 0x1401e24be
mov qword [r12 + 0x50], r8
mov r10d, edx
cmp r8, r9
ja 0x1401e2420
mov r13, qword [rsp + 0x108]
mov ebp, dword [rsp + 0xe0]
mov r15, qword [rsp + 0x40]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdc
jmp 0x1401e2dc5
mov r15, qword [rsp + 0x40]
mov ebp, dword [rsp + 0xe0]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401e225f
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdd
jmp 0x1401e2dc5
inc dword [r13 + 0xdc]
lea rcx, [0x140000000]
mov rdx, qword [r12]
mov eax, dword [r13 + 0xdc]
cmp eax, dword [r13 + 0xe0]
movzx eax, word [rdx]
movzx ecx, byte [rax + rcx + 0x33db10]
movzx eax, word [rdx + 2]
ja 0x1401e29e2
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r12], rax
jmp 0x1401d8930
test r14d, r14d
jne 0x1401e0eda
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1d
jmp 0x1401e2dc5
test r14d, r14d
jne 0x1401e0fcb
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401e2dc5
test r14d, r14d
jne 0x1401e0c94
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401e2dc5
test esi, esi
js 0x1401e25ee
cmp esi, 0xd
ja case.0x1401e0781.15
movsxd rax, esi
mov ecx, dword [r8 + rax*4 + 0x1e3e24]
add rcx, r8
jmp rcx
cmp dword [r12 + 0x40], 0x16
je 0x1401e2928
test r14d, r14d
jne case.0x1401e1af1.13
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401e2dc5
xor eax, eax
mov edx, eax
jmp 0x1401e2ae0
mov eax, 0xfffd
sub dx, 0x7f
test ax, dx
mov eax, 0
sete al
mov dword [r12 + 0x38], eax
mov qword [r12 + 8], r8
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov rbx, qword [rsp + 0xf8]
movzx eax, word [rax]
or eax, 0x30000
mov dword [rsp + 0x48], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 5
lea rsi, [rcx + rax*2]
jmp 0x1401e2dc5
mov byte [r12 + 0x48], 7
jmp 0x1401e2dc5
mov rbx, qword [rsp + 0xf8]
lea rsi, [r8 + rdx*2]
mov byte [r12 + 0x48], 1
jmp 0x1401e2dc5
mov rax, qword [r12 + 0x10]
mov qword [r12], rax
jmp 0x1401e2a97
mov rax, qword [rsp + 0x78]
add rax, rax
add qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x14
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x15
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x18
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1c
jmp 0x1401e2dc5
cmp r8, qword [r13 + 0x88]
jae case.0x1401e0781.13
cmp word [r8], 0xa
jne case.0x1401e0781.13
mov rbx, qword [rsp + 0xf8]
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov byte [r12 + 0x48], 0x21
jmp 0x1401e2dc5
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401e0781.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401e0781.13
cmp dword [r13 + 0xe4], 0
jne case.0x1401e0781.13
cmp dword [r13 + 0xe8], 2
jne case.0x1401e0781.13
movzx eax, word [r13 + 0xec]
cmp edx, eax
jne case.0x1401e0781.13
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401e2dc5
mov rcx, qword [r12 + 0x50]
add rcx, 2
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401e27d3
cmp rcx, qword [r13 + 0x88]
jae 0x1401e27d3
movzx eax, word [rcx]
mov edx, 0xdc00
and ax, si
cmp ax, dx
jne 0x1401e27d3
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
add rsi, 6
mov byte [r12 + 0x48], 0x25
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], WSAAsyncSelect
jmp 0x1401e2dc5
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401e281e
lea rax, [rdx - 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.OLEAUT32.dll_CreateErrorInfo
jmp 0x1401e2dc5
lea rax, [rdi + rbx]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xca
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcb
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcf
jmp 0x1401e2dc5
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401e28ce
mov eax, r10d
and eax, esi
cmp eax, r11d
jne 0x1401e28ce
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 [r12 + 0x50], rcx
mov r9, qword [r13 + 0x88]
mov rdx, rcx
mov r8, qword [r13 + 0x78]
mov ecx, r10d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r14d
call fcn.14021da20
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401e2928
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401e2928
cmp rax, qword [r13 + 0xa0]
ja 0x1401e2916
cmp dword [r13 + 0x30], 0
je 0x1401e2928
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xda
jmp 0x1401e2dc5
cmp r8, qword [r13 + 0x88]
jae case.0x1401e1af1.13
cmp word [r8], 0xa
jne case.0x1401e1af1.13
mov rbx, qword [rsp + 0xf8]
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
mov rsi, qword [r12]
mov byte [r12 + 0x48], 0xdb
jmp 0x1401e2dc5
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401e1af1.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401e1af1.13
cmp dword [r13 + 0xe4], 0
jne case.0x1401e1af1.13
cmp dword [r13 + 0xe8], 2
jne case.0x1401e1af1.13
movzx eax, word [r13 + 0xec]
cmp edx, eax
jne case.0x1401e1af1.13
mov dword [r13 + 0x28], 1
cmp cx, 1
ja 0x1401db58c
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdb
jmp 0x1401e2dc5
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xde
jmp 0x1401e2dc5
mov byte [r12 + 0x48], 0x11
jmp 0x1401e2dbe
lea rsi, [r8 + 2]
mov qword [r12 + 8], rsi
mov byte [r12 + 0x48], 9
jmp 0x1401e2dc5
add r8, 2
mov qword [r12 + 8], r8
nop word [rax + rax]
movzx eax, word [r8 + 2]
lea rcx, [r8 + rax*2]
mov qword [r12 + 8], rcx
mov r8, rcx
cmp word [rcx], 0x78
je 0x1401e2a10
lea rsi, [rcx + 4]
mov byte [r12 + 0x48], 0xa
jmp 0x1401e2dc5
add r8, 2
mov dword [r12 + 0x40], 1
mov qword [r12], r8
mov ecx, 0x8a
movzx eax, word [r8]
cmp ax, cx
je 0x1401e2a76
mov ecx, 0x8f
cmp ax, cx
jne 0x1401e2a68
jmp 0x1401e2a76
xor eax, eax
mov dword [r12 + 0x40], eax
mov eax, 0x20000
jmp 0x1401e2a7f
xor eax, eax
mov dword [r12 + 0x40], eax
movzx eax, word [r8 + 4]
bts eax, 0x10
mov dword [r12 + 0x38], eax
lea r10, [0x140000000]
xor eax, eax
mov dword [r12 + 0x3c], eax
mov qword [r12 + 0x10], r8
mov rax, qword [r12 + 0x50]
mov rbx, qword [rsp + 0xf8]
mov qword [r12 + 8], rax
mov rcx, qword [r12]
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0x48], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 8
lea rsi, [rcx + rax*2]
jmp 0x1401e2dc5
movzx edx, word [r8 + 4]
bts edx, 0x10
jmp 0x1401e2ae0
bts edx, 0x11
mov dword [r12 + 0x38], edx
lea r10, [0x140000000]
mov eax, dword [r12 + 0x38]
mov rbx, qword [rsp + 0xf8]
mov dword [rsp + 0x48], eax
movzx eax, word [r8]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 2
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
mov rcx, qword [r13 + 0x70]
movzx eax, word [r8 + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
jne 0x1401e2b32
xor eax, eax
mov r9d, eax
jmp 0x1401e2b37
movzx r9d, word [r10 + 4]
cmp dword [r12 + 0x70], 0xffffffff
je 0x1401e2ba3
mov rax, qword [r12 + 0x78]
cmp rax, 0xffffffffffffffff
je 0x1401e2ba3
mov r8, qword [rdi + 0x30]
mov edx, r9d
bts edx, 0x12
nop word [rax + rax]
add rax, r8
mov rcx, rax
sub rcx, rbx
cmp dword [rax + 0x34], edx
je 0x1401e2b7a
mov rax, qword [rcx + 0x78]
cmp rax, 0xffffffffffffffff
jne 0x1401e2b60
jmp 0x1401e2ba3
mov rax, qword [rcx + 0x50]
cmp qword [r12 + 0x50], rax
jne 0x1401e2ba3
mov rax, qword [rcx + 0x68]
cmp qword [r13 + 0xa8], rax
jne 0x1401e2ba3
test dword [r13 + 0xd4], 0x40000
je 0x1401e2fdd
mov rax, qword [r13 + 0xa8]
bts r9d, 0x12
mov qword [r12 + 0x68], rax
mov qword [r12 + 8], r10
lea r10, [0x140000000]
mov dword [r12 + 0x38], r9d
mov rcx, qword [r12 + 8]
mov eax, dword [r12 + 0x38]
mov rbx, qword [rsp + 0xf8]
mov dword [rsp + 0x48], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 0xb
lea rsi, [rcx + rax*2]
jmp 0x1401e2dc5
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r12 + 0x38], edx
mov eax, dword [r12 + 0x38]
mov rbx, qword [rsp + 0xf8]
mov dword [rsp + 0x48], eax
movzx eax, word [r8]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 3
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r12 + 0x38], edx
mov eax, dword [r12 + 0x38]
mov rbx, qword [rsp + 0xf8]
mov dword [rsp + 0x48], eax
movzx eax, word [r8]
movzx eax, byte [rax + r10 + 0x33db10]
mov byte [r12 + 0x48], 4
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
lea rax, [r8 + 4]
mov qword [r13 + 0xb8], rax
lea rcx, [0x140000000]
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + rcx + 0x33db10]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0xc
jmp 0x1401e2dbe
movzx eax, word [r8]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x33db10]
mov byte [r12 + 0x48], 0xd
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
lea rax, [r8 + 4]
mov qword [r13 + 0xb8], rax
lea rcx, [0x140000000]
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + rcx + 0x33db10]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0x24
jmp 0x1401e2dbe
movzx eax, word [r8]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x33db10]
mov byte [r12 + 0x48], 0xe
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
lea rax, [r8 + 4]
mov qword [r13 + 0xb8], rax
lea rcx, [0x140000000]
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + rcx + 0x33db10]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0xf
jmp 0x1401e2dbe
movzx eax, word [r8]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x33db10]
mov byte [r12 + 0x48], 0x10
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
movzx eax, word [r8]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x33db10]
mov byte [r12 + 0x48], 0x12
lea rsi, [r8 + rax*2]
jmp 0x1401e2dc5
lea rax, [r8 + 4]
mov qword [r13 + 0xb8], rax
lea rcx, [0x140000000]
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + rcx + 0x33db10]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0x13
add rcx, rax
lea rsi, [rdx + rcx*2]
lea r15, [r12 + rbx]
lea rax, [r15 + rbx]
mov qword [rsp + 0x40], r15
cmp rax, qword [rsp + 0x58]
jb 0x1401e2ece
mov rbp, qword [rsp + 0x100]
movabs rax, 0x7fffffffffffffff
sub r15, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
cmp rdx, rax
jb 0x1401e2e0f
cmp rdx, 0xfffffffffffffffe
je 0x1401e2fe4
mov rbx, 0xfffffffffffffffe
jmp 0x1401e2e13
lea rbx, [rdx + rdx]
mov ecx, dword [r13 + 0x18]
mov rax, rbx
shr rax, 0xa
cmp rax, rcx
jb 0x1401e2e50
mov rax, rdx
shr rax, 0xa
cmp rcx, rax
jbe 0x1401e2feb
sub rcx, rax
mov eax, edx
shl rcx, 0xa
and eax, 0x3ff
je 0x1401e2e4c
add rax, 0xfffffffffffffc00
add rcx, rax
lea rbx, [rdx + rcx]
mov rax, rbx
sub rax, r15
cmp rax, qword [rsp + 0xf8]
jb 0x1401e2feb
mov rdx, qword [rbp + 0x10]
mov rcx, rbx
mov rax, qword [rbp]
call qword [case.0x1400f4c10.0]
mov rdi, rax
test rax, rax
je 0x1401e2fe4
mov rdx, qword [rbp + 0x30]
mov r8, r15
mov rcx, rax
call fcn.14024bde0
mov rdx, qword [rbp + 0x10]
add r15, rdi
mov rcx, qword [rbp + 0x30]
mov r12, r15
sub r12, qword [rsp + 0xf8]
mov rax, qword [rbp + 8]
mov qword [rsp + 0x40], r15
call qword [case.0x1400f4c10.0]
lea rax, [rdi + rbx]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rbx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x58], rax
lea rdx, [r12 + 0x50]
lea rcx, [r15 + 0x50]
lea r8, [rbx - 0x50]
call fcn.14024bde0
mov eax, dword [r12 + 0x30]
mov r12, r15
mov ebp, dword [rsp + 0xe0]
inc eax
mov rdi, qword [rsp + 0x100]
xor edx, edx
mov r9, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0xe8]
mov dword [r15 + 0x30], eax
jmp 0x1401d8880
xor eax, eax
jmp 0x1401e2ffe
mov qword [r13 + 0x98], rdx
mov rax, qword [r12 + 0x80]
mov qword [r13 + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [r13 + 0xb0], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa8]
jbe 0x1401e2f51
mov qword [r13 + 0xa8], rax
mov rax, qword [r12 + 0x58]
lea rdx, [r12 + 0x88]
sub rax, qword [r13 + 0x78]
lea rcx, [rdi + 0x78]
sar rax, 1
mov qword [rdi + 0x68], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [rdi + 0x70], rax
movzx ebx, word [rdi + 0x62]
movzx eax, word [rsp + 0xf0]
inc eax
cmp eax, ebx
cmovbe ebx, eax
add ebx, ebx
lea r8d, [rbx - 2]
shl r8, 3
call fcn.14024bde0
mov rax, qword [r12 + 0x80]
dec ebx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x1401e2fd2
mov qword [rdi + rdx*8 + 0x68], 0xffffffffffffffff
dec ebx
mov rcx, qword [r12 + 0x80]
add rcx, 2
mov edx, ebx
cmp rdx, rcx
jae 0x1401e2fb4
mov eax, 1
jmp 0x1401e2ffe
mov eax, ebx
jmp 0x1401e2ffe
mov eax, 0xffffffcc
jmp 0x1401e2ffe
mov eax, 0xffffffd0
jmp 0x1401e2ffe
mov eax, 0xffffffc1
jmp 0x1401e2ffe
mov eax, 0xffffffd4
jmp 0x1401e2ffe
mov eax, 0xffffffd1
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret