Function at 0x1401d0670
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 rsi, r9
mov r13, qword [rsp + 0x108]
xor r9d, r9d
mov rbx, rdx
mov qword [rsp + 0x30], r9
xor edx, edx
mov qword [rsp + 0x40], r9
mov r8, qword [rdi + 0x38]
lea rax, [rsi - 0x50]
mov r11d, dword [r13 + 0xd0]
mov ebp, r9d
mov r12, qword [rdi + 0x30]
mov r14d, r11d
mov qword [rsp + 0x78], rax
mov r15d, r9d
mov rax, r8
shr r14d, 0x13
div rsi
mov dword [r12 + 0x30], r9d
and r14d, 1
mov dword [r12 + 0x6c], r9d
mov dword [r12 + 0x68], 0xffffffff
mov qword [r12 + 0x50], rcx
mov qword [r12 + 0x58], rcx
shr r11d, 0x11
and r11d, 1
mov qword [r12 + 0x60], r9
sub r8, rdx
mov qword [r12 + 0x78], r9
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x108], r9d
mov dword [rsp + 0x38], r14d
lea rax, [r8 + r12]
mov dword [rsp + 0xe0], r11d
mov qword [rsp + 0x60], rax
mov r8d, r9d
mov qword [r12 + 0x70], 0xffffffffffffffff
mov dword [rsp + 0xe8], r9d
mov dword [rsp + 0x50], 0xdc00
nop dword [rax]
nop word [rax + rax]
mov dword [r12 + 0x34], r8d
mov qword [r12], rbx
mov qword [r12 + 0x20], rsi
test r8d, r8d
je 0x1401d079f
mov rax, r12
sub rax, qword [rdi + 0x30]
mov qword [r12 + 0x70], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x1401d0797
movzx eax, r8w
mov dword [r12 + 0x68], eax
mov dword [rsp + 0xe8], r9d
mov edx, dword [r13 + 0x28]
lea eax, [rdx + 1]
mov dword [r13 + 0x28], eax
cmp edx, dword [r13 + 0x20]
jae 0x1401da8d2
mov eax, dword [r13 + 0x24]
cmp dword [r12 + 0x30], eax
jb 0x1401d0803
mov eax, 0xffffffcb
jmp 0x1401da8d7
mov rbp, qword [rsp + 0x30]
jmp 0x1401d0810
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
mov rdi, qword [rsp + 0x100]
jmp 0x1401d0810
mov rsi, qword [rsp + 0xf8]
lea r8, [0x140000000]
nop word [rax + rax]
mov rbx, qword [r12]
movzx r10d, byte [rbx]
mov byte [r12 + 0x49], r10b
mov edx, r10d
cmp r10d, 0xa6
ja case.0x1401d8255.15
movzx eax, byte [r8 + r10 + 0x1daa48]
mov ecx, dword [r8 + rax*4 + 0x1da8ec]
add rcx, r8
jmp rcx
cmp dword [r12 + 0x68], 0xffffffff
jne 0x1401d08d9
movzx r8d, word [rbx + 2]
mov rcx, qword [r12 + 0x70]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je case.0x1401d8255.15
mov rbp, qword [rdi + 0x30]
mov eax, r8d
add rbp, rcx
bts eax, 0x10
mov rcx, rbp
mov qword [rsp + 0x30], rbp
sub rcx, rsi
cmp dword [rbp + 0x34], eax
je 0x1401d088e
mov rcx, qword [rcx + 0x70]
jmp 0x1401d0860
mov dword [r12 + 0x6c], r8d
lea edx, [r8*2 - 2]
mov rax, qword [rcx + 0x50]
lea r8, [0x140000000]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rdx*8 + 0x80], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rdx*8 + 0x88], rax
cmp rdx, qword [r12 + 0x78]
jb 0x1401d08d9
lea rax, [rdx + 2]
mov qword [r12 + 0x78], rax
mov rcx, qword [r12]
movzx eax, word [rcx]
movzx eax, byte [rax + r8 + 0x32f360]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
jmp 0x1401d0810
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401d090b
mov qword [r13 + 0xa0], rax
mov qword [rsp + 0x40], r12
mov ebx, 0xfffffc19
xor edi, edi
lea r10, [0x140000000]
mov r15d, 0xff
mov r8d, 0x2000
mov esi, 0xfc00
mov ebp, 0xd800
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401d0949
mov qword [r13 + 0xa0], rax
cmp dword [r12 + 0x30], 0
je 0x1401da8b2
sub r12, qword [r12 + 0x20]
mov rax, qword [r13 + 0xf0]
or dword [rax + 0x68], 2
movzx eax, byte [r12 + 0x48]
dec eax
cmp eax, 0xe0
ja case.0x1401d8255.15
cdqe
movzx eax, byte [r10 + rax + 0x1dabe8]
mov ecx, dword [r10 + rax*4 + 0x1daaf0]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x68], 0xffffffff
je 0x1401d09f8
mov rcx, qword [r12 + 0x70]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je case.0x1401d8255.15
mov rbp, qword [rdi + 0x30]
add rbp, rcx
mov rcx, rbp
mov qword [rsp + 0x30], rbp
sub rcx, rsi
mov eax, dword [rbp + 0x34]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x1401d09d1
mov rcx, qword [rcx + 0x70]
jmp 0x1401d09a0
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 0x1401d0810
mov r8, qword [r12 + 0x58]
mov rdx, qword [r12 + 0x50]
cmp rdx, r8
jne 0x1401d0a30
mov eax, dword [r13 + 0xcc]
test al, 4
jne case.0x1401d0841.82
test al, 8
je 0x1401d0a30
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x1401d0a30
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
cmp rdx, qword [r13 + 0x88]
jae 0x1401da7fc
mov eax, dword [r13 + 0xd0]
or eax, dword [r13 + 0xcc]
bt eax, 0x1d
jae 0x1401da7fc
test r10b, r10b
jne 0x1401da7f5
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov edx, dword [r13 + 0xdc]
mov rcx, qword [r12 + 0x50]
test edx, edx
je 0x1401d0b54
lea rbx, [r13 + 0x88]
mov r8, qword [rbx]
cmp rcx, r8
jae 0x1401d0aa6
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
test eax, eax
je 0x1401d0aa6
mov eax, 1
jmp 0x1401d0aa8
xor eax, eax
test eax, eax
jne case.0x1401d0841.82
lea r8, [0x140000000]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d0841.12
mov rax, qword [rbx]
mov rcx, qword [r12 + 0x50]
sub rax, 2
cmp rcx, rax
jne case.0x1401d0841.12
cmp dword [r13 + 0xdc], 0
jne case.0x1401d0841.12
cmp dword [r13 + 0xe0], 2
jne case.0x1401d0841.12
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne case.0x1401d0841.12
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401d3459
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jb 0x1401d0ba4
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d0841.82
cmp rcx, qword [r13 + 0x98]
ja 0x1401d0b39
cmp dword [r13 + 0x34], 0
je case.0x1401d0841.82
cmp ax, 1
mov dword [r13 + 0x2c], 1
ja 0x1401d3459
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
ja 0x1401d0b98
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d0b98
cmp edx, 1
je case.0x1401d0841.82
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401d0b98
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
lea rbx, [r13 + 0x88]
jmp 0x1401d0ab7
add rcx, 2
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d0bd9
cmp rcx, qword [r13 + 0x88]
jae 0x1401d0bd9
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d0bd9
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0810
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401d0c39
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d0841.82
cmp rax, qword [r13 + 0x98]
ja 0x1401d0c1e
cmp dword [r13 + 0x34], 0
je case.0x1401d0841.82
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
add rax, 2
mov qword [r12 + 0x50], rax
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0810
test r14d, r14d
je 0x1401d0d01
add rbx, 2
mov qword [r12 + 0x18], 1
mov ecx, 0xfc00
mov qword [r12], rbx
mov edx, 1
movzx eax, word [rbx]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x1401d0c8f
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 0x1401d0cd0
cmp r8, rcx
jb case.0x1401d0841.82
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d0841.82
cmp r8, qword [r13 + 0x98]
jmp 0x1401d0b2c
movzx ecx, word [r8]
add r8, 2
movzx eax, word [rbx]
add rbx, 2
mov qword [r12 + 0x50], r8
mov qword [r12], rbx
cmp ax, cx
jne case.0x1401d0841.82
sub rdx, 1
mov qword [r12 + 0x18], rdx
jne 0x1401d0cd0
jmp 0x1401d0803
mov r8, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
sub rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 2
jl 0x1401d0cb2
movzx edx, word [rbx + 2]
lea rax, [r8 + 2]
movzx ecx, word [r8]
mov qword [r12 + 0x50], rax
cmp dx, cx
jne case.0x1401d0841.82
lea rax, [rbx + 4]
mov qword [r12], rax
jmp 0x1401d0803
mov r9, qword [r12 + 0x50]
cmp r9, qword [r13 + 0x88]
jb 0x1401d0d69
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d0841.82
cmp r9, qword [r13 + 0x98]
jmp 0x1401d0b2c
test r14d, r14d
je 0x1401d0ec6
lea r11, [rbx + 2]
mov qword [r12 + 0x18], 1
mov qword [r12], r11
mov ecx, 0xfc00
movzx r8d, word [r11]
mov edx, 0xd800
mov eax, r8d
add rbx, 4
and eax, ecx
cmp eax, edx
jne 0x1401d0dcb
movzx eax, word [rbx]
and r8d, 0x3ff
and eax, 0x3ff
shl r8d, 0xa
or r8d, eax
mov eax, 2
add r8d, 0x10000
mov qword [r12 + 0x18], rax
lea r10d, [rax + 2]
jmp 0x1401d0dd1
mov r10d, 2
movzx edx, word [r9]
mov eax, 0x80
cmp r8d, eax
jae 0x1401d0e1e
mov eax, 0xff
cmp edx, eax
ja 0x1401d0df0
mov rax, qword [r13 + 0x38]
movzx edx, byte [rdx + rax]
mov rax, qword [r13 + 0x38]
movzx ecx, byte [r8 + rax]
cmp ecx, edx
jne case.0x1401d0841.82
mov r11d, dword [rsp + 0xe0]
lea rax, [r9 + 2]
mov qword [r12], rbx
xor r9d, r9d
mov qword [r12 + 0x50], rax
jmp 0x1401d0803
add r9, 2
mov eax, edx
and eax, ecx
mov qword [r12 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d0e5c
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 rax, [r11 + r10]
mov r11d, dword [rsp + 0xe0]
mov qword [r12], rax
mov r9d, 0
cmp edx, r8d
je 0x1401d0803
lea r10, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3139d4]
add ecx, r8d
cmp edx, ecx
je 0x1401d0803
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
test r11d, r11d
je 0x1401d0f70
movzx edx, word [rbx + 2]
mov eax, 0x80
movzx r8d, word [r9]
cmp edx, eax
jae 0x1401d0f0d
mov eax, 0xff
cmp r8d, eax
ja 0x1401d0ef3
mov rax, qword [r13 + 0x38]
movzx r8d, byte [r8 + rax]
mov rax, qword [r13 + 0x38]
movzx ecx, byte [rdx + rax]
cmp ecx, r8d
je 0x1401d0fae
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
cmp r8d, edx
je 0x1401d0fae
mov eax, edx
test edx, edx
jns 0x1401d0f1f
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401d0f47
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x31bfe0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3139d4]
add ecx, edx
cmp r8d, ecx
je 0x1401d0fae
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx eax, word [rbx + 2]
mov edx, 0xff
cmp ax, dx
ja 0x1401d0f8b
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx r8d, byte [rcx + rax]
jmp 0x1401d0f8e
mov r8d, eax
movzx eax, word [r9]
cmp ax, dx
ja 0x1401d0fa3
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx edx, byte [rcx + rax]
jmp 0x1401d0fa5
mov edx, eax
cmp r8d, edx
jne case.0x1401d0841.82
lea rax, [r9 + 2]
xor r9d, r9d
mov qword [r12 + 0x50], rax
lea rax, [rbx + 4]
mov qword [r12], rax
jmp 0x1401d0803
mov r9, qword [r12 + 0x50]
cmp r9, qword [r13 + 0x88]
jae 0x1401d0d4f
lea rax, [rbx + 2]
test r14d, r14d
je 0x1401d10e5
mov qword [r12], rax
lea r8, [rax + 2]
movzx edx, word [rax]
mov ebx, 0xfc00
mov eax, edx
mov qword [r12], r8
and eax, ebx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d1033
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 0xd800
lea rax, [r8 + 2]
add edx, 0x10000
mov qword [r12], rax
movzx r8d, word [r9]
add r9, 2
mov eax, r8d
mov qword [r12 + 0x50], r9
and eax, ebx
cmp eax, ecx
jne 0x1401d1076
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.0x1401d0841.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401d0803
lea r10, [0x140000000]
cmp edx, 0x7f
jbe 0x1401d10cb
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x3139d4]
jmp 0x1401d10d3
mov rax, qword [r13 + 0x40]
movzx edx, byte [rax + rdx]
cmp edx, r8d
jne 0x1401d0803
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx r8d, word [r9]
lea rdx, [r9 + 2]
test r11d, r11d
je 0x1401d1191
mov qword [r12 + 0x50], rdx
movzx edx, word [rax]
lea rax, [rbx + 4]
mov qword [r12], rax
cmp edx, r8d
je case.0x1401d0841.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401d0803
cmp edx, 0x7f
jbe 0x1401d1170
mov eax, edx
test edx, edx
jns 0x1401d112d
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401d1155
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x3139d4]
jmp 0x1401d117f
mov rax, qword [r13 + 0x40]
lea r10, [0x140000000]
movzx edx, byte [rax + rdx]
cmp edx, r8d
jne 0x1401d0803
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx ecx, word [rax]
mov qword [r12 + 0x50], rdx
cmp ecx, r8d
je case.0x1401d0841.82
cmp r10b, 0x20
jne 0x1401d11c2
mov eax, 0xff
cmp ecx, eax
ja 0x1401d11c2
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rcx]
cmp ecx, r8d
je case.0x1401d0841.82
lea rax, [rbx + 4]
xor r9d, r9d
mov qword [r12], rax
jmp 0x1401d0803
movzx r8d, word [rbx + 2]
lea r10, [0x140000000]
mov dword [r12 + 0x3c], r8d
add rbx, 4
mov dword [r12 + 0x38], r8d
mov qword [r12], rbx
jmp 0x1401d1352
mov eax, 2
mov r15d, eax
mov dword [rsp + 0x108], eax
mov dword [r12 + 0x38], r9d
lea r10, [0x140000000]
movzx eax, word [rbx + 2]
mov r8d, r9d
add rbx, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], rbx
jmp 0x1401d1352
mov dword [r12 + 0x38], r9d
lea r10, [0x140000000]
movzx eax, word [rbx + 2]
mov r15d, 1
add rbx, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], rbx
mov r8d, r9d
jmp 0x1401d134a
mov r15d, r9d
mov dword [rsp + 0x108], r9d
jmp 0x1401d1204
mov eax, 2
mov dword [r12 + 0x38], r9d
add rbx, rax
mov dword [r12 + 0x3c], 0xffffffff
mov qword [r12], rbx
lea r10, [0x140000000]
mov r15d, eax
mov dword [rsp + 0x108], eax
mov r8d, r9d
jmp 0x1401d1352
mov eax, 2
mov dword [r12 + 0x38], 1
add rbx, rax
mov dword [r12 + 0x3c], 0xffffffff
mov r15d, eax
mov dword [rsp + 0x108], eax
mov qword [r12], rbx
lea r10, [0x140000000]
lea r8d, [rax - 1]
jmp 0x1401d1352
mov eax, 2
mov dword [r12 + 0x38], r9d
add rbx, rax
mov dword [r12 + 0x3c], 1
mov qword [r12], rbx
lea r10, [0x140000000]
mov r15d, eax
mov dword [rsp + 0x108], eax
mov r8d, r9d
jmp 0x1401d1352
mov ecx, 0x21
mov eax, 0x2e
cmp r10b, al
lea r10, [0x140000000]
cmovb eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r12], rbx
lea rcx, [rcx*4]
mov r8d, dword [rcx + r10 + 0x312d68]
mov eax, dword [rcx + r10 + 0x312d98]
mov r15d, dword [rcx + r10 + 0x312dc8]
mov dword [r12 + 0x38], r8d
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
test r14d, r14d
je 0x1401d160d
mov qword [r12 + 0x18], 1
lea rcx, [rbx + 2]
mov qword [r12 + 0x10], rbx
movzx edx, word [rbx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401d1602
movzx r8d, word [rcx]
and edx, 0x3ff
and r8d, 0x3ff
shl edx, 0xa
mov eax, 2
or r8d, edx
mov qword [r12 + 0x18], rax
add r8d, 0x10000
lea rax, [rbx + 4]
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401d1400
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3139d4]
add ecx, r8d
cmp ecx, r8d
je 0x1401d1400
lea rdx, [r12 + 0x4a]
call fcn.14020edb0
mov eax, eax
jmp 0x1401d1403
mov rax, r9
mov qword [r12 + 0x28], rax
mov ebp, 1
mov eax, dword [r12 + 0x38]
cmp eax, ebp
jb 0x1401d14ab
nop word [rax + rax]
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 0x1401d1454
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
je 0x1401d148c
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401d1575
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d1575
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
jne 0x1401d1575
lea rax, [rdi + rbx]
mov edx, 0x50
mov rcx, r12
inc ebp
mov qword [rdx + rcx], rax
mov eax, dword [r12 + 0x38]
cmp ebp, eax
jbe 0x1401d1420
mov ecx, dword [r12 + 0x3c]
lea r8, [0x140000000]
mov rdi, qword [rsp + 0x100]
mov ebp, eax
mov rsi, qword [rsp + 0xf8]
mov r9d, 0
mov r11d, dword [rsp + 0xe0]
cmp eax, ecx
je 0x1401d07d0
test r15d, r15d
je 0x1401da1d3
mov rbx, qword [r12 + 0x50]
mov qword [r12 + 8], rbx
cmp eax, ecx
jae 0x1401d15c9
nop word [rax + rax]
mov rax, qword [r12 + 0x18]
mov rsi, qword [r13 + 0x88]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d152f
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
je 0x1401d155b
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401d1598
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d1598
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
jne 0x1401d1598
add rbx, rdi
mov ecx, 0x50
mov rax, r12
inc ebp
mov qword [rcx + rax], rbx
cmp ebp, dword [r12 + 0x3c]
jb 0x1401d1500
jmp 0x1401d15c9
cmp rbx, rsi
jb case.0x1401d0841.82
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d0841.82
cmp rbx, qword [r13 + 0x98]
jmp 0x1401d0b2c
cmp rbx, rsi
jb 0x1401d15c9
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d15c9
cmp rbx, qword [r13 + 0x98]
ja 0x1401d15b7
cmp dword [r13 + 0x34], 0
je 0x1401d15c9
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov rbp, qword [rsp + 0x30]
mov r9d, 0
mov rdi, qword [rsp + 0x100]
lea r8, [0x140000000]
mov rsi, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0xe0]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d88df
mov qword [r12], rcx
mov dword [r12 + 0x40], edx
jmp 0x1401d161d
movzx edx, word [rbx]
lea rax, [rbx + 2]
mov dword [r12 + 0x40], edx
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401d17af
test r14d, r14d
jne 0x1401d1633
test r11d, r11d
je 0x1401d166a
cmp edx, 0x7f
jbe 0x1401d166a
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3139d4]
add ecx, edx
jmp 0x1401d167f
mov eax, 0xff
cmp edx, eax
ja 0x1401d167d
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rdx]
jmp 0x1401d167f
mov ecx, edx
mov r9d, 1
mov dword [r12 + 0x44], ecx
cmp r8d, r9d
jb 0x1401d16ca
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx ecx, word [rax]
mov edx, dword [r12 + 0x40]
cmp edx, ecx
je 0x1401d16b9
cmp dword [r12 + 0x44], ecx
jne 0x1401d0ebd
add rax, 2
inc r9d
mov qword [r12 + 0x50], rax
cmp r9d, r8d
jbe 0x1401d1690
mov r9d, dword [r12 + 0x3c]
mov r10d, r8d
cmp r8d, r9d
lea r8, [0x140000000]
je 0x1401d0be6
test r15d, r15d
je 0x1401d7f08
mov rax, qword [r12 + 0x50]
mov qword [r12 + 8], rax
cmp r10d, r9d
jae 0x1401d1793
nop
cmp rax, qword [r13 + 0x88]
jae 0x1401d1767
movzx ecx, word [rax]
cmp edx, ecx
je 0x1401d1717
cmp dword [r12 + 0x44], ecx
jne 0x1401d1793
add rax, 2
inc r10d
mov qword [r12 + 0x50], rax
cmp r10d, r9d
jb 0x1401d1700
jmp 0x1401d1793
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d0ebd
cmp rax, qword [r13 + 0x98]
ja 0x1401d174c
cmp dword [r13 + 0x34], 0
je 0x1401d0ebd
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d1793
cmp rax, qword [r13 + 0x98]
ja 0x1401d1781
cmp dword [r13 + 0x34], 0
je 0x1401d1793
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d7f35
mov r9d, 1
cmp r8d, r9d
jb 0x1401d17f1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne 0x1401d0ebd
inc r9d
cmp r9d, r8d
jbe 0x1401d17c0
mov edx, dword [r12 + 0x3c]
mov r9d, r8d
cmp r8d, edx
lea r8, [0x140000000]
je 0x1401d0be6
test r15d, r15d
je 0x1401d7fa5
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
cmp r9d, edx
jae 0x1401d1873
cmp rcx, qword [r13 + 0x88]
jae 0x1401d1847
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
jne 0x1401d1873
add rcx, 2
inc r9d
mov qword [r12 + 0x50], rcx
cmp r9d, edx
jb 0x1401d1821
jmp 0x1401d1873
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d1873
cmp rcx, qword [r13 + 0x98]
ja 0x1401d1861
cmp dword [r13 + 0x34], 0
je 0x1401d1873
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d7fd2
movzx edx, word [rbx + 2]
lea r10, [0x140000000]
mov dword [r12 + 0x3c], edx
add rbx, 4
mov dword [r12 + 0x38], edx
mov qword [r12], rbx
jmp 0x1401d19ee
mov dword [r12 + 0x38], r9d
lea r10, [0x140000000]
movzx eax, word [rbx + 2]
mov r15d, 1
add rbx, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], rbx
mov edx, r9d
jmp 0x1401d19e6
mov r15d, r9d
mov dword [rsp + 0x108], r9d
mov dword [r12 + 0x38], r9d
lea r10, [0x140000000]
movzx eax, word [rbx + 2]
mov edx, r9d
add rbx, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], rbx
jmp 0x1401d19ee
mov dword [r12 + 0x38], r9d
mov dword [r12 + 0x3c], 0xffffffff
mov eax, 2
lea r10, [0x140000000]
add rbx, rax
mov dword [rsp + 0x108], eax
mov qword [r12], rbx
mov r15d, eax
mov edx, r9d
jmp 0x1401d19ee
mov eax, 2
mov dword [r12 + 0x38], 1
add rbx, rax
mov dword [r12 + 0x3c], 0xffffffff
mov r15d, eax
mov dword [rsp + 0x108], eax
mov qword [r12], rbx
lea r10, [0x140000000]
lea edx, [rax - 1]
jmp 0x1401d19ee
mov dword [r12 + 0x38], r9d
mov dword [r12 + 0x3c], 1
jmp 0x1401d191a
mov eax, 2
mov r15d, eax
mov dword [rsp + 0x108], eax
jmp 0x1401d18e7
cmp r10b, 0x48
mov ecx, 0x48
lea r10, [0x140000000]
mov eax, 0x3b
cmovae eax, ecx
movzx ecx, word [rbx]
sub ecx, eax
add rbx, 2
mov qword [r12], rbx
lea rcx, [rcx*4]
mov edx, dword [rcx + r10 + 0x312d68]
mov eax, dword [rcx + r10 + 0x312d98]
mov r15d, dword [rcx + r10 + 0x312dc8]
mov dword [r12 + 0x38], edx
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
movzx ecx, word [rbx]
add rbx, 2
mov dword [r12 + 0x40], ecx
mov r8d, ecx
mov qword [r12], rbx
test r14d, r14d
je 0x1401d1a47
mov r9d, 0xfc00
mov eax, ecx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401d1a47
movzx r8d, word [rbx]
lea rax, [rbx + 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 0x1401d1d04
test r14d, r14d
jne 0x1401d1a5d
test r11d, r11d
je 0x1401d1a98
cmp r8d, 0x7f
jbe 0x1401d1a98
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, r8d
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rax, [rax + rax*2]
mov r10d, dword [r10 + rax*4 + 0x3139d4]
add r10d, r8d
jmp 0x1401d1ab3
mov eax, 0xff
cmp r8d, eax
ja 0x1401d1ab0
mov rax, qword [r13 + 0x40]
mov ecx, r8d
movzx r10d, byte [rax + rcx]
jmp 0x1401d1ab3
mov r10d, r8d
mov dword [r12 + 0x44], r10d
test r14d, r14d
je 0x1401d1b3b
mov r11d, 1
cmp edx, r11d
jb 0x1401d1b36
mov ebx, 0xfc00
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx ecx, word [rax]
lea r9, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], r9
and eax, ebx
cmp eax, 0xd800
jne 0x1401d1b1c
movzx eax, word [r9]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [r9 + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
cmp r8d, ecx
je case.0x1401d0841.82
cmp r10d, ecx
je case.0x1401d0841.82
inc r11d
cmp r11d, edx
jbe 0x1401d1ad0
mov r11d, edx
jmp 0x1401d1b88
mov r9d, 1
mov r11d, edx
cmp edx, r9d
jb 0x1401d1b88
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx ecx, word [rax]
cmp r8d, ecx
je case.0x1401d0841.82
cmp r10d, ecx
je case.0x1401d0841.82
add rax, 2
inc r9d
mov qword [r12 + 0x50], rax
cmp r9d, edx
jbe 0x1401d1b50
mov r9d, dword [r12 + 0x3c]
lea r8, [0x140000000]
cmp edx, r9d
je 0x1401d0bde
test r15d, r15d
je 0x1401d9f6c
mov r8, qword [r12 + 0x50]
mov qword [r12 + 8], r8
test r14d, r14d
je 0x1401d1c81
cmp r11d, r9d
jae 0x1401d1c5d
mov ebx, 0xd800
mov r10d, 0xfc00
nop dword [rax]
cmp r8, qword [r13 + 0x88]
jae 0x1401d1c31
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, r10d
cmp eax, ebx
jne 0x1401d1c10
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 0x1401d1c5d
cmp dword [r12 + 0x44], edx
je 0x1401d1c5d
inc r11d
lea r8, [r8 + rcx*2]
mov qword [r12 + 0x50], r8
cmp r11d, r9d
jb 0x1401d1bd0
jmp 0x1401d1c5d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d1c5d
cmp r8, qword [r13 + 0x98]
ja 0x1401d1c4b
cmp dword [r13 + 0x34], 0
je 0x1401d1c5d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov r11d, dword [rsp + 0xe0]
mov r9d, 0
lea r8, [0x140000000]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d89e0
cmp r11d, r9d
jae 0x1401d1ce0
cmp r8, qword [r13 + 0x88]
jae 0x1401d1cb4
movzx eax, word [r8]
cmp dword [r12 + 0x40], eax
je 0x1401d1ce0
cmp dword [r12 + 0x44], eax
je 0x1401d1ce0
add r8, 2
inc r11d
mov qword [r12 + 0x50], r8
cmp r11d, r9d
jb 0x1401d1c86
jmp 0x1401d1ce0
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d1ce0
cmp r8, qword [r13 + 0x98]
ja 0x1401d1cce
cmp dword [r13 + 0x34], 0
je 0x1401d1ce0
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov r11d, dword [rsp + 0xe0]
mov r9d, 0
lea r8, [0x140000000]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d80bf
mov r9d, 1
test r14d, r14d
je 0x1401d1d83
cmp edx, r9d
jb 0x1401d1dc4
mov ebx, 0xfc00
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, ebx
cmp eax, 0xd800
jne 0x1401d1d6b
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 r8d, ecx
je 0x1401d0ebd
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401d1d20
jmp 0x1401d1dc4
cmp edx, r9d
jb 0x1401d1dc4
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp r8d, ecx
je 0x1401d0ebd
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401d1d90
mov r9d, dword [r12 + 0x3c]
lea r8, [0x140000000]
cmp edx, r9d
je 0x1401d0be6
test r15d, r15d
je 0x1401d9f8c
mov rdx, qword [r12 + 0x50]
mov qword [r12 + 8], rdx
mov r10d, dword [r12 + 0x38]
test r14d, r14d
je 0x1401d1eb9
cmp r10d, r9d
jae 0x1401d1e9d
mov ebx, 0xfc00
nop dword [rax + rax]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d1e71
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, ebx
cmp eax, 0xd800
jne 0x1401d1e57
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 0x1401d1e9d
inc r10d
lea rdx, [rdx + rcx*2]
mov qword [r12 + 0x50], rdx
cmp r10d, r9d
jb 0x1401d1e10
jmp 0x1401d1e9d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d1e9d
cmp rdx, qword [r13 + 0x98]
ja 0x1401d1e8b
cmp dword [r13 + 0x34], 0
je 0x1401d1e9d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d8ac8
cmp r10d, r9d
jae 0x1401d1f12
nop
cmp rdx, qword [r13 + 0x88]
jae 0x1401d1ee6
movzx eax, word [rdx]
cmp dword [r12 + 0x40], eax
je 0x1401d1f12
add rdx, 2
inc r10d
mov qword [r12 + 0x50], rdx
cmp r10d, r9d
jb 0x1401d1ec0
jmp 0x1401d1f12
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d1f12
cmp rdx, qword [r13 + 0x98]
ja 0x1401d1f00
cmp dword [r13 + 0x34], 0
je 0x1401d1f12
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d815c
lea rax, [rbx + 2]
add rbx, 0x22
mov qword [r12 + 0x10], rax
lea r10, [0x140000000]
mov qword [r12], rbx
movzx edx, word [rbx]
lea eax, [rdx - 0x62]
cmp eax, 0xb
ja case.default.0x1401d1f62
cdqe
mov ecx, dword [r10 + rax*4 + 0x1daccc]
add rcx, r10
jmp rcx
lea rax, [rbx + 2]
mov qword [r12], rax
lea eax, [rdx - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x312d68]
mov dword [r12 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x312d98]
mov r15d, dword [r10 + rcx*4 + 0x312dc8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
jmp 0x1401d1fee
movzx eax, word [rbx + 2]
mov dword [r12 + 0x38], eax
movzx eax, word [rbx + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401d1fbf
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [rbx]
mov r15d, dword [r10 + rax*4 + 0x312c40]
lea rax, [rbx + 6]
mov qword [r12], rax
mov dword [rsp + 0x108], r15d
jmp 0x1401d1fee
mov dword [r12 + 0x3c], 1
mov dword [r12 + 0x38], 1
mov eax, dword [r12 + 0x38]
mov r9d, 1
test r14d, r14d
je 0x1401d20c1
cmp eax, r9d
jb 0x1401d2136
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx r8d, word [rax]
lea rdx, [rax + 2]
mov ecx, 0xfc00
mov qword [r12 + 0x50], rdx
mov eax, r8d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d206e
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 0x1401d208c
cmp byte [r12 + 0x49], 0x6e
jne 0x1401d20ae
xor edi, edi
mov r15d, eax
mov ebx, edi
jmp 0x1401d0924
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 0x1401d0ebd
mov eax, dword [r12 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401d2010
jmp 0x1401d2136
cmp eax, r9d
jb 0x1401d2136
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d172a
movzx r8d, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
mov eax, 0xff
cmp r8d, eax
jbe 0x1401d2107
cmp byte [r12 + 0x49], 0x6e
je 0x1401d2080
jmp 0x1401d2129
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 0x1401d0ebd
mov eax, dword [r12 + 0x38]
inc r9d
cmp r9d, eax
jbe 0x1401d20d0
mov r11d, dword [r12 + 0x3c]
mov r9d, 0
cmp eax, r11d
je 0x1401d07e7
test r15d, r15d
je 0x1401d9fac
mov r9, qword [r12 + 0x50]
mov qword [r12 + 8], r9
mov ebx, dword [r12 + 0x38]
test r14d, r14d
je 0x1401d2261
cmp ebx, r11d
jae 0x1401d2247
nop dword [rax]
nop dword [rax + rax]
cmp r9, qword [r13 + 0x88]
jae 0x1401d221b
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d21d5
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 0x1401d21e7
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401d2203
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 0x1401d2247
inc ebx
lea r9, [r9 + r10*2]
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401d2180
jmp 0x1401d2247
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d2247
cmp r9, qword [r13 + 0x98]
ja 0x1401d2235
cmp dword [r13 + 0x34], 0
je 0x1401d2247
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
cmp r15d, 2
jne 0x1401da1b3
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0803
cmp ebx, r11d
jae 0x1401d22df
cmp r9, qword [r13 + 0x88]
jae 0x1401d22b3
movzx eax, word [r9]
mov ecx, 0xff
cmp eax, ecx
jbe 0x1401d2284
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401d229f
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 0x1401d22df
add r9, 2
inc ebx
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401d2266
jmp 0x1401d22df
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d22df
cmp r9, qword [r13 + 0x98]
ja 0x1401d22cd
cmp dword [r13 + 0x34], 0
je 0x1401d22df
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
cmp r15d, 2
jne 0x1401d7e91
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0803
lea rax, [rbx + 4]
mov qword [r12 + 0x10], rax
movzx eax, word [rbx + 2]
lea rdx, [rbx + rax*2]
mov qword [r12], rdx
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 0xb
ja case.default.0x1401d2333
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1dacfc]
add rcx, r10
jmp rcx
lea rax, [rdx + 2]
mov qword [r12], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x312d68]
mov dword [r12 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x312d98]
mov r15d, dword [r10 + rcx*4 + 0x312dc8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
jmp 0x1401d23be
movzx eax, word [rdx + 2]
mov dword [r12 + 0x38], eax
movzx eax, word [rdx + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401d238f
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [rdx]
mov r15d, dword [r10 + rax*4 + 0x312c40]
lea rax, [rdx + 6]
mov qword [r12], rax
mov dword [rsp + 0x108], r15d
jmp 0x1401d23be
mov dword [r12 + 0x3c], 1
mov dword [r12 + 0x38], 1
mov edi, dword [r12 + 0x38]
mov ebx, 1
cmp edi, ebx
jb 0x1401d244b
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401d242b
mov r8d, 0xfc00
mov eax, ecx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401d242b
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 rdx, qword [r12 + 0x10]
mov r8d, r14d
call fcn.1402123e0
test eax, eax
je case.0x1401d0841.82
mov edi, dword [r12 + 0x38]
inc ebx
cmp ebx, edi
jbe 0x1401d23d0
mov eax, dword [r12 + 0x3c]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xe0]
mov r9d, 0
cmp edi, eax
je 0x1401d07f1
test r15d, r15d
je 0x1401da183
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
cmp edi, eax
jae 0x1401d253c
nop dword [rax + rax]
cmp rcx, qword [r13 + 0x88]
jae 0x1401d2510
movzx r9d, word [rcx]
mov ebx, 1
test r14d, r14d
je 0x1401d24e3
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401d24e3
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.1402123e0
test eax, eax
je 0x1401d253c
lea rax, [rbx + rbx]
inc edi
add qword [r12 + 0x50], rax
mov rcx, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d2490
jmp 0x1401d253c
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d253c
cmp rcx, qword [r13 + 0x98]
ja 0x1401d252a
cmp dword [r13 + 0x34], 0
je 0x1401d253c
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
cmp r15d, 2
jne 0x1401d86d8
mov rdi, qword [rsp + 0x100]
xor r9d, r9d
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401d2597
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d0841.82
cmp rax, qword [r13 + 0x98]
ja 0x1401d258e
cmp dword [r13 + 0x34], 0
je case.0x1401d0841.82
cmp cx, 1
jmp 0x1401d0b3d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d25e2
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d25e2
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, 0xff
cmp edx, eax
ja 0x1401d2782
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401d2782
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401d2661
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401d2661
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, 0xff
cmp ecx, eax
ja case.0x1401d0841.82
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401d0841.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0810
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d26e6
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d26e6
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, 0xff
cmp edx, eax
ja 0x1401d2782
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401d2782
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d2767
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d2767
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, 0xff
cmp edx, eax
ja case.0x1401d0841.82
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401d0841.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0803
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d27ec
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d27ec
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, 0xff
cmp edx, eax
ja 0x1401d2782
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401d2782
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401d2863
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401d2863
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, 0xff
cmp ecx, eax
ja case.0x1401d0841.82
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401d0841.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0810
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x88]
jae 0x1401d0cb2
movzx edx, word [r8]
add r8, 2
mov qword [r12 + 0x50], r8
mov rcx, r8
test r14d, r14d
je 0x1401d28f0
mov r10d, 0xfc00
mov eax, edx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401d28f0
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
cmp edx, 0xd
ja 0x1401d2959
je 0x1401d2901
sub edx, 0xa
je case.0x1401d2a65.8194
sub edx, 1
jmp 0x1401d2967
cmp rcx, qword [r13 + 0x88]
jb 0x1401d2940
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d2a65.8194
cmp rcx, qword [r13 + 0x98]
ja 0x1401d2924
cmp dword [r13 + 0x34], 0
je case.0x1401d2a65.8194
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
add qword [r12], 2
jmp 0x1401d0803
cmp word [rcx], 0xa
jne case.0x1401d2a65.8194
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
jmp 0x1401d0803
sub edx, 0x85
je 0x1401d2972
sub edx, 0x1fa3
je 0x1401d2972
cmp edx, 1
jne case.0x1401d0841.82
cmp word [r13 + 0x62], 2
jne case.0x1401d2a65.8194
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d29e0
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d29e0
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 0x1401d2a2c
je 0x1401d2a16
cmp edx, 9
je 0x1401d2a16
cmp edx, 0x20
je 0x1401d2a16
mov eax, 0xa0
cmp edx, eax
je 0x1401d2a16
mov eax, 0x1680
cmp edx, eax
je 0x1401d2a16
mov eax, 0x180e
cmp edx, eax
jne case.0x1401d2a65.8194
lea r10, [0x140000000]
xor edi, edi
mov ebx, edi
mov r15d, 0xff
jmp 0x1401d092a
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d2a65.8194
je 0x1401d2a16
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d2a65.8194
lea r10, [0x140000000]
movzx eax, byte [r10 + rdx + 0x1dad34]
mov ecx, dword [r10 + rax*4 + 0x1dad2c]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d2ac4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d2ac4
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 0x1401d2b13
je case.0x1401d2a65.8194
cmp edx, 9
je case.0x1401d2a65.8194
cmp edx, 0x20
je case.0x1401d2a65.8194
mov eax, 0xa0
cmp edx, eax
je case.0x1401d2a65.8194
mov eax, 0x1680
cmp edx, eax
je case.0x1401d2a65.8194
mov eax, 0x180e
cmp edx, eax
je case.0x1401d2a65.8194
jmp 0x1401d2a16
mov eax, 0x3000
cmp edx, eax
ja 0x1401d2a16
je case.0x1401d2a65.8194
add edx, 0xffffdfff
lea r10, [0x140000000]
cmp edx, 0x5e
ja case.0x1401d2a65.8193
movzx eax, byte [r10 + rdx + 0x1dad9c]
mov ecx, dword [r10 + rax*4 + 0x1dad94]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d2baf
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d2baf
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 0x1401d2bd4
je case.0x1401d0841.82
sub edx, 0xa
je case.0x1401d0841.82
sub edx, 1
je case.0x1401d0841.82
cmp edx, 1
jmp 0x1401d277c
sub edx, 0x85
je case.0x1401d0841.82
sub edx, 0x1fa3
je case.0x1401d0841.82
cmp edx, 1
je case.0x1401d0841.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0803
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d2c5f
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d2c5f
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 0x1401d2c78
je 0x1401d2782
sub edx, 0xa
je 0x1401d2782
sub edx, 1
jmp 0x1401d2c8a
sub edx, 0x85
je 0x1401d2782
sub edx, 0x1fa3
je 0x1401d2782
cmp edx, 1
je 0x1401d2782
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d256c
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d2cff
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d2cff
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
movzx ecx, word [r8 + rax*2 + 0x317be0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
cmp r10b, 0xf
sete r9b
movzx eax, word [r8 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 2]
lea r8, [r8 + rcx*4]
lea r8, [r8 + 0x3139d0]
cmp eax, 0xd
ja case.0x1401d8255.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1dadfc]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp r10b, 0xf
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
movzx ecx, byte [r8 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x1401d2d8e
cmp cl, 5
je 0x1401d2d8e
xor eax, eax
jmp 0x1401d2d93
mov eax, 1
cmp eax, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
movzx edx, byte [r8 + 1]
lea r10, [0x140000000]
movzx eax, word [rbx + 4]
xor ecx, ecx
cmp eax, dword [r10 + rdx*4 + 0x32f510]
sete cl
cmp ecx, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx eax, byte [r8 + 1]
xor ecx, ecx
cmp word [rbx + 4], ax
sete cl
cmp ecx, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
movzx eax, byte [r8]
jmp 0x1401d2dd9
movzx ecx, word [rbx + 4]
lea r10, [0x140000000]
movzx eax, byte [r8]
cmp cx, ax
je 0x1401d2e37
movzx edx, word [r8 + 8]
movzx eax, cx
and edx, 0x3ff
shr rax, 5
and ecx, 0x1f
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x3136d0]
bt eax, ecx
jb 0x1401d2e37
xor eax, eax
jmp 0x1401d2e3c
mov eax, 1
cmp eax, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x32f510]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
mov eax, 0x2000
cmp edx, eax
ja 0x1401d2f24
je case.0x1401d2d64.0
cmp edx, 0x20
ja 0x1401d2efb
je case.0x1401d2d64.0
sub edx, 9
je case.0x1401d2d64.0
sub edx, 1
je case.0x1401d2d64.0
sub edx, 1
je case.0x1401d2d64.0
sub edx, 1
je case.0x1401d2d64.0
cmp edx, 1
je case.0x1401d2d64.0
movzx ecx, byte [r8 + 1]
lea r10, [0x140000000]
xor eax, eax
cmp dword [r10 + rcx*4 + 0x32f510], 6
sete al
cmp eax, r9d
jne 0x1401d3073
xor edi, edi
mov ebx, edi
jmp 0x1401d091e
sub edx, 0x85
je case.0x1401d2d64.0
sub edx, 0x1b
je case.0x1401d2d64.0
sub edx, 0x15e0
je case.0x1401d2d64.0
cmp edx, 0x18e
jmp 0x1401d2ec9
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d2f59.8194
je case.0x1401d2d64.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d2f59.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1dae3c]
mov ecx, dword [rdx + rax*4 + 0x1dae34]
add rcx, rdx
jmp rcx
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x32f510]
dec ecx
test ecx, 0xfffffffd
je 0x1401d2e37
cmp edx, 0x5f
je 0x1401d2e37
xor eax, eax
jmp 0x1401d2e3c
movzx eax, word [rbx + 4]
lea r8, [0x140000000]
lea rcx, [r8 + 0x313400]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401d2fbe
nop dword [rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401d2fd1
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401d2fb0
cmp r10b, 0xf
je 0x1401d307a
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
cmp r10b, 0xf
jne 0x1401d307a
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401d3000
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401d2d8e
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401d2d8e
cmp edx, 0xe000
jae 0x1401d2d8e
xor eax, eax
jmp 0x1401d2d93
movzx eax, word [r8 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [rbx + 4]
jmp 0x1401d2ddf
movzx ecx, word [rbx + 4]
lea r10, [0x140000000]
movzx edx, word [r8 + 0xa]
mov eax, ecx
and edx, 0xfff
shr rax, 5
add rdx, rax
and ecx, 0x1f
mov eax, dword [r10 + rdx*4 + 0x312e70]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r9d
je 0x1401d0ebd
lea r8, [0x140000000]
add qword [r12], 6
xor r9d, r9d
jmp 0x1401d0810
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jb 0x1401d30af
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d0841.82
cmp rdx, qword [r13 + 0x98]
jmp 0x1401d0b2c
movzx r10d, word [rdx]
add rdx, 2
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401d3107
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401d3107
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 r8, qword [r13 + 0x78]
mov rdx, rcx
mov qword [rsp + 0x28], r9
mov ecx, r10d
mov r9, qword [r13 + 0x88]
mov dword [rsp + 0x20], r14d
call fcn.140211ce0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401d3161
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d3161
cmp rax, qword [r13 + 0x98]
ja 0x1401d314f
cmp dword [r13 + 0x34], 0
je 0x1401d3161
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0803
movzx eax, word [rbx + 2]
lea r10, [0x140000000]
mov dword [r12 + 0x3c], eax
add rbx, 4
mov dword [r12 + 0x38], eax
mov qword [r12], rbx
jmp 0x1401d32db
xor edi, edi
lea r10, [0x140000000]
mov dword [r12 + 0x38], edi
mov r15d, edi
movzx eax, word [rbx + 2]
mov dword [r12 + 0x3c], eax
cmp word [rbx], 0x5c
setne r15b
add rbx, 4
mov qword [r12], rbx
mov dword [rsp + 0x108], r15d
jmp 0x1401d32dd
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0x108], eax
mov dword [r12 + 0x38], edi
add rbx, rax
mov dword [r12 + 0x3c], 0xffffffff
mov r15d, eax
mov qword [r12], rbx
jmp 0x1401d32dd
mov eax, 2
mov dword [r12 + 0x38], 1
add rbx, rax
mov dword [r12 + 0x3c], 0xffffffff
mov qword [r12], rbx
lea r10, [0x140000000]
mov r15d, eax
mov dword [rsp + 0x108], eax
jmp 0x1401d32db
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0x108], eax
mov dword [r12 + 0x38], edi
add rbx, rax
mov dword [r12 + 0x3c], 1
mov r15d, eax
mov qword [r12], rbx
jmp 0x1401d32dd
mov eax, 2
lea r10, [0x140000000]
xor edi, edi
mov dword [rsp + 0x108], eax
mov dword [r12 + 0x38], edi
mov r15d, eax
movzx eax, word [rbx + 2]
add rbx, 4
mov dword [r12 + 0x3c], eax
mov qword [r12], rbx
jmp 0x1401d32dd
movzx eax, word [rbx]
lea r10, [0x140000000]
sub eax, 0x55
add rbx, 2
mov qword [r12], rbx
lea rcx, [rax*4]
mov eax, dword [rcx + r10 + 0x312d68]
mov r15d, dword [rcx + r10 + 0x312dc8]
mov dword [r12 + 0x38], eax
mov eax, dword [rcx + r10 + 0x312d98]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
xor edi, edi
movzx eax, word [rbx]
lea rcx, [rbx + 2]
mov dword [r12 + 0x40], eax
sub ax, 0xf
mov qword [r12], rcx
cmp ax, 1
jbe 0x1401d32fe
mov esi, 0xffffffff
jmp 0x1401d3319
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 0x1401d33b7
mov edx, dword [r12 + 0x40]
test esi, esi
js 0x1401d3e7a
cmp edx, 0xf
mov r11d, edi
sete r11b
cmp esi, 0xd
ja case.0x1401d8255.15
movsxd rax, esi
mov ecx, dword [r10 + rax*4 + 0x1dae9c]
add rcx, r10
jmp rcx
cmp edx, 0xf
je 0x1401d0ebf
mov edx, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401d33b0
mov r8d, 0xfc00
and ecx, r8d
mov r8d, 0xd800
cmp ecx, r8d
jne 0x1401d33b0
add rax, 2
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401d3370
lea rbx, [0x140000000]
mov r8d, 0x2000
mov r11d, dword [r12 + 0x3c]
mov r9d, 0
mov edi, dword [r12 + 0x38]
cmp edi, r11d
je 0x1401d07d7
test r15d, r15d
je 0x1401d9fcc
mov r10, qword [r12 + 0x50]
mov qword [r12 + 8], r10
mov eax, dword [r12 + 0x40]
test esi, esi
js 0x1401d590e
cmp eax, 0xf
mov ebx, r9d
sete bl
cmp esi, 0xd
ja case.0x1401d8255.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x1daed4]
add rcx, rsi
jmp rcx
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d0ebf
cmp rax, qword [r13 + 0x98]
ja 0x1401d3447
cmp dword [r13 + 0x34], 0
je 0x1401d0ebf
mov dword [r13 + 0x2c], 1
cmp cx, 1
jbe 0x1401d0ebf
mov eax, 0xfffffffe
jmp 0x1401da8d7
mov r9d, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d34c9
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d34c9
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x3139d1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401d3504
mov eax, edi
cmp dl, 8
jne 0x1401d3509
mov eax, 1
cmp eax, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d3470
jmp 0x1401d33b7
mov r8d, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d3587
mov ebx, 0xfc00
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401d3587
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [r10 + rcx*4 + 0x3139d1]
mov ecx, edi
cmp dword [r10 + rdx*4 + 0x32f510], eax
sete cl
cmp ecx, r11d
je 0x1401d0ebf
inc r8d
cmp r8d, r9d
jbe 0x1401d3530
jmp 0x1401d33b7
mov r10d, 1
lea rbx, [0x140000000]
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d369b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d364d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d364d
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 [rbx + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x3139d1]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401d0a29
inc r10d
cmp r10d, r9d
jbe 0x1401d35f0
jmp 0x1401d33be
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d0a29
cmp rax, qword [r13 + 0x98]
ja 0x1401d36bd
cmp dword [r13 + 0x34], 0
je 0x1401d0a29
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov ebx, edi
jmp 0x1401d0917
mov r10d, 1
lea rbx, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d369b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d3749
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d3749
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 [rbx + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x3139d0]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401d0a29
inc r10d
cmp r10d, r9d
jbe 0x1401d36f0
jmp 0x1401d33be
mov r9d, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d37fd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d37fd
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3139d0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401d385e
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 + 0x3136d0]
bt eax, ecx
mov eax, edi
jae 0x1401d3863
mov eax, 1
cmp eax, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d37a0
jmp 0x1401d33b7
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d38ed
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d38ed
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete al
cmp eax, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d3890
jmp 0x1401d33b7
mov r8d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d39ab
mov r9d, 0xfc00
mov eax, edx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401d39ab
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, 0x2000
cmp edx, eax
ja 0x1401d3a7f
je case.0x1401d3ab1.8193
cmp edx, 0x20
ja 0x1401d3a60
je case.0x1401d3ab1.8193
mov eax, edx
sub eax, 9
je case.0x1401d3ab1.8193
sub eax, 1
je case.0x1401d3ab1.8193
sub eax, 1
je case.0x1401d3ab1.8193
sub eax, 1
je case.0x1401d3ab1.8193
cmp eax, 1
je case.0x1401d3ab1.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, edi
movzx edx, byte [r10 + rcx*4 + 0x3139d1]
cmp dword [r10 + rdx*4 + 0x32f510], 6
sete al
cmp eax, r11d
je 0x1401d0ebf
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d3950
mov r8d, 0x2000
lea rbx, [0x140000000]
jmp 0x1401d33c4
mov eax, edx
sub eax, 0x85
je case.0x1401d3ab1.8193
sub eax, 0x1b
je case.0x1401d3ab1.8193
sub eax, 0x15e0
je case.0x1401d3ab1.8193
cmp eax, 0x18e
jmp 0x1401d39f6
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d3ab1.8194
je case.0x1401d3ab1.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401d3ab1.8194
movzx eax, byte [r10 + rax + 0x1daf14]
mov ecx, dword [r10 + rax*4 + 0x1daf0c]
add rcx, r10
jmp rcx
test r11d, r11d
jne 0x1401d0ebf
jmp 0x1401d3a40
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d3b21
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d3b21
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
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
je 0x1401d3b68
mov eax, edi
cmp edx, 0x5f
jne 0x1401d3b6d
mov eax, 1
cmp eax, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d3ac4
jmp 0x1401d33b7
mov r9d, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d3bed
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d3bed
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 + 0x313400]
add rcx, r10
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401d3c11
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401d3c2d
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401d3c03
test r11d, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d3b90
jmp 0x1401d33b7
test r11d, r11d
jne 0x1401d0ebf
jmp 0x1401d3c1a
mov r9d, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d3c9d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d3c9d
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 0x1401d3cb5
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401d3ccc
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401d3ccc
mov eax, edi
cmp edx, 0xe000
jb 0x1401d3cd1
mov eax, 1
cmp eax, r11d
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d3c40
jmp 0x1401d33b7
mov r8d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d3d4a
mov ebx, 0xfc00
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401d3d4a
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, word [r10 + rcx*4 + 0x3139d8]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401d0ebf
inc r8d
cmp r8d, r9d
jbe 0x1401d3cf3
jmp 0x1401d33b7
mov r10d, 1
lea rbx, [0x140000000]
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d369b
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d3e0d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d3e0d
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]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rbx + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rbx + rcx*4 + 0x3139da]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rbx + rdx*4 + 0x312e70]
bt eax, r8d
mov edx, edi
setb dl
cmp edx, r11d
je 0x1401d0a29
inc r10d
cmp r10d, r9d
jbe 0x1401d3db0
jmp 0x1401d33be
cmp edx, 0x16
jne 0x1401d3f66
lea ebx, [rdx - 0x15]
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d369b
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401d3efa
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401d3efa
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.140211ce0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401d3f54
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d3f54
cmp rax, qword [r13 + 0x98]
ja 0x1401d3f42
cmp dword [r13 + 0x34], 0
je 0x1401d3f54
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401d3e90
jmp 0x1401d33b7
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x1401d8255.15
test r14d, r14d
je 0x1401d487b
mov ecx, dword [r10 + rdx*4 + 0x1daf74]
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 0x1401d409c
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d3fcb
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
test eax, eax
jne 0x1401d0a29
jmp 0x1401d4006
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d4006
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d4006
cmp edx, 1
je 0x1401d0a29
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401d0a29
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401d4055
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401d4055
cmp dword [r13 + 0xdc], 0
jne 0x1401d4055
cmp dword [r13 + 0xe0], 2
jne 0x1401d4055
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d4055
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401d3459
mov rcx, qword [r12 + 0x50]
add rcx, 2
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401d408a
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d408a
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401d3f90
jmp 0x1401d33b7
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d0a29
cmp rcx, qword [r13 + 0x98]
ja 0x1401d40be
cmp dword [r13 + 0x34], 0
je 0x1401d0a29
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov ebx, edi
jmp 0x1401d0917
mov edx, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401d4126
movzx eax, word [rcx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x1401d4126
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401d40e0
jmp 0x1401d33b7
mov rdx, qword [r12 + 0x50]
mov r8d, 0x2000
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rdx, rax
jbe 0x1401d415a
mov ebx, edi
mov r15d, 0xff
jmp 0x1401d092a
lea rax, [rdx + r9*2]
mov qword [r12 + 0x50], rax
lea rbx, [0x140000000]
jmp 0x1401d33c4
mov r8d, 1
mov r9d, 0xfc00
mov r11d, 0xd800
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d4226
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, r9d
cmp eax, r11d
jne 0x1401d41cb
movzx eax, word [rdx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add rdx, 2
mov qword [r12 + 0x50], rdx
cmp ecx, 0xd
ja 0x1401d41f6
je 0x1401d41dc
sub ecx, 0xa
je 0x1401d4213
sub ecx, 1
jmp 0x1401d4204
cmp rdx, qword [r13 + 0x88]
jae 0x1401d4213
cmp word [rdx], 0xa
jne 0x1401d4213
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
jmp 0x1401d4213
sub ecx, 0x85
je 0x1401d420b
sub ecx, 0x1fa3
je 0x1401d420b
cmp ecx, 1
jne case.0x1401d434b.8193
cmp word [r13 + 0x62], 2
je case.0x1401d434b.8193
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4181
jmp 0x1401d33b7
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d434b.8193
cmp rax, qword [r13 + 0x98]
ja 0x1401d4240
cmp dword [r13 + 0x34], 0
je case.0x1401d434b.8193
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov ebx, edi
mov esi, r9d
mov ebp, r11d
mov r8d, 0x2000
mov r15d, 0xff
jmp case.0x1401d098e.33
mov r8d, 1
mov r9d, 0xfc00
mov r11d, 0xd800
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d4226
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, r9d
cmp eax, r11d
jne 0x1401d42c6
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, 0x2000
cmp ecx, eax
ja 0x1401d431d
je case.0x1401d434b.8193
cmp ecx, 9
je case.0x1401d434b.8193
cmp ecx, 0x20
je case.0x1401d434b.8193
mov eax, 0xa0
cmp ecx, eax
je case.0x1401d434b.8193
mov eax, 0x1680
cmp ecx, eax
je case.0x1401d434b.8193
mov eax, 0x180e
cmp ecx, eax
je case.0x1401d434b.8193
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4280
jmp 0x1401d33b7
mov eax, 0x3000
cmp ecx, eax
ja case.0x1401d434b.8194
je case.0x1401d434b.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401d434b.8194
movzx eax, byte [r10 + rcx + 0x1dafbc]
mov ecx, dword [r10 + rax*4 + 0x1dafb4]
add rcx, r10
jmp rcx
mov r9d, 1
mov r8d, 0x2000
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d443c
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r12 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d43b8
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 0x1401d4408
je case.0x1401d443a.8193
cmp edx, 9
je case.0x1401d443a.8193
cmp edx, 0x20
je case.0x1401d443a.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401d443a.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401d443a.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401d4aed.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d4360
lea rbx, [0x140000000]
jmp 0x1401d33c4
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d4aed.8193
je case.0x1401d443a.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d4aed.8193
movzx eax, byte [r10 + rdx + 0x1db024]
mov ecx, dword [r10 + rax*4 + 0x1db01c]
add rcx, r10
jmp rcx
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d4aed.8193
cmp rax, qword [r13 + 0x98]
ja 0x1401d445e
cmp dword [r13 + 0x34], 0
je case.0x1401d4aed.8193
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov ebx, edi
mov r15d, 0xff
jmp 0x1401d092a
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r12 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d44db
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 0x1401d44f4
je 0x1401d0ebf
sub edx, 0xa
je 0x1401d0ebf
sub edx, 1
jmp 0x1401d4506
sub edx, 0x85
je 0x1401d0ebf
sub edx, 0x1fa3
je 0x1401d0ebf
cmp edx, 1
je 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d4483
jmp 0x1401d33b7
mov r9d, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx edx, word [rax]
lea r8, [rax + 2]
mov ecx, 0xfc00
mov qword [r12 + 0x50], r8
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d4588
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 0x1401d4599
je 0x1401d45b2
sub edx, 0xa
je 0x1401d45b2
sub edx, 1
jmp 0x1401d45a7
sub edx, 0x85
je 0x1401d45b2
sub edx, 0x1fa3
je 0x1401d45b2
cmp edx, 1
jne 0x1401d0ebf
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401d4530
jmp 0x1401d33b7
mov r8d, 1
mov r9d, 0xfc00
mov r11d, 0xd800
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d4226
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, r9d
cmp eax, r11d
jne 0x1401d462a
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, 0x80
cmp ecx, eax
jae 0x1401d4641
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne case.0x1401d434b.8193
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d45e0
jmp 0x1401d33b7
mov r8d, 1
nop word [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4660
jmp 0x1401d33b7
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d0ebf
cmp rdx, qword [r13 + 0x98]
ja 0x1401d46c9
cmp dword [r13 + 0x34], 0
je 0x1401d0ebf
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov ebx, edi
jmp 0x1401d091e
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401d471b
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne 0x1401d0ebf
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401d474b
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d474b
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d46f0
jmp 0x1401d33b7
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4760
jmp 0x1401d33b7
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401d47e0
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne 0x1401d0ebf
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401d4810
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d4810
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d47b1
jmp 0x1401d33b7
mov r8d, 1
nop word [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4830
jmp 0x1401d33b7
mov ecx, dword [r10 + rdx*4 + 0x1db084]
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 0x1401d409c
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d48cb
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
test eax, eax
jne 0x1401d0a29
jmp 0x1401d4906
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d4906
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d4906
cmp edx, 1
je 0x1401d0a29
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401d0a29
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401d4955
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401d4955
cmp dword [r13 + 0xdc], 0
jne 0x1401d4955
cmp dword [r13 + 0xe0], 2
jne 0x1401d4955
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d4955
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401d3459
add qword [r12 + 0x50], 2
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401d4890
jmp 0x1401d33b7
mov rcx, qword [r12 + 0x50]
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
jbe 0x1401d499c
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d0ebf
cmp rcx, qword [r13 + 0x98]
jmp 0x1401d46bc
lea rax, [rcx + r9*2]
mov qword [r12 + 0x50], rax
jmp 0x1401d33b7
mov edx, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401d49f9
je 0x1401d49df
sub ecx, 0xa
je 0x1401d4a1e
sub ecx, 1
jmp 0x1401d4a07
cmp rax, qword [r13 + 0x88]
jae 0x1401d4a1e
cmp word [rax], 0xa
jne 0x1401d4a1e
add rax, 2
mov qword [r12 + 0x50], rax
jmp 0x1401d4a1e
sub ecx, 0x85
je 0x1401d4a12
sub ecx, 0x1fa3
je 0x1401d4a12
cmp ecx, 1
jne 0x1401d0ebf
cmp word [r13 + 0x62], 2
je 0x1401d0ebf
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401d49b0
jmp 0x1401d33b7
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d443c
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401d4abb
je case.0x1401d4aed.8193
cmp ecx, 9
je case.0x1401d4aed.8193
cmp ecx, 0x20
je case.0x1401d4aed.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401d4aed.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401d4aed.8193
mov eax, 0x180e
cmp cx, ax
je case.0x1401d4aed.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401d4a40
lea rbx, [0x140000000]
jmp 0x1401d33c4
mov eax, 0x3000
cmp cx, ax
ja case.0x1401d4aed.8194
je case.0x1401d4aed.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401d4aed.8194
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1db0cc]
mov ecx, dword [r10 + rax*4 + 0x1db0c4]
add rcx, r10
jmp rcx
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d443c
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401d4b67
je case.0x1401d4b9d.8193
cmp ecx, 9
je case.0x1401d4b9d.8193
cmp ecx, 0x20
je case.0x1401d4b9d.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401d4b9d.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401d4b9d.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x1401d4aed.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401d4b00
lea rbx, [0x140000000]
jmp 0x1401d33c4
mov eax, 0x3000
cmp cx, ax
ja case.0x1401d4aed.8193
je case.0x1401d4b9d.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401d4aed.8193
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1db134]
mov ecx, dword [r10 + rax*4 + 0x1db12c]
add rcx, r10
jmp rcx
mov edx, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401d4bdb
je 0x1401d0ebf
sub ecx, 0xa
je 0x1401d0ebf
sub ecx, 1
jmp 0x1401d4bed
sub ecx, 0x85
je 0x1401d0ebf
sub ecx, 0x1fa3
je 0x1401d0ebf
cmp ecx, 1
je 0x1401d0ebf
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401d4ba4
jmp 0x1401d33b7
mov edx, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d3425
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401d4c3f
je 0x1401d4c58
sub ecx, 0xa
je 0x1401d4c58
sub ecx, 1
jmp 0x1401d4c4d
sub ecx, 0x85
je 0x1401d4c58
sub ecx, 0x1fa3
je 0x1401d4c58
cmp ecx, 1
jne 0x1401d0ebf
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401d4c10
jmp 0x1401d33b7
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d4c9f
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne 0x1401d0ebf
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401d4c70
jmp 0x1401d33b7
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4cc0
jmp 0x1401d33b7
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d4d40
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne 0x1401d0ebf
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401d4d11
jmp 0x1401d33b7
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4d60
jmp 0x1401d33b7
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d4de0
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne 0x1401d0ebf
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401d4db1
jmp 0x1401d33b7
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401d46a7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d0ebf
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je 0x1401d0ebf
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401d4e00
jmp 0x1401d33b7
cmp edi, r11d
jae 0x1401d58e0
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
mov ecx, 1
test r14d, r14d
je 0x1401d4e80
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
test ebx, ebx
jne 0x1401d58e0
inc edi
lea r10, [r10 + rcx*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d4e54
jmp 0x1401d58e0
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d58e0
cmp r10, qword [r13 + 0x98]
ja 0x1401d4ebe
cmp dword [r13 + 0x34], r9d
je 0x1401d58e0
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d4f30
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d4f30
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x3139d1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401d4f69
mov eax, r9d
cmp dl, 8
jne 0x1401d4f6e
mov eax, 1
cmp eax, ebx
je 0x1401d58e0
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d4ee0
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d4ff4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d4ff4
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [rsi + rcx*4 + 0x3139d1]
mov ecx, r9d
cmp dword [rsi + rdx*4 + 0x32f510], eax
sete cl
cmp ecx, ebx
je 0x1401d58e0
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d4fa0
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d50b4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d50b4
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3139d1]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401d58e0
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d5060
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5167
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5167
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3139d0]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401d58e0
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d5113
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5224
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5224
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3139d0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + rsi]
cmp eax, ecx
je 0x1401d5281
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 + 0x3136d0]
bt eax, ecx
mov eax, r9d
jae 0x1401d5286
mov eax, 1
cmp eax, ebx
je 0x1401d58e0
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d51d0
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5306
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5306
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3139d1]
mov eax, dword [rsi + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
mov eax, r9d
sete al
cmp eax, ebx
je 0x1401d58e0
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d52b2
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d53c4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d53c4
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 0x1401d5494
je case.0x1401d54c4.8193
cmp edx, 0x20
ja 0x1401d5475
je case.0x1401d54c4.8193
mov eax, edx
sub eax, 9
je case.0x1401d54c4.8193
sub eax, 1
je case.0x1401d54c4.8193
sub eax, 1
je case.0x1401d54c4.8193
sub eax, 1
je case.0x1401d54c4.8193
cmp eax, 1
je case.0x1401d54c4.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, r9d
movzx edx, byte [rsi + rcx*4 + 0x3139d1]
cmp dword [rsi + rdx*4 + 0x32f510], 6
sete al
cmp eax, ebx
je 0x1401d58e0
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5370
jmp 0x1401d58e0
mov eax, edx
sub eax, 0x85
je case.0x1401d54c4.8193
sub eax, 0x1b
je case.0x1401d54c4.8193
sub eax, 0x15e0
je case.0x1401d54c4.8193
cmp eax, 0x18e
jmp 0x1401d540f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d54c4.8194
je case.0x1401d54c4.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401d54c4.8194
movzx eax, byte [rsi + rax + 0x1db19c]
mov ecx, dword [rsi + rax*4 + 0x1db194]
add rcx, rsi
jmp rcx
test ebx, ebx
jne 0x1401d58e0
jmp 0x1401d5455
cmp edi, r11d
jae 0x1401d58e0
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5534
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5534
movzx ecx, word [r10 + 2]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov r8d, 2
add edx, 0x10000
mov eax, edx
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x317be0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3139d1]
mov eax, dword [rsi + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
je 0x1401d5578
mov eax, r9d
cmp edx, 0x5f
jne 0x1401d557d
mov eax, 1
cmp eax, ebx
je 0x1401d58e0
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d54e0
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5604
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5604
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 + 0x313400]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401d562e
nop word [rax + rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401d5656
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401d5620
test ebx, ebx
je 0x1401d58e0
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d55b0
jmp 0x1401d58e0
test ebx, ebx
jne 0x1401d58e0
jmp 0x1401d5636
cmp edi, r11d
jae 0x1401d58e0
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov ecx, 1
test r14d, r14d
je 0x1401d56c6
mov r8d, 0xfc00
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401d56c6
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 0x1401d56de
movabs r8, 0x1000000010000001
bt r8, rax
jb 0x1401d56f6
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401d56f6
mov eax, r9d
cmp edx, 0xe000
jb 0x1401d56fb
mov eax, 1
cmp eax, ebx
je 0x1401d58e0
lea r10, [r10 + rcx*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5670
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d4e9d
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401d5784
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5784
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x3139d8]
mov ecx, r9d
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401d58e0
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d5730
jmp 0x1401d58e0
cmp edi, r11d
jae 0x1401d58e0
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d58b1
movzx edx, word [r10]
mov r9d, 1
test r14d, r14d
je 0x1401d5844
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5844
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x3139da]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x312e70]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, ebx
je 0x1401d58dd
inc edi
lea r10, [r10 + r9*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401d57f0
jmp 0x1401d58dd
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d58dd
cmp r10, qword [r13 + 0x98]
ja 0x1401d58cb
cmp dword [r13 + 0x34], 0
je 0x1401d58dd
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
lea r8, [0x140000000]
mov rsi, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0xe0]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d9921
cmp eax, 0x16
jne 0x1401d5a55
cmp edi, r11d
jae 0x1401d5a21
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d59f5
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401d598a
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401d598a
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.140211ce0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401d59e6
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d59e6
cmp rax, qword [r13 + 0x98]
ja 0x1401d59d4
cmp dword [r13 + 0x34], 0
je 0x1401d59e6
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5920
jmp 0x1401d5a21
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d5a21
cmp rax, qword [r13 + 0x98]
ja 0x1401d5a0f
cmp dword [r13 + 0x34], 0
je 0x1401d5a21
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov rdi, qword [rsp + 0x100]
mov r9d, 0
mov rsi, qword [rsp + 0xf8]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xe0]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d9ed7
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401d8255.15
test r14d, r14d
je 0x1401d62c5
mov ecx, dword [rbx + rax*4 + 0x1db1fc]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae 0x1401d6291
nop
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401d5b90
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d5abc
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe0]
call fcn.14020ebf0
test eax, eax
jne 0x1401d6291
jmp 0x1401d5af9
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401d5af9
movzx eax, word [r13 + 0xe4]
cmp word [r10], ax
jne 0x1401d5af9
cmp edx, 1
je 0x1401d6291
movzx eax, word [r13 + 0xe6]
cmp word [r10 + 2], ax
je 0x1401d6291
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401d5b48
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401d5b48
cmp dword [r13 + 0xdc], 0
jne 0x1401d5b48
cmp dword [r13 + 0xe0], 2
jne 0x1401d5b48
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d5b48
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401d3459
mov r10, qword [r12 + 0x50]
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401d5b7e
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d5b7e
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5a80
jmp 0x1401d6291
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d6291
cmp r10, qword [r13 + 0x98]
ja 0x1401d627f
cmp dword [r13 + 0x34], 0
jmp 0x1401d627d
cmp r11d, 0xffffffff
jae 0x1401d5c1c
cmp edi, r11d
jae 0x1401d6291
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401d5c0e
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d5c0e
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5bd0
jmp 0x1401d6291
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d6291
cmp rax, qword [r13 + 0x98]
ja 0x1401d5c49
cmp dword [r13 + 0x34], r9d
je 0x1401d6291
cmp cx, 1
jmp 0x1401d6283
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401d5c89
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d6291
cmp rcx, qword [r13 + 0x98]
jmp 0x1401d6277
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
mov r8, r10
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx ecx, word [r10]
mov edx, 0xfc00
mov eax, ecx
add r10, 2
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401d5ceb
movzx eax, word [r10]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov edx, 4
add ecx, 0x10000
jmp 0x1401d5cf0
mov edx, 2
cmp ecx, 0xd
jne 0x1401d5d14
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401d6291
cmp word [r10], 0xa
jne 0x1401d5d4e
add r10, 2
jmp 0x1401d5d49
cmp ecx, 0xa
je 0x1401d5d45
cmp word [r13 + 0x62], 2
je 0x1401d6291
lea eax, [rcx - 0xb]
cmp eax, 1
jbe 0x1401d5d45
mov eax, 0x85
cmp ecx, eax
je 0x1401d5d45
lea eax, [rcx - 0x2028]
cmp eax, 1
ja 0x1401d6291
lea r10, [rdx + r8]
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5ca0
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5dbf
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 0x1401d5e28
je case.0x1401d5e50.8193
cmp edx, 9
je case.0x1401d5e50.8193
cmp edx, 0x20
je case.0x1401d5e50.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401d5e50.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401d5e50.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401d5e50.8193
xor eax, eax
mov ecx, eax
cmp dword [r12 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x1401d6291
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5d70
jmp 0x1401d6291
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d5e50.8194
je case.0x1401d5e50.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d5e50.8194
movzx eax, byte [rbx + rdx + 0x1db244]
mov ecx, dword [rbx + rax*4 + 0x1db23c]
add rcx, rbx
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x1401d5df7
cmp edi, r11d
jae 0x1401d6291
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5ebf
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 0x1401d5ed0
je 0x1401d5eeb
sub edx, 0xa
je 0x1401d5eeb
sub edx, 1
jmp 0x1401d5ede
sub edx, 0x85
je 0x1401d5eeb
sub edx, 0x1fa3
je 0x1401d5eeb
cmp edx, 1
je 0x1401d5eeb
xor eax, eax
mov ecx, eax
jmp 0x1401d5ef2
mov ecx, 1
xor eax, eax
cmp dword [r12 + 0x40], 0x14
sete al
cmp ecx, eax
je 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5e70
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d5f7f
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 0x1401d5f95
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5f30
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d600f
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 0x1401d6291
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d5fc0
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d609f
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 0x1401d60b5
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6050
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d612f
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 0x1401d6291
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d60e0
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d61bf
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 0x1401d61d5
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6170
jmp 0x1401d6291
cmp edi, r11d
jae 0x1401d6291
cmp r10, qword [r13 + 0x88]
jae 0x1401d6266
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401d6240
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 0x1401d6291
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401d6291
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d61f5
jmp 0x1401d6291
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d6291
cmp r10, qword [r13 + 0x98]
ja 0x1401d627f
cmp dword [r13 + 0x34], r9d
je 0x1401d6291
cmp ax, 1
mov dword [r13 + 0x2c], 1
ja 0x1401d3459
mov rdi, qword [rsp + 0x100]
mov r9d, 0
mov rsi, qword [rsp + 0xf8]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xe0]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d9f06
mov ecx, dword [rbx + rax*4 + 0x1db2a4]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401d6569.8193
nop word [rax + rax]
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401d63c5
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d631c
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe0]
call fcn.14020ebf0
test eax, eax
jne case.0x1401d6569.8193
jmp 0x1401d6359
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401d6359
movzx eax, word [r13 + 0xe4]
cmp word [r10], ax
jne 0x1401d6359
cmp edx, 1
je case.0x1401d6569.8193
movzx eax, word [r13 + 0xe6]
cmp word [r10 + 2], ax
je case.0x1401d6569.8193
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401d63a8
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401d63a8
cmp dword [r13 + 0xdc], 0
jne 0x1401d63a8
cmp dword [r13 + 0xe0], 2
jne 0x1401d63a8
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d63a8
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401d3459
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d62e0
jmp case.0x1401d6569.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d6569.8193
cmp r10, qword [r13 + 0x98]
ja 0x1401d68c0
cmp dword [r13 + 0x34], 0
jmp 0x1401d68be
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401d6421
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d6569.8193
cmp rcx, qword [r13 + 0x98]
jmp 0x1401d68b8
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x1401d6476
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae case.0x1401d6569.8193
cmp word [r10], 0xa
jne 0x1401d64b6
jmp 0x1401d64ad
cmp cx, 0xa
je 0x1401d64ad
cmp word [r13 + 0x62], 2
je case.0x1401d6569.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x1401d64ad
mov eax, 0x85
cmp cx, ax
je 0x1401d64ad
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x1401d6569.8193
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6440
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
cmp eax, r8d
ja 0x1401d653c
je case.0x1401d6569.8193
cmp eax, 9
je case.0x1401d6569.8193
cmp eax, 0x20
je case.0x1401d6569.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401d6569.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401d6569.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d64d0
jmp case.0x1401d6569.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401d6569.8194
je case.0x1401d6569.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401d6569.8194
cdqe
movzx eax, byte [rbx + rax + 0x1db2ec]
mov ecx, dword [rbx + rax*4 + 0x1db2e4]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
cmp eax, r8d
ja 0x1401d65da
je case.0x1401d660b.8193
cmp eax, 9
je case.0x1401d660b.8193
cmp eax, 0x20
je case.0x1401d660b.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401d660b.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401d660b.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x1401d6569.8193
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6580
jmp case.0x1401d6569.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401d6569.8193
je case.0x1401d660b.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401d6569.8193
cdqe
movzx eax, byte [rbx + rax + 0x1db354]
mov ecx, dword [rbx + rax*4 + 0x1db34c]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401d6569.8193
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401d664a
je case.0x1401d6569.8193
sub ecx, 0xa
je case.0x1401d6569.8193
sub ecx, 1
jmp 0x1401d665c
sub ecx, 0x85
je case.0x1401d6569.8193
sub ecx, 0x1fa3
je case.0x1401d6569.8193
cmp ecx, 1
je case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6620
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401d66b2
je 0x1401d66cb
sub ecx, 0xa
je 0x1401d66cb
sub ecx, 1
jmp 0x1401d66c0
sub ecx, 0x85
je 0x1401d66cb
sub ecx, 0x1fa3
je 0x1401d66cb
cmp ecx, 1
jne case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6690
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d671b
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d66f0
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401d6569.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6740
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d67bb
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6790
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401d6569.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d67e0
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401d6853
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6830
jmp case.0x1401d6569.8193
cmp edi, r11d
jae case.0x1401d6569.8193
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401d68a7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401d6569.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401d6569.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401d6870
jmp case.0x1401d6569.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d6569.8193
cmp r10, qword [r13 + 0x98]
ja 0x1401d68c0
cmp dword [r13 + 0x34], r9d
je case.0x1401d6569.8193
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov rdi, qword [rsp + 0x100]
mov r9d, 0
mov rsi, qword [rsp + 0xf8]
lea r8, [0x140000000]
mov r11d, dword [rsp + 0xe0]
cmp r15d, 2
je 0x1401d0810
jmp 0x1401d9d7c
mov eax, r9d
cmp r10b, 0x74
sete al
mov dword [r12 + 0x40], eax
movzx ecx, word [rbx + 2]
movzx eax, word [r13 + 0x66]
movzx r8d, word [rbx + 4]
imul ecx, eax
mov rax, qword [r13 + 0x68]
movsxd rcx, ecx
lea rdx, [rax + rcx*2]
lea rax, [rbx + 6]
mov qword [r12], rax
test r8d, r8d
je 0x1401d699d
nop
movzx eax, word [rdx]
dec r8d
lea rax, [rax*2 - 2]
mov qword [r12 + 0x28], rax
cmp rax, qword [r12 + 0x78]
jae 0x1401d6965
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
jne 0x1401d699d
movzx eax, word [r13 + 0x66]
lea rdx, [rdx + rax*2]
test r8d, r8d
jg 0x1401d6940
jmp 0x1401d699d
mov eax, r9d
cmp r10b, 0x72
sete al
mov dword [r12 + 0x40], eax
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
mov qword [r12 + 0x28], rax
lea rax, [rbx + 4]
mov qword [r12], rax
mov rdx, qword [r12]
movzx r8d, word [rdx]
lea eax, [r8 - 0x62]
cmp eax, 7
ja case.default.0x1401d69c6
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1db3b4]
add rcx, r10
jmp rcx
lea rax, [rdx + 2]
mov qword [r12], rax
lea eax, [r8 - 0x62]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x312d68]
mov dword [r12 + 0x38], eax
mov eax, dword [r10 + rcx*4 + 0x312d98]
mov r15d, dword [r10 + rcx*4 + 0x312dc8]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
jmp 0x1401d6a3c
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 r15d, dword [r10 + rax*4 + 0x312c40]
mov dword [rsp + 0x108], r15d
test ecx, ecx
jne 0x1401d6a34
mov dword [r12 + 0x3c], 0xffffffff
lea rax, [rdx + 6]
mov qword [r12], rax
mov rbx, qword [r12 + 0x28]
cmp rbx, qword [r12 + 0x78]
jae 0x1401d6a66
mov rax, qword [r12 + rbx*8 + 0x80]
cmp rax, 0xffffffffffffffff
je 0x1401d6a66
cmp rax, qword [r12 + rbx*8 + 0x88]
je 0x1401d0803
jmp 0x1401d6a83
cmp dword [r12 + 0x38], 0
je 0x1401d0803
test dword [r13 + 0xd0], 0x200
jne 0x1401d0803
mov eax, dword [r12 + 0x38]
mov edi, 1
cmp eax, edi
jb 0x1401d6ad8
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.1401db730
test eax, eax
jne 0x1401d6b74
mov rax, qword [rsp + 0x68]
inc edi
add rax, rax
add qword [r12 + 0x50], rax
mov eax, dword [r12 + 0x38]
cmp edi, eax
jbe 0x1401d6a91
xor r9d, r9d
lea r10, [0x140000000]
mov esi, dword [r12 + 0x3c]
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
cmp eax, esi
je 0x1401d07fb
test r15d, r15d
je 0x1401da0d1
mov r14, qword [r12 + 0x50]
mov ebp, 1
mov qword [r12 + 8], r14
mov rdi, qword [r12 + rbx*8 + 0x88]
sub rdi, qword [r12 + rbx*8 + 0x80]
mov qword [r12 + 0x18], rdi
mov r15d, dword [r12 + 0x38]
cmp r15d, esi
jae 0x1401d7d3e
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x70]
mov r9, r13
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rbx
call fcn.1401db730
test eax, eax
jne 0x1401d6b99
mov rax, qword [rsp + 0x70]
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 0x1401d6b30
jmp 0x1401d6bc7
jle 0x1401d6b82
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d0841.82
jmp 0x1401d256c
jle 0x1401d6bc7
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d6bc7
mov rax, qword [r13 + 0x98]
cmp qword [r13 + 0x88], rax
jbe 0x1401d6bc7
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov r14d, dword [rsp + 0x38]
test ebp, ebp
je 0x1401da014
lea r10, [0x140000000]
jmp 0x1401d7d43
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x48]
mov rcx, qword [r12 + 0x28]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401db730
test eax, eax
jne 0x1401d6b74
mov rax, qword [rsp + 0x48]
mov r11d, dword [rsp + 0xe0]
add rax, rax
add qword [r12 + 0x50], rax
xor r9d, r9d
jmp 0x1401d0803
add rbx, 2
mov qword [r12], rbx
nop dword [rax]
movzx eax, word [rbx + 2]
lea rax, [rbx + rax*2]
mov qword [r12], rax
mov rbx, rax
cmp word [rax], 0x78
je 0x1401d6c30
add rax, 4
mov qword [r12], rax
jmp 0x1401d0810
cmp dword [r13 + 0x30], 0
jne 0x1401da030
cmp dword [r12 + 0x30], 0
je 0x1401da030
lea r10, [0x140000000]
jmp 0x1401d77e8
lea r8, [rsp + 0x48]
mov rdx, r13
mov rcx, r12
call fcn.1401d0530
mov ebx, eax
test eax, eax
jg case.0x1401d0841.82
js 0x1401d0915
mov rax, qword [rsp + 0x48]
mov r11d, dword [rsp + 0xe0]
add rax, rax
add qword [r12], rax
xor r9d, r9d
jmp 0x1401d0803
movzx eax, word [rbx + 2]
mov qword [r12 + 0x18], rax
cmp word [rbx + rax*2], 0x78
je 0x1401d6cca
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x18], rax
add rbx, 4
mov qword [r12], rbx
movzx eax, word [rbx]
cmp ax, 0x76
je 0x1401d6ce1
cmp ax, 0x77
jne 0x1401d6d17
lea r8, [rsp + 0x48]
mov rdx, r13
mov rcx, r12
call fcn.1401d0530
mov ebx, eax
test eax, eax
jg case.0x1401d0841.82
js 0x1401d0915
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rcx]
add qword [r12], rax
mov rbx, qword [r12]
sub qword [r12 + 0x18], rcx
movzx edx, word [rbx]
lea r10, [0x140000000]
lea eax, [rdx - 0x90]
cmp eax, 0x12
ja case.0x1401d6d3d.150
cdqe
mov ecx, dword [r10 + rax*4 + 0x1db3d4]
add rcx, r10
jmp rcx
mov ecx, dword [r12 + 0x68]
cmp ecx, 0xffffffff
je case.0x1401d6d3d.148
movzx eax, word [rbx + 2]
cmp eax, 0xffff
je case.0x1401d6d3d.149
cmp eax, ecx
je case.0x1401d6d3d.149
jmp case.0x1401d6d3d.148
mov r10d, dword [r12 + 0x68]
cmp r10d, 0xffffffff
je case.0x1401d6d3d.148
movzx eax, word [rbx + 2]
movzx r9d, word [r13 + 0x66]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r13 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401d6d3d.148
nop dword [rax]
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x1401d6dcf
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401d6da0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x108], r15d
jmp case.0x1401d6d3d.148
mov rax, qword [rsp + 0x40]
lea r10, [0x140000000]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x108], r15d
jmp case.0x1401d6d3d.149
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r12 + 0x78]
jae case.0x1401d6d3d.148
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
je case.0x1401d6d3d.148
jmp case.0x1401d6d3d.149
movzx eax, word [rbx + 2]
movzx r9d, word [r13 + 0x66]
movzx edx, word [rbx + 4]
imul eax, r9d
movsxd rcx, eax
mov rax, qword [r13 + 0x68]
lea r8, [rax + rcx*2]
test edx, edx
je case.0x1401d6d3d.148
mov rcx, qword [r12 + 0x78]
nop word [rax + rax]
movzx eax, word [r8]
dec edx
lea rax, [rax*2 - 2]
cmp rax, rcx
jae 0x1401d6e72
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
jne case.0x1401d6d3d.149
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401d6e50
jmp case.0x1401d6d3d.148
movzx edx, word [rbx + 2]
test r14d, r14d
je 0x1401d6ed8
test edx, edx
je 0x1401d6f03
mov ebx, 0xdc00
mov r10d, 0xfc00
nop word [rax + rax]
mov rcx, qword [r12 + 0x50]
dec edx
cmp rcx, qword [r13 + 0x80]
jbe case.0x1401d0841.82
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, r10w
cmp ax, bx
jne 0x1401d6ed2
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
test edx, edx
jne 0x1401d6ea0
jmp 0x1401d6f03
mov rcx, qword [r12 + 0x50]
mov rax, rcx
sub rax, qword [r13 + 0x78]
sar rax, 1
cmp rdx, rax
jg case.0x1401d0841.82
lea rax, [rdx + rdx]
sub rcx, rax
lea r8, [0x140000000]
mov qword [r12 + 0x50], rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x98]
jae 0x1401d6f18
mov qword [r13 + 0x98], rax
add qword [r12], 4
jmp 0x1401d0810
movzx eax, word [rbx + 2]
lea rcx, [rbx + rax*2]
mov qword [r12], rcx
mov rbx, rcx
cmp word [rcx], 0x78
je case.0x1401d0841.59
jmp 0x1401d0810
movzx eax, word [rbx + 2]
mov ecx, 0x86
add rax, rax
sub rbx, rax
movzx eax, word [rbx]
sub ax, cx
mov ecx, 0xfffb
test cx, ax
je 0x1401d6fd9
mov rbp, qword [rdi + 0x30]
add rbp, qword [r12 + 0x70]
mov rdi, rbp
mov qword [rsp + 0x30], rbp
sub rdi, rsi
mov rax, qword [rdi + 0x70]
mov qword [r12 + 0x70], rax
mov eax, dword [rbp + 0x34]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x1401d6fdc
mov r8, qword [r12 + 0x78]
lea rdx, [r12 + 0x80]
shl r8, 3
lea rcx, [rdi + 0x80]
call fcn.14023ffe0
mov rax, qword [r12 + 0x78]
mov ebx, 1
mov qword [rdi + 0x78], rax
mov rax, qword [r12 + 0x60]
mov qword [rdi + 0x60], rax
mov rax, r12
sub rax, rdi
mov qword [r12 + 0x20], rax
jmp 0x1401d0915
mov rdi, r9
movzx eax, word [rbx]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x1401d6fff.134
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1db420]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401d7016
mov qword [r13 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r12 + 0x50], rax
jmp case.0x1401d6fff.134
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401d7039
mov qword [r13 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r12 + 0x50], rax
mov rax, r12
sub rax, rdi
mov qword [r12 + 0x20], rax
mov rcx, qword [rdi]
movzx eax, word [rcx + 2]
add rax, rax
cmp word [rax + rcx], 0x78
jne case.0x1401d6fff.134
nop dword [rax]
nop word [rax + rax]
add rax, rcx
mov rcx, rax
mov qword [rdi], rax
movzx eax, word [rax + 2]
add rax, rax
cmp word [rax + rcx], 0x78
je 0x1401d7070
jmp case.0x1401d6fff.134
mov ebx, 1
xor edi, edi
jmp 0x1401d091e
mov rdx, qword [r12 + 0x50]
mov r8d, r14d
mov rcx, qword [rdi + 0x50]
call fcn.140211f10
test eax, eax
jne case.0x1401d6fff.134
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
movzx edx, word [rbx + 4]
cmp dword [r12 + 0x68], edx
jne 0x1401d7123
mov rbx, rbp
lea rcx, [r12 + 0x80]
sub rbx, rsi
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.14023ffe0
mov rax, qword [rbx + 0x78]
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
mov qword [r12 + 0x78], rax
mov eax, dword [rbx + 0x6c]
mov dword [r12 + 0x6c], eax
mov eax, dword [rbx + 0x68]
mov dword [r12 + 0x68], eax
mov rax, qword [rbx]
add rax, 4
mov qword [r12], rax
xor r9d, r9d
jmp 0x1401d0803
mov dword [r12 + 0x6c], edx
lea ecx, [rdx*2 - 2]
mov rax, qword [rdi + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rcx*8 + 0x80], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [r12 + rcx*8 + 0x88], rax
cmp rcx, qword [r12 + 0x78]
jb case.0x1401d6fff.134
lea rax, [rcx + 2]
mov qword [r12 + 0x78], rax
mov rdx, qword [r12]
cmp word [rdx], 0x7c
jne 0x1401d718d
mov r8, qword [rsp + 0x78]
lea rdx, [r12 + 0x50]
lea rcx, [rdi + 0x50]
call fcn.14023ffe0
mov ebx, 0xfffffc1a
jmp 0x1401d0915
movzx ecx, byte [r12 + 0x49]
cmp cl, 0x79
je 0x1401d79e0
test rdi, rdi
je 0x1401d71b0
mov rax, qword [rdi + 0x50]
cmp qword [r12 + 0x50], rax
je 0x1401d79e0
cmp cl, 0x7b
jne 0x1401da091
lea rbx, [rdx + 4]
mov byte [r12 + 0x48], 6
jmp 0x1401da6e2
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
jne case.0x1401d0841.82
test byte [r13 + 0xcc], 1
jne case.0x1401d0841.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0810
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je 0x1401d0c42
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
test byte [r13 + 0xcc], 2
jne case.0x1401d0841.82
test byte [r13 + 0xd0], 0x10
je case.0x1401d0841.21
mov rax, qword [r13 + 0x88]
cmp qword [r12 + 0x50], rax
jb case.0x1401d0841.82
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d7250
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
add qword [r12], 2
jmp 0x1401d0810
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401d72dd
mov edx, dword [r13 + 0xdc]
lea rbx, [r13 + 0xe0]
test edx, edx
je 0x1401d7294
mov r9, rbx
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
test eax, eax
je 0x1401d7319
jmp 0x1401d72c9
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d7312
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d7312
cmp edx, 1
je 0x1401d72c9
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401d7312
lea rbx, [r13 + 0xe0]
mov eax, dword [rbx]
imul rcx, rax, 0xfffffffffffffffe
add rcx, qword [r13 + 0x88]
cmp qword [r12 + 0x50], rcx
jne 0x1401d7319
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d3161
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0803
lea rbx, [r13 + 0xe0]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d0841.82
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d0841.82
cmp dword [r13 + 0xdc], 0
jne case.0x1401d0841.82
cmp dword [rbx], 2
jne case.0x1401d0841.82
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne case.0x1401d0841.82
cmp dx, 1
jmp 0x1401d0b3d
test byte [r13 + 0xcc], 1
je 0x1401d7387
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je case.0x1401d0841.82
mov rcx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x78]
cmp rcx, rax
je 0x1401d743b
cmp rcx, qword [r13 + 0x88]
jne 0x1401d73b3
test dword [r13 + 0xd0], 0x200000
je case.0x1401d0841.82
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d73f1
cmp rcx, rax
jbe 0x1401d73e2
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
mov r8, rax
call fcn.14020ecb0
test eax, eax
je 0x1401d73e2
mov eax, 1
jmp 0x1401d73e4
xor eax, eax
test eax, eax
jne 0x1401d7434
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov r8d, dword [r13 + 0xe0]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x1401d0841.82
movzx eax, word [r13 + 0xe4]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x1401d0841.82
cmp r8d, 1
je 0x1401d7434
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne case.0x1401d0841.82
lea r8, [0x140000000]
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401d0810
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401d7505
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d748b
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
test eax, eax
jne 0x1401d3161
jmp 0x1401d74c6
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d74c6
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d74c6
cmp edx, 1
je 0x1401d3161
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401d3161
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401d0841.82
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401d0841.82
cmp dword [r13 + 0xdc], 0
jne case.0x1401d0841.82
cmp dword [r13 + 0xe0], 2
jmp 0x1401d734e
test byte [r13 + 0xcc], 2
jne case.0x1401d0841.82
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d3161
cmp rcx, qword [r13 + 0x98]
ja 0x1401d72eb
cmp dword [r13 + 0x34], 0
jmp 0x1401d72e5
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x50], rcx
je 0x1401d0c42
xor edi, edi
mov ebx, edi
jmp 0x1401d0917
mov rax, qword [r12 + 0x50]
mov qword [r12 + 0x58], rax
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401d0810
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x80]
je 0x1401d766e
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
je 0x1401d75e2
movzx eax, cx
mov r10d, 0xfc00
and ax, r10w
mov edx, 0xdc00
cmp ax, dx
jne 0x1401d75af
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r10d
cmp eax, ecx
jne 0x1401d75e4
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 0x1401d75e4
mov edx, ecx
cmp r8, qword [r13 + 0x98]
jae 0x1401d75f4
mov qword [r13 + 0x98], r8
test dword [r13 + 0xd0], 0x20000
je 0x1401d7655
lea r10, [0x140000000]
cmp edx, 0x5f
jne 0x1401d7613
lea r9d, [rdx - 0x5e]
jmp 0x1401d7675
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
sete r9b
jmp 0x1401d7675
mov eax, 0xff
cmp edx, eax
ja 0x1401d766e
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401d766e
mov r9d, 1
lea r10, [0x140000000]
mov rdx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
cmp rdx, rax
jb 0x1401d76de
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d76b2
cmp rdx, qword [r13 + 0x98]
ja 0x1401d76a0
cmp dword [r13 + 0x34], 0
je 0x1401d76b2
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
xor eax, eax
mov edx, eax
mov rax, qword [r12]
xor edx, r9d
movzx ecx, word [rax]
add rax, 2
mov qword [r12], rax
cmp cx, 5
jne 0x1401d76d1
xor edx, 1
test edx, edx
mov r9d, 0
jmp 0x1401d0eb7
lea r8, [rdx + 2]
mov rcx, r8
test r14d, r14d
je 0x1401d7732
mov ebx, 0xfc00
cmp rcx, rax
jae 0x1401d7706
movzx eax, word [r8]
and ax, bx
cmp ax, word [rsp + 0x50]
jne 0x1401d7706
add rcx, 2
movzx edx, word [rdx]
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401d7735
movzx eax, word [r8]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0x1401d7735
movzx edx, word [rdx]
cmp rcx, qword [r13 + 0xa0]
jbe 0x1401d7745
mov qword [r13 + 0xa0], rcx
test dword [r13 + 0xd0], 0x20000
je 0x1401d77aa
cmp edx, 0x5f
jne 0x1401d7761
mov edx, 1
jmp 0x1401d76b6
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
mov edx, 0
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
sete dl
jmp 0x1401d76b6
mov eax, 0xff
cmp edx, eax
ja 0x1401d76b2
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401d76b2
mov edx, 1
jmp 0x1401d76b6
test ebx, ebx
jne case.0x1401d098e.33
mov rbx, qword [r12 + 8]
mov r15d, dword [rsp + 0x108]
mov qword [r12], rbx
movzx eax, word [rbx + 2]
lea rcx, [rbx + rax*2]
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
movzx eax, word [rbx]
movzx edx, byte [rax + r10 + 0x32f360]
je 0x1401da09c
mov rbp, qword [rsp + 0x30]
lea rcx, [rbx + rdx*2]
mov rsi, qword [rsp + 0xf8]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
mov qword [r12], rcx
jmp 0x1401d0803
cmp ebx, 0xfffffc1f
jne 0x1401d7865
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xb8], rdx
jae case.0x1401d098e.33
cmp word [rcx], 0x78
je 0x1401d786d
cmp word [rdx], 0x78
jmp 0x1401d7867
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401da465
mov ebx, edi
jmp case.0x1401d098e.33
cmp ebx, 0xfffffc19
je 0x1401d9c24
test ebx, ebx
je 0x1401d78aa
cmp ebx, 0xfffffc1f
jne case.0x1401d098e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401da553
mov ebx, edi
jmp case.0x1401d098e.33
cmp ebx, 0xfffffc1d
jg 0x1401d790b
je 0x1401d78ec
cmp ebx, 0xfffffc19
je case.0x1401d837f.8193
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401d098e.33
mov rbx, qword [r12]
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401d78f0
lea rax, [rbx + 4]
jmp 0x1401d7ad7
cmp ebx, 0xfffffc1f
je 0x1401d9c77
test ebx, ebx
je 0x1401d9c77
cmp ebx, 1
jne case.0x1401d098e.33
mov ebx, edi
jmp case.0x1401d098e.33
cmp ebx, 0xfffffc1d
jg 0x1401d795d
je 0x1401d9cee
cmp ebx, 0xfffffc19
je 0x1401d9c9a
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401d098e.33
jmp 0x1401d9cee
cmp ebx, 0xfffffc1f
je 0x1401d9cd2
test ebx, ebx
je 0x1401d9cd2
cmp ebx, 1
jne case.0x1401d098e.33
mov eax, dword [r12 + 0x38]
jmp 0x1401d9cf9
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12]
mov r15d, dword [rsp + 0x108]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0xf8]
movzx eax, word [rcx + 2]
mov rdi, qword [rsp + 0x100]
add rax, rax
mov r11d, dword [rsp + 0xe0]
sub rcx, rax
mov qword [r12], rcx
xor r9d, r9d
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
mov rbp, qword [rsp + 0x30]
mov r15d, dword [rsp + 0x108]
add qword [r12], 4
mov rsi, qword [rsp + 0xf8]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
cmp ebx, 0xfffffc1a
jne 0x1401d7a44
mov dword [r12 + 0x3c], 1
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jne 0x1401da0b3
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 0x1401d7a30
jmp 0x1401d7a93
cmp ebx, 0xfffffc1f
jne 0x1401d7a71
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xb8], rdx
jae case.0x1401d098e.33
cmp word [rcx], 0x78
je 0x1401d7a79
cmp word [rdx], 0x78
jmp 0x1401d7a73
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401da40e
cmp dword [r12 + 0x3c], 0
jne 0x1401d7ad3
cmp dword [r12 + 0x40], 0
jne 0x1401d7ad3
mov ebx, edi
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 8]
nop word [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
je 0x1401d7ac0
lea rax, [rcx + 4]
mov qword [r12], rax
mov r15d, dword [rsp + 0x108]
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
add qword [r12], 2
jmp 0x1401d7adb
mov rdx, qword [r12 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x1401d7b6d
mov eax, dword [r12 + 0x38]
btc eax, 0x12
cmp dword [r13 + 0xc8], eax
jne 0x1401d7b6d
cmp ebx, 0xfffffc1f
jne case.0x1401d837f.8193
cmp qword [r13 + 0xb8], rcx
jae case.0x1401d837f.8193
cmp word [rdx], 0x78
je 0x1401d7b75
cmp word [rcx], 0x78
je 0x1401d7b75
mov ebx, edi
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
je 0x1401da50f
mov ebx, edi
jmp case.0x1401d098e.33
cmp ebx, 0xfffffc1e
jne case.0x1401d098e.33
mov rcx, qword [r12]
mov rdx, qword [r13 + 0xc0]
add rcx, 4
call fcn.14020ce20
lea r10, [0x140000000]
mov r8d, 0x2000
test eax, eax
jne case.0x1401d098e.33
mov rax, qword [r12 + 0x50]
lea r10, [0x140000000]
mov qword [r13 + 0xc0], rax
mov ebx, 0xfffffc1d
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov eax, dword [r12 + 0x68]
mov ebx, 0xfffffc1c
mov dword [r13 + 0xc8], eax
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rax, qword [r12 + 0x50]
mov ebx, 0xfffffc1d
mov qword [r13 + 0xc0], rax
mov eax, dword [r12 + 0x68]
mov dword [r13 + 0xc8], eax
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rax, qword [r12]
mov ebx, 0xfffffc1e
add rax, 4
mov qword [r13 + 0xc0], rax
mov eax, dword [r12 + 0x68]
mov dword [r13 + 0xc8], eax
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rax, qword [r12]
mov ebx, 0xfffffc1f
mov qword [r13 + 0xb8], rax
mov eax, dword [r12 + 0x68]
mov dword [r13 + 0xc8], eax
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jb 0x1401d7c9e
mov ebx, edi
jmp case.0x1401d098e.33
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.1401db730
test eax, eax
je 0x1401da0c1
jle 0x1401d7cd6
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401d7d10
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401d7d10
cmp rax, qword [r13 + 0x98]
ja 0x1401d7cfe
cmp dword [r13 + 0x34], 0
je 0x1401d7d10
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov ebx, edi
lea r10, [0x140000000]
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rax, qword [r12 + 0x18]
neg rax
add rax, rax
add qword [r12 + 0x50], rax
jmp 0x1401d7d43
mov r14d, dword [rsp + 0x38]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jb 0x1401d0ebd
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x15
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov rbx, qword [r12 + 8]
cmp qword [r12 + 0x50], rbx
je 0x1401d0ebf
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 0x1401d7dd9
nop dword [rax]
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x88]
mov rcx, qword [r12 + 0x28]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401db730
mov rax, qword [rsp + 0x88]
inc esi
lea rbx, [rbx + rax*2]
mov qword [r12 + 0x50], rbx
cmp esi, edi
jb 0x1401d7da0
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x16
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, r15d
jbe 0x1401d7e56
cmp byte [r12 + 0x49], 0x6e
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401da6e2
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 0x1401d7e3f
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jb 0x1401d0ebd
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x18
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jae 0x1401d8035
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je 0x1401d7eff
cmp dword [r12 + 0x44], eax
jne case.0x1401d837f.8193
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x19
jmp 0x1401da6e2
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401d098e.33
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1a
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1b
jmp 0x1401da6e2
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401d098e.33
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
cmp qword [r12 + 0x50], rax
ja 0x1401da0e8
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jb 0x1401d8070
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401d837f.8193
cmp rcx, qword [r13 + 0x98]
ja 0x1401d8057
cmp dword [r13 + 0x34], 0
je case.0x1401d837f.8193
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov ebx, edi
jmp case.0x1401d098e.33
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je case.0x1401d837f.8193
cmp dword [r12 + 0x44], eax
je case.0x1401d837f.8193
mov rsi, qword [rsp + 0xf8]
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x1d
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1e
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x20
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jb 0x1401d81f5
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d8581
cmp rcx, qword [r13 + 0x98]
ja 0x1401d81d6
cmp dword [r13 + 0x34], 0
je 0x1401d8581
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp dword [r12 + 0x40], 0xc
jne 0x1401d8228
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d8257
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
lea r10, [0x140000000]
test eax, eax
jne 0x1401d8581
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.0x1401d8255.15
mov ecx, dword [r10 + rax*4 + 0x1db464]
add rcx, r10
jmp rcx
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d8228
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d8228
cmp edx, 1
je 0x1401d8581
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401d8228
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0xd
ja 0x1401d82d6
je 0x1401da0f7
sub edx, 0xa
je case.0x1401d8255.13
sub edx, 1
je 0x1401d82bd
cmp edx, 1
jne 0x1401d8581
cmp word [r13 + 0x62], 2
jne case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
sub edx, 0x85
je 0x1401d82bd
sub edx, 0x1fa3
je 0x1401d82bd
cmp edx, 1
je 0x1401d82bd
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401d8349
je case.0x1401d837f.8193
cmp edx, 9
je case.0x1401d837f.8193
cmp edx, 0x20
je case.0x1401d837f.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401d837f.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401d837f.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401d8255.13
mov ebx, edi
jmp case.0x1401d098e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d8255.13
je case.0x1401d837f.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d8255.13
movzx eax, byte [r10 + rdx + 0x1db4ac]
mov ecx, dword [r10 + rax*4 + 0x1db4a4]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401d83d2
je case.0x1401d8255.13
cmp edx, 9
je case.0x1401d8255.13
cmp edx, 0x20
je case.0x1401d8255.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401d8255.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401d8255.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401d8255.13
mov ebx, edi
jmp case.0x1401d098e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d837f.8193
je case.0x1401d8255.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d837f.8193
movzx eax, byte [r10 + rdx + 0x1db514]
mov ecx, dword [r10 + rax*4 + 0x1db50c]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401d842f
je 0x1401d8581
sub edx, 0xa
je 0x1401d8581
sub edx, 1
je 0x1401d8581
cmp edx, 1
jmp 0x1401d857b
sub edx, 0x85
je 0x1401d8581
sub edx, 0x1fa3
je 0x1401d8581
cmp edx, 1
jne case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0xd
ja 0x1401d8490
je case.0x1401d8255.13
sub edx, 0xa
je case.0x1401d8255.13
sub edx, 1
je case.0x1401d8255.13
cmp edx, 1
je case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
sub edx, 0x85
je case.0x1401d8255.13
sub edx, 0x1fa3
je case.0x1401d8255.13
cmp edx, 1
je case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja case.0x1401d8255.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja case.0x1401d8255.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja case.0x1401d8255.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, r15d
ja 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401d8255.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rax, qword [r12 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0x11
jne 0x1401d9d74
cmp rax, qword [r12 + 8]
jbe 0x1401d9d74
cmp word [rax], 0xa
jne 0x1401d9d74
mov r15d, dword [rsp + 0x108]
add rax, 0xfffffffffffffffe
cmp word [rax], 0xd
jne 0x1401d9d7c
mov qword [r12 + 0x50], rax
jmp 0x1401d9d7c
test ebx, ebx
jne case.0x1401d098e.33
mov eax, dword [r12 + 0x68]
mov ebx, 0xfffffc1b
mov dword [r13 + 0xc8], eax
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401d8670
mov eax, ecx
and eax, esi
cmp eax, ebp
jne 0x1401d8670
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 rdx, qword [r12 + 0x10]
mov r8d, r14d
call fcn.1402123e0
test eax, eax
jne 0x1401da183
lea r10, [0x140000000]
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
jbe case.0x1401d837f.8193
test r14d, r14d
je 0x1401d86d8
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401d86d8
lea rax, [rdx - 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.WS2_32.dll_WSAAsyncSelect
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401d8757
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, r15d
jbe 0x1401d877f
cmp byte [r12 + 0x49], 0x6e
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.OLEAUT32.dll_SetErrorInfo
jmp 0x1401da6e2
mov rax, qword [r12 + 0x10]
mov edx, ecx
and ecx, 7
shr rdx, 3
movzx r8d, byte [rdx + rax]
mov eax, 1
shl eax, cl
test al, r8b
jne 0x1401d8768
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
ja 0x1401da19a
mov ebx, edi
jmp 0x1401d091e
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.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 0x1401d882b
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
je 0x1401da1ca
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1401d885c
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401d885c
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.14023fee0
test eax, eax
je 0x1401da1ca
cmp rbx, rsi
jb 0x1401d888d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401d888d
cmp rbx, qword [r13 + 0x98]
ja 0x1401d887b
cmp dword [r13 + 0x34], 0
je 0x1401d888d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401d3459
xor edi, edi
lea r10, [0x140000000]
mov ebx, edi
mov esi, 0xfc00
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401d88df
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
cmp qword [r12 + 0x50], rax
ja 0x1401da1ea
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401d897c
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.0x1401d837f.8193
cmp dword [r12 + 0x44], ecx
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcc
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401d89e0
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcd
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401d8a6f
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.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xce
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
mov edx, 0xdc00
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, si
cmp ax, dx
jne 0x1401d8ac8
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
cmp qword [r12 + 0x50], rax
ja 0x1401da1f9
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401d8b4f
and ecx, esi
cmp ecx, ebp
jne 0x1401d8b4f
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0xf
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd0
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d8be5
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d8be5
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x3139d1]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401d8c20
mov ecx, edi
cmp dl, 8
jne 0x1401d8c25
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd1
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d8cc2
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d8cc2
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [r10 + rcx*4 + 0x3139d1]
mov ecx, edi
cmp dword [r10 + rdx*4 + 0x32f510], eax
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd2
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d8d98
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d8d98
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
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.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd3
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d8e6c
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d8e6c
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d0]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd4
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d8f40
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d8f40
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov ecx, edi
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd5
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d9018
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d9018
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
cmp edx, r8d
ja 0x1401d90e9
je case.0x1401d911b.8193
cmp edx, 0x20
ja 0x1401d90ca
je case.0x1401d911b.8193
mov eax, edx
sub eax, 9
je case.0x1401d911b.8193
sub eax, 1
je case.0x1401d911b.8193
sub eax, 1
je case.0x1401d911b.8193
sub eax, 1
je case.0x1401d911b.8193
cmp eax, 1
je case.0x1401d911b.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov ecx, edi
cmp dword [r10 + rax*4 + 0x32f510], 6
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd6
jmp 0x1401da6e2
mov eax, edx
sub eax, 0x85
je case.0x1401d911b.8193
sub eax, 0x1b
je case.0x1401d911b.8193
sub eax, 0x15e0
je case.0x1401d911b.8193
cmp eax, 0x18e
jmp 0x1401d905f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d911b.8194
je case.0x1401d911b.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401d911b.8194
movzx eax, byte [r10 + rax + 0x1db57c]
mov ecx, dword [r10 + rax*4 + 0x1db574]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x40], 0xf
jne case.0x1401d9fe6.7
mov ebx, edi
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d919f
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d919f
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
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3139d1]
mov eax, dword [r10 + rax*4 + 0x32f510]
dec eax
test eax, 0xfffffffd
je 0x1401d91e6
mov ecx, edi
cmp edx, 0x5f
jne 0x1401d91eb
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd7
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d9288
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d9288
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 + 0x313400]
add rcx, r10
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401d92ae
nop
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401d92d1
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401d92a0
cmp dword [r12 + 0x40], 0xf
jne 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd8
jmp 0x1401da6e2
cmp dword [r12 + 0x40], 0xf
jne case.0x1401d9fe6.10
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401d9353
mov eax, ecx
and eax, esi
cmp eax, ebp
jne 0x1401d9353
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
lea eax, [rcx - 0x24]
cmp eax, 0x3c
ja 0x1401d936b
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x1401d9382
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401d9382
cmp ecx, 0xe000
mov ecx, edi
jb 0x1401d9387
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401d837f.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd9
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401da208
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d837f.8193
cmp rax, qword [r13 + 0x98]
ja 0x1401d9405
cmp dword [r13 + 0x34], 0
je case.0x1401d837f.8193
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov ebx, edi
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401d81b4
cmp dword [r12 + 0x40], 0xc
jne 0x1401d9486
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401d94e5
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.14020ebf0
lea r10, [0x140000000]
test eax, eax
jne 0x1401d8581
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, ebp
jne 0x1401d94c7
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.0x1401d8255.15
mov ecx, dword [r10 + rax*4 + 0x1db5dc]
add rcx, r10
jmp rcx
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401d9486
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401d9486
cmp edx, 1
je 0x1401d8581
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401d9486
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0xd
ja 0x1401d9568
je 0x1401da2c3
sub edx, 0xa
je case.0x1401d94e3.13
sub edx, 1
je 0x1401d954f
cmp edx, 1
jne 0x1401d8581
cmp word [r13 + 0x62], 2
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
sub edx, 0x85
je 0x1401d954f
sub edx, 0x1fa3
je 0x1401d954f
cmp edx, 1
je 0x1401d954f
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401d95db
je case.0x1401d837f.8193
cmp edx, 9
je case.0x1401d837f.8193
cmp edx, 0x20
je case.0x1401d837f.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401d837f.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401d837f.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401d94e3.13
mov ebx, edi
jmp case.0x1401d098e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d94e3.13
je case.0x1401d837f.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d94e3.13
movzx eax, byte [r10 + rdx + 0x1db624]
mov ecx, dword [r10 + rax*4 + 0x1db61c]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401d9664
je case.0x1401d94e3.13
cmp edx, 9
je case.0x1401d94e3.13
cmp edx, 0x20
je case.0x1401d94e3.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401d94e3.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401d94e3.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401d94e3.13
mov ebx, edi
jmp case.0x1401d098e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401d837f.8193
je case.0x1401d94e3.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401d837f.8193
movzx eax, byte [r10 + rdx + 0x1db68c]
mov ecx, dword [r10 + rax*4 + 0x1db684]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401d96cf
je 0x1401d8581
sub edx, 0xa
je 0x1401d8581
sub edx, 1
je 0x1401d8581
cmp edx, 1
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
sub edx, 0x85
je 0x1401d8581
sub edx, 0x1fa3
je 0x1401d8581
cmp edx, 1
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0xd
ja 0x1401d9730
je case.0x1401d94e3.13
sub edx, 0xa
je case.0x1401d94e3.13
sub edx, 1
je case.0x1401d94e3.13
cmp edx, 1
je case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
sub edx, 0x85
je case.0x1401d94e3.13
sub edx, 0x1fa3
je case.0x1401d94e3.13
cmp edx, 1
je case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae case.0x1401d94e3.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae case.0x1401d94e3.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae case.0x1401d94e3.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
cmp edx, 0x100
jae 0x1401d8581
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401d94e3.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401d098e.33
test ebx, ebx
jne case.0x1401d098e.33
mov r8, qword [r12 + 0x50]
mov ebx, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r12 + 0x50], r8
test r14d, r14d
jne 0x1401d9da3
movzx edx, word [r8]
jmp 0x1401d9df0
test ebx, ebx
jne case.0x1401d098e.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 0x1401d98a4
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
cmp dword [r12 + 0x40], 0x11
jne 0x1401d9efe
cmp rcx, qword [r12 + 8]
jbe 0x1401d9efe
cmp word [rcx], 0xa
jne 0x1401d9efe
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
cmp word [rcx], 0xd
jne 0x1401d9f06
mov qword [r12 + 0x50], rcx
jmp 0x1401d9f06
test ebx, ebx
jne case.0x1401d098e.33
mov rcx, qword [r12 + 0x50]
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401d9921
movzx eax, word [rcx]
mov edx, 0xdc00
and ax, si
cmp ax, dx
jne 0x1401d9921
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
cmp qword [r12 + 0x50], rax
ja 0x1401da34f
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401d0803
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d99c9
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d99c9
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]
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r10 + rcx*4 + 0x3139da]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x312e70]
bt eax, r8d
mov edx, edi
mov eax, edi
setb dl
cmp dword [r12 + 0x40], 0xf
sete al
cmp edx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdf
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d9abd
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d9abd
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx eax, word [r10 + rcx*4 + 0x3139d8]
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 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe0
jmp 0x1401da6e2
test ebx, ebx
jne case.0x1401d098e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401d837f.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401d93e3
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401d9b94
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d9b94
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3139d0]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401d9bf5
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 + 0x3136d0]
bt eax, ecx
mov ecx, edi
jae 0x1401d9bfa
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401d8581
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe1
jmp 0x1401da6e2
mov rbx, qword [rsp + 0x40]
lea rcx, [r12 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.14023ffe0
mov rax, qword [rbx + 0x78]
mov qword [r12 + 0x78], rax
mov rax, qword [rbx + 0x60]
mov qword [r12 + 0x60], rax
mov rcx, qword [r12]
nop dword [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401d9c60
jmp 0x1401d7ad3
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401da592
lea rax, [rbx + 4]
jmp 0x1401d7ad7
mov rbx, qword [rsp + 0x40]
lea rcx, [r12 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.14023ffe0
mov rax, qword [rbx + 0x78]
lea r10, [0x140000000]
mov qword [r12 + 0x78], rax
mov eax, dword [r12 + 0x38]
jmp 0x1401d9cf9
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 0x1401da056
cmp dword [r12 + 0x38], 0
mov eax, edi
sete al
test eax, eax
je 0x1401d9d30
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 0x1401d9d01
mov r15d, dword [rsp + 0x108]
mov rcx, qword [r12]
movzx eax, word [rcx]
movzx edx, byte [rax + r10 + 0x32f360]
jmp 0x1401d9d41
mov r15d, dword [rsp + 0x108]
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12]
lea rbx, [rcx + rdx*2]
mov qword [r12], rbx
cmp byte [r12 + 0x49], 0x8f
jne 0x1401d7ae3
mov rsi, qword [rsp + 0xf8]
mov eax, 0x2008f
mov dword [rsp + 0xe8], eax
mov byte [r12 + 0x48], 0x23
jmp 0x1401da6e2
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x22
jmp 0x1401da6e2
movzx ecx, word [r8]
mov r9, r8
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401d9dc2
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, ebp
jne 0x1401d9df0
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx r10d, byte [r10 + rcx*4 + 0x3139d2]
cmp r8, r9
jbe 0x1401d9ecf
lea r11, [0x140000000]
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
jne 0x1401d9e44
mov edx, ecx
jmp 0x1401d9e83
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401d9e58
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401d9e83
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 + 0x317be0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x31bfe0]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x3139d2]
mov eax, dword [r11 + rdx*4 + 0x32f4d0]
bt eax, r10d
jae 0x1401d9ecf
mov qword [r12 + 0x50], r8
mov r10d, edx
cmp r8, r9
ja 0x1401d9e32
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdc
jmp 0x1401da6e2
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401d7ae3
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdd
jmp 0x1401da6e2
inc dword [r13 + 0xd4]
mov rdx, qword [r12]
mov eax, dword [r13 + 0xd4]
cmp eax, dword [r13 + 0xd8]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x32f360]
movzx eax, word [rdx + 2]
ja 0x1401da35e
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r12], rax
jmp 0x1401d0810
test r14d, r14d
jne 0x1401d8992
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1d
jmp 0x1401da6e2
test r14d, r14d
jne 0x1401d8a7a
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401da6e2
test r14d, r14d
jne 0x1401d8768
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401da6e2
test esi, esi
js 0x1401d9fe8
cmp esi, 0xd
ja case.0x1401d8255.15
movsxd rax, esi
mov ecx, dword [rbx + rax*4 + 0x1db6ec]
add rcx, rbx
jmp rcx
cmp dword [r12 + 0x40], 0x16
je 0x1401da2ac
test r14d, r14d
jne case.0x1401d94e3.13
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401da6e2
mov rsi, qword [rsp + 0xf8]
mov dword [r12 + 0x3c], r15d
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x16
jmp 0x1401da6e2
mov edx, r9d
jmp 0x1401da459
mov eax, 0xfffd
sub dx, 0x7e
test ax, dx
mov eax, 0
sete al
mov dword [r12 + 0x38], eax
mov qword [r12 + 8], rbx
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
movzx eax, word [rax]
or eax, 0x30000
mov dword [rsp + 0xe8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 5
lea rbx, [rcx + rax*2]
jmp 0x1401da6e2
mov byte [r12 + 0x48], 7
jmp 0x1401da6e2
mov rsi, qword [rsp + 0xf8]
lea rbx, [rbx + rdx*2]
mov byte [r12 + 0x48], 1
jmp 0x1401da6e2
mov rax, qword [r12 + 0x10]
mov qword [r12], rax
jmp 0x1401da40e
mov rax, qword [rsp + 0x80]
add rax, rax
add qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x14
jmp 0x1401da6e2
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x1c
jmp 0x1401da6e2
cmp r8, qword [r13 + 0x88]
jae case.0x1401d8255.13
cmp word [r8], 0xa
jne case.0x1401d8255.13
mov rsi, qword [rsp + 0xf8]
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x21
jmp 0x1401da6e2
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d8255.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401d8255.13
cmp dword [r13 + 0xdc], 0
jne case.0x1401d8255.13
cmp dword [r13 + 0xe0], 2
jne case.0x1401d8255.13
movzx eax, word [r13 + 0xe4]
cmp edx, eax
jne case.0x1401d8255.13
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401da6e2
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], WSAAsyncSelect
jmp 0x1401da6e2
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401da1b3
lea rax, [rdx - 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.OLEAUT32.dll_CreateErrorInfo
jmp 0x1401da6e2
lea rax, [rdi + rbx]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xca
jmp 0x1401da6e2
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xcb
jmp 0x1401da6e2
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xcf
jmp 0x1401da6e2
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401da252
mov eax, r10d
and eax, esi
cmp eax, ebp
jne 0x1401da252
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.140211ce0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401da2ac
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401da2ac
cmp rax, qword [r13 + 0x98]
ja 0x1401da29a
cmp dword [r13 + 0x34], 0
je 0x1401da2ac
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xda
jmp 0x1401da6e2
cmp r8, qword [r13 + 0x88]
jae case.0x1401d94e3.13
cmp word [r8], 0xa
jne case.0x1401d94e3.13
mov rsi, qword [rsp + 0xf8]
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xdb
jmp 0x1401da6e2
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401d94e3.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401d94e3.13
cmp dword [r13 + 0xdc], 0
jne case.0x1401d94e3.13
cmp dword [r13 + 0xe0], 2
jne case.0x1401d94e3.13
movzx eax, word [r13 + 0xe4]
cmp edx, eax
jne case.0x1401d94e3.13
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401d3459
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdb
jmp 0x1401da6e2
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xde
jmp 0x1401da6e2
mov byte [r12 + 0x48], 0x11
jmp 0x1401da6db
add rbx, 2
mov qword [r12 + 8], rbx
mov byte [r12 + 0x48], 9
jmp 0x1401da6e2
add rbx, 2
mov qword [r12 + 8], rbx
nop word [rax + rax]
movzx eax, word [rbx + 2]
lea rcx, [rbx + rax*2]
mov qword [r12 + 8], rcx
mov rbx, rcx
cmp word [rcx], 0x78
je 0x1401da390
lea rbx, [rcx + 4]
mov byte [r12 + 0x48], 0xa
jmp 0x1401da6e2
add rbx, 2
mov dword [r12 + 0x40], 1
mov qword [r12], rbx
mov ecx, 0x89
movzx eax, word [rbx]
cmp ax, cx
je 0x1401da3f0
mov ecx, 0x8e
cmp ax, cx
jne 0x1401da3e4
jmp 0x1401da3f0
mov dword [r12 + 0x40], r9d
mov eax, 0x20000
jmp 0x1401da3f8
mov dword [r12 + 0x40], r9d
movzx eax, word [rbx + 4]
bts eax, 0x10
mov dword [r12 + 0x38], eax
lea r10, [0x140000000]
mov dword [r12 + 0x3c], r9d
mov qword [r12 + 0x10], rbx
mov rax, qword [r12 + 0x50]
mov rsi, qword [rsp + 0xf8]
mov qword [r12 + 8], rax
mov rcx, qword [r12]
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0xe8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 8
lea rbx, [rcx + rax*2]
jmp 0x1401da6e2
movzx edx, word [rbx + 4]
bts edx, 0x10
jmp 0x1401da459
bts edx, 0x11
mov dword [r12 + 0x38], edx
lea r10, [0x140000000]
mov eax, dword [r12 + 0x38]
mov rsi, qword [rsp + 0xf8]
mov dword [rsp + 0xe8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 2
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
mov rcx, qword [r13 + 0x70]
movzx eax, word [rbx + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
je 0x1401da4aa
movzx r9d, word [r10 + 4]
cmp dword [r12 + 0x68], 0xffffffff
je 0x1401da4f9
mov rax, qword [r12 + 0x70]
cmp rax, 0xffffffffffffffff
je 0x1401da4f9
mov r8, qword [rdi + 0x30]
mov edx, r9d
bts edx, 0x12
nop dword [rax + rax]
add rax, r8
mov rcx, rax
sub rcx, rsi
cmp dword [rax + 0x34], edx
je 0x1401da4ea
mov rax, qword [rcx + 0x70]
cmp rax, 0xffffffffffffffff
jne 0x1401da4d0
jmp 0x1401da4f9
mov rax, qword [rcx + 0x50]
cmp qword [r12 + 0x50], rax
je 0x1401da8b6
mov qword [r12 + 8], r10
bts r9d, 0x12
mov dword [r12 + 0x38], r9d
lea r10, [0x140000000]
mov rcx, qword [r12 + 8]
mov eax, dword [r12 + 0x38]
mov rsi, qword [rsp + 0xf8]
mov dword [rsp + 0xe8], eax
movzx eax, word [rcx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 0xb
lea rbx, [rcx + rax*2]
jmp 0x1401da6e2
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r12 + 0x38], edx
mov eax, dword [r12 + 0x38]
mov rsi, qword [rsp + 0xf8]
mov dword [rsp + 0xe8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 3
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
bts edx, 0x11
lea r10, [0x140000000]
mov dword [r12 + 0x38], edx
mov eax, dword [r12 + 0x38]
mov rsi, qword [rsp + 0xf8]
mov dword [rsp + 0xe8], eax
movzx eax, word [rbx]
movzx eax, byte [rax + r10 + 0x32f360]
mov byte [r12 + 0x48], 4
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
lea rax, [rbx + 4]
mov qword [r13 + 0xb0], rax
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x32f360]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0xc
jmp 0x1401da6db
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x32f360]
mov byte [r12 + 0x48], 0xd
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
lea rax, [rbx + 4]
mov qword [r13 + 0xb0], rax
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x32f360]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0x24
jmp 0x1401da6db
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x32f360]
mov byte [r12 + 0x48], 0xe
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
lea rax, [rbx + 4]
mov qword [r13 + 0xb0], rax
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x32f360]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0xf
jmp 0x1401da6db
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x32f360]
mov byte [r12 + 0x48], 0x10
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x32f360]
mov byte [r12 + 0x48], 0x12
lea rbx, [rbx + rax*2]
jmp 0x1401da6e2
lea rax, [rbx + 4]
mov qword [r13 + 0xb0], rax
mov qword [r12 + 0x60], rax
mov rdx, qword [r12]
movzx eax, word [rdx]
movzx ecx, byte [rax + r8 + 0x32f360]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0x13
add rcx, rax
lea rbx, [rdx + rcx*2]
lea rbp, [r12 + rsi]
mov qword [rsp + 0x30], rbp
cmp rbp, qword [rsp + 0x60]
jb 0x1401da7ae
mov r15, qword [rsp + 0x100]
mov rcx, qword [r13 + 0x18]
mov r8, qword [r15 + 0x38]
lea rdi, [r8 + r8]
cmp rdi, rcx
jbe 0x1401da726
xor edx, edx
mov rax, rcx
div rsi
mov rdi, rcx
sub rdi, rdx
cmp r8, rdi
jae 0x1401da8bd
mov rdx, qword [r15 + 0x10]
mov rcx, rdi
mov rax, qword [r15]
call qword [case.0x1400f4a30.0]
mov rsi, rax
test rax, rax
je 0x1401da8c4
mov r8, qword [rsp + 0x58]
mov rcx, rax
mov rdx, qword [r15 + 0x30]
call fcn.14023ffe0
mov rcx, qword [r15 + 0x30]
mov rdx, rsi
mov rbp, qword [rsp + 0xf8]
sub rdx, rcx
mov rax, qword [r15 + 8]
add r12, rdx
mov rdx, qword [r15 + 0x10]
add rbp, r12
mov qword [rsp + 0x30], rbp
call qword [case.0x1400f4a30.0]
xor edx, edx
mov qword [r15 + 0x30], rsi
mov rax, rdi
mov qword [r15 + 0x38], rdi
div qword [rsp + 0xf8]
mov rax, rdi
sub rax, rdx
mov qword [rsp + 0x58], rax
add rax, rsi
mov rsi, qword [rsp + 0xf8]
mov qword [rsp + 0x60], rax
lea rdx, [r12 + 0x50]
lea rcx, [rbp + 0x50]
lea r8, [rsi - 0x50]
call fcn.14023ffe0
mov eax, dword [r12 + 0x30]
mov r12, rbp
mov r15d, dword [rsp + 0x108]
inc eax
mov rdi, qword [rsp + 0x100]
xor r9d, r9d
mov r8d, dword [rsp + 0xe8]
mov r11d, dword [rsp + 0xe0]
mov dword [rbp + 0x30], eax
jmp 0x1401d0760
xor eax, eax
jmp 0x1401da8d7
mov qword [r13 + 0x90], rdx
mov rax, qword [r12 + 0x78]
mov qword [r13 + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [r13 + 0xa8], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401da82d
mov qword [r13 + 0xa0], rax
mov rax, qword [r12 + 0x58]
lea rdx, [r12 + 0x80]
sub rax, qword [r13 + 0x78]
lea rcx, [rdi + 0x70]
sar rax, 1
mov qword [rdi + 0x60], rax
mov rax, qword [r12 + 0x50]
sub rax, qword [r13 + 0x78]
sar rax, 1
mov qword [rdi + 0x68], rax
movzx ebx, word [rdi + 0x5a]
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.14023ffe0
mov rax, qword [r12 + 0x78]
dec ebx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x1401da8ab
nop dword [rax]
mov qword [rdi + rdx*8 + 0x60], 0xffffffffffffffff
dec ebx
mov rcx, qword [r12 + 0x78]
add rcx, 2
mov edx, ebx
cmp rdx, rcx
jae 0x1401da890
mov eax, 1
jmp 0x1401da8d7
mov eax, ebx
jmp 0x1401da8d7
mov eax, 0xffffffcc
jmp 0x1401da8d7
mov eax, 0xffffffc1
jmp 0x1401da8d7
mov eax, 0xffffffd0
jmp 0x1401da8d7
mov eax, 0xffffffd4
jmp 0x1401da8d7
mov eax, 0xffffffd1
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret