Function at 0x1401ecb80
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 0x1401eccaf
mov rax, r12
sub rax, qword [rdi + 0x30]
mov qword [r12 + 0x70], rax
mov eax, r8d
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x1401ecca7
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 0x1401f6e22
mov eax, dword [r13 + 0x24]
cmp dword [r12 + 0x30], eax
jb 0x1401ecd09
mov eax, 0xffffffcb
jmp 0x1401f6e27
mov rbp, qword [rsp + 0x30]
jmp 0x1401ecd10
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
mov rsi, qword [rsp + 0xf8]
lea r8, [0x140000000]
mov rbx, qword [r12]
movzx r10d, byte [rbx]
mov byte [r12 + 0x49], r10b
mov edx, r10d
cmp r10d, 0xa6
ja case.0x1401f4795.15
movzx eax, byte [r8 + r10 + 0x1f6f98]
mov ecx, dword [r8 + rax*4 + 0x1f6e3c]
add rcx, r8
jmp rcx
cmp dword [r12 + 0x68], 0xffffffff
jne 0x1401ecdd9
movzx r8d, word [rbx + 2]
mov rcx, qword [r12 + 0x70]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je case.0x1401f4795.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 0x1401ecd8e
mov rcx, qword [rcx + 0x70]
jmp 0x1401ecd60
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 0x1401ecdd9
lea rax, [rdx + 2]
mov qword [r12 + 0x78], rax
mov rcx, qword [r12]
movzx eax, word [rcx]
movzx eax, byte [rax + r8 + 0x3dbd20]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
jmp 0x1401ecd10
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401ece0b
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 ebp, 0xd800
mov esi, 0xfc00
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401ece49
mov qword [r13 + 0xa0], rax
cmp dword [r12 + 0x30], 0
je 0x1401f6e09
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.0x1401f4795.15
cdqe
movzx eax, byte [r10 + rax + 0x1f7138]
mov ecx, dword [r10 + rax*4 + 0x1f7040]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x68], 0xffffffff
je 0x1401ecef8
mov rcx, qword [r12 + 0x70]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je case.0x1401f4795.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 0x1401eced1
mov rcx, qword [rcx + 0x70]
jmp 0x1401ecea0
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 0x1401ecd10
mov r8, qword [r12 + 0x58]
mov rdx, qword [r12 + 0x50]
cmp rdx, r8
jne 0x1401ecf30
mov eax, dword [r13 + 0xcc]
test al, 4
jne case.0x1401ecd41.82
test al, 8
je 0x1401ecf30
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp r8, rcx
jne 0x1401ecf30
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
cmp rdx, qword [r13 + 0x88]
jae 0x1401f6d40
mov eax, dword [r13 + 0xd0]
or eax, dword [r13 + 0xcc]
bt eax, 0x1d
jae 0x1401f6d40
test r10b, r10b
jne 0x1401f6d39
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov edx, dword [r13 + 0xdc]
mov rcx, qword [r12 + 0x50]
test edx, edx
je 0x1401ed054
lea rbx, [r13 + 0x88]
mov r8, qword [rbx]
cmp rcx, r8
jae 0x1401ecfa6
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
test eax, eax
je 0x1401ecfa6
mov eax, 1
jmp 0x1401ecfa8
xor eax, eax
test eax, eax
jne case.0x1401ecd41.82
lea r8, [0x140000000]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401ecd41.12
mov rax, qword [rbx]
mov rcx, qword [r12 + 0x50]
sub rax, 2
cmp rcx, rax
jne case.0x1401ecd41.12
cmp dword [r13 + 0xdc], 0
jne case.0x1401ecd41.12
cmp dword [r13 + 0xe0], 2
jne case.0x1401ecd41.12
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne case.0x1401ecd41.12
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401ef939
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jb 0x1401ed0a4
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401ecd41.82
cmp rcx, qword [r13 + 0x98]
ja 0x1401ed039
cmp dword [r13 + 0x34], 0
je case.0x1401ecd41.82
cmp ax, 1
mov dword [r13 + 0x2c], 1
ja 0x1401ef939
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
ja 0x1401ed098
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401ed098
cmp edx, 1
je case.0x1401ecd41.82
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401ed098
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
lea rbx, [r13 + 0x88]
jmp 0x1401ecfb7
add rcx, 2
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401ed0d9
cmp rcx, qword [r13 + 0x88]
jae 0x1401ed0d9
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401ed0d9
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd10
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401ed139
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401ecd41.82
cmp rax, qword [r13 + 0x98]
ja 0x1401ed11e
cmp dword [r13 + 0x34], 0
je case.0x1401ecd41.82
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
add rax, 2
mov qword [r12 + 0x50], rax
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd10
test r14d, r14d
je 0x1401ed201
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 0x1401ed18f
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 0x1401ed1d0
cmp r8, rcx
jb case.0x1401ecd41.82
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401ecd41.82
cmp r8, qword [r13 + 0x98]
jmp 0x1401ed02c
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.0x1401ecd41.82
sub rdx, 1
mov qword [r12 + 0x18], rdx
jne 0x1401ed1d0
jmp 0x1401ecd09
mov r8, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
sub rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 2
jl 0x1401ed1b2
movzx edx, word [rbx + 2]
lea rax, [r8 + 2]
movzx ecx, word [r8]
mov qword [r12 + 0x50], rax
cmp dx, cx
jne case.0x1401ecd41.82
lea rax, [rbx + 4]
mov qword [r12], rax
jmp 0x1401ecd09
mov r9, qword [r12 + 0x50]
cmp r9, qword [r13 + 0x88]
jb 0x1401ed269
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401ecd41.82
cmp r9, qword [r13 + 0x98]
jmp 0x1401ed02c
test r14d, r14d
je 0x1401ed3bf
add rbx, 2
mov qword [r12 + 0x18], 1
mov qword [r12], rbx
mov ecx, 0xfc00
mov edx, 0xd800
mov r10d, 1
movzx r8d, word [rbx]
mov eax, r8d
and eax, ecx
cmp eax, edx
jne 0x1401ed2d6
movzx ecx, word [rbx + 2]
and r8d, 0x3ff
mov eax, r8d
and ecx, 0x3ff
shl eax, 0xa
mov r8d, ecx
or r8d, eax
mov ecx, 0xfc00
mov eax, 2
add r8d, 0x10000
mov qword [r12 + 0x18], rax
mov r10d, eax
movzx edx, word [r9]
mov eax, 0x80
cmp r8d, eax
jae 0x1401ed31f
mov eax, 0xff
cmp edx, eax
ja 0x1401ed2f5
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.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
lea rax, [r9 + 2]
mov qword [r12 + 0x50], rax
xor r9d, r9d
jmp 0x1401ecd09
add r9, 2
mov eax, edx
and eax, ecx
mov qword [r12 + 0x50], r9
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ed35d
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, [rbx + r10*2]
mov r9d, 0
mov qword [r12], rax
cmp edx, r8d
je 0x1401ecd09
lea r10, [0x140000000]
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3c0394]
add ecx, r8d
cmp edx, ecx
je 0x1401ecd09
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
test r11d, r11d
je 0x1401ed469
movzx edx, word [rbx + 2]
mov eax, 0x80
movzx r8d, word [r9]
cmp edx, eax
jae 0x1401ed406
mov eax, 0xff
cmp r8d, eax
ja 0x1401ed3ec
mov rax, qword [r13 + 0x38]
movzx r8d, byte [r8 + rax]
mov rax, qword [r13 + 0x38]
movzx ecx, byte [rdx + rax]
cmp ecx, r8d
je 0x1401ed4a7
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
cmp r8d, edx
je 0x1401ed4a7
mov eax, edx
test edx, edx
jns 0x1401ed418
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401ed440
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x3c89a0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3c0394]
add ecx, edx
cmp r8d, ecx
je 0x1401ed4a7
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx eax, word [rbx + 2]
mov edx, 0xff
cmp ax, dx
ja 0x1401ed484
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx r8d, byte [rcx + rax]
jmp 0x1401ed487
mov r8d, eax
movzx eax, word [r9]
cmp ax, dx
ja 0x1401ed49c
mov ecx, eax
mov rax, qword [r13 + 0x38]
movzx edx, byte [rcx + rax]
jmp 0x1401ed49e
mov edx, eax
cmp r8d, edx
jne case.0x1401ecd41.82
lea rax, [r9 + 2]
xor r9d, r9d
mov qword [r12 + 0x50], rax
lea rax, [rbx + 4]
mov qword [r12], rax
jmp 0x1401ecd09
mov r9, qword [r12 + 0x50]
cmp r9, qword [r13 + 0x88]
jae 0x1401ed24f
lea rax, [rbx + 2]
test r14d, r14d
je 0x1401ed5de
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 0x1401ed52c
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 0x1401ed56f
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.0x1401ecd41.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401ecd09
lea r10, [0x140000000]
cmp edx, 0x7f
jbe 0x1401ed5c4
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x3c0394]
jmp 0x1401ed5cc
mov rax, qword [r13 + 0x40]
movzx edx, byte [rax + rdx]
cmp edx, r8d
jne 0x1401ecd09
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx r8d, word [r9]
lea rdx, [r9 + 2]
test r11d, r11d
je 0x1401ed68a
mov qword [r12 + 0x50], rdx
movzx edx, word [rax]
lea rax, [rbx + 4]
mov qword [r12], rax
cmp edx, r8d
je case.0x1401ecd41.82
mov r9d, 0
cmp r10b, 0x20
jne 0x1401ecd09
cmp edx, 0x7f
jbe 0x1401ed669
mov eax, edx
test edx, edx
jns 0x1401ed626
lea eax, [rdx + 0x7f]
sar eax, 7
lea r10, [0x140000000]
cdqe
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jge 0x1401ed64e
dec eax
or eax, 0xffffff80
inc eax
add eax, ecx
cdqe
movzx eax, word [r10 + rax*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
add edx, dword [r10 + rcx*4 + 0x3c0394]
jmp 0x1401ed678
mov rax, qword [r13 + 0x40]
lea r10, [0x140000000]
movzx edx, byte [rax + rdx]
cmp edx, r8d
jne 0x1401ecd09
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx ecx, word [rax]
mov qword [r12 + 0x50], rdx
cmp ecx, r8d
je case.0x1401ecd41.82
cmp r10b, 0x20
jne 0x1401ed6bb
mov eax, 0xff
cmp ecx, eax
ja 0x1401ed6bb
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rcx]
cmp ecx, r8d
je case.0x1401ecd41.82
lea rax, [rbx + 4]
xor r9d, r9d
mov qword [r12], rax
jmp 0x1401ecd09
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 0x1401ed84d
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 0x1401ed84d
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 0x1401ed845
mov r15d, r9d
mov dword [rsp + 0x108], r9d
jmp 0x1401ed6fd
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 0x1401ed84d
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
mov r8d, 1
jmp 0x1401ed84d
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 0x1401ed84d
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 + 0x3bdc58]
mov eax, dword [rcx + r10 + 0x3bdc88]
mov r15d, dword [rcx + r10 + 0x3bdcb8]
mov dword [r12 + 0x38], r8d
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
test r14d, r14d
je 0x1401edafd
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 0x1401edaf2
movzx eax, word [rcx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
mov qword [r12 + 0x18], rax
add edx, 0x10000
lea rax, [rbx + 4]
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401ed8f2
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3c0394]
add ecx, edx
cmp ecx, edx
je 0x1401ed8f2
lea rdx, [r12 + 0x4a]
call fcn.140224b30
mov eax, eax
jmp 0x1401ed8f5
mov rax, r9
mov qword [r12 + 0x28], rax
mov ebp, 1
mov eax, dword [r12 + 0x38]
cmp eax, ebp
jb 0x1401ed9a1
nop dword [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 0x1401ed94a
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
jne 0x1401ed94a
lea rax, [rdi + rbx]
jmp 0x1401ed986
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401eda65
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401eda65
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
jne 0x1401eda65
lea rax, [rbx + rdi]
mov edx, 0x50
mov rcx, r12
inc ebp
mov qword [rcx + rdx], rax
mov eax, dword [r12 + 0x38]
cmp ebp, eax
jbe 0x1401ed910
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 0x1401ecce0
test r15d, r15d
je 0x1401f6727
mov rbx, qword [r12 + 0x50]
mov qword [r12 + 8], rbx
cmp eax, ecx
jae 0x1401edab9
mov rax, qword [r12 + 0x18]
mov rsi, qword [r13 + 0x88]
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401eda1f
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
je 0x1401eda4b
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1401eda88
add rdi, rdi
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401eda88
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
jne 0x1401eda88
add rbx, rdi
mov ecx, 0x50
mov rax, r12
inc ebp
mov qword [rax + rcx], rbx
cmp ebp, dword [r12 + 0x3c]
jb 0x1401ed9f0
jmp 0x1401edab9
cmp rbx, rsi
jb case.0x1401ecd41.82
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401ecd41.82
cmp rbx, qword [r13 + 0x98]
jmp 0x1401ed02c
cmp rbx, rsi
jb 0x1401edab9
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401edab9
cmp rbx, qword [r13 + 0x98]
ja 0x1401edaa7
cmp dword [r13 + 0x34], 0
je 0x1401edab9
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
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 0x1401ecd10
jmp 0x1401f4e1f
mov qword [r12], rcx
mov dword [r12 + 0x40], edx
jmp 0x1401edb0d
movzx edx, word [rbx]
lea rax, [rbx + 2]
mov dword [r12 + 0x40], edx
mov qword [r12], rax
cmp byte [r12 + 0x49], 0x2e
jb 0x1401edc9f
test r14d, r14d
jne 0x1401edb23
test r11d, r11d
je 0x1401edb5a
cmp edx, 0x7f
jbe 0x1401edb5a
mov eax, edx
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rax, [rax + rax*2]
mov ecx, dword [r10 + rax*4 + 0x3c0394]
add ecx, edx
jmp 0x1401edb6f
mov eax, 0xff
cmp edx, eax
ja 0x1401edb6d
mov rax, qword [r13 + 0x40]
movzx ecx, byte [rax + rdx]
jmp 0x1401edb6f
mov ecx, edx
mov r9d, 1
mov dword [r12 + 0x44], ecx
cmp r8d, r9d
jb 0x1401edbba
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
movzx ecx, word [rax]
mov edx, dword [r12 + 0x40]
cmp edx, ecx
je 0x1401edba9
cmp dword [r12 + 0x44], ecx
jne 0x1401ed3b6
add rax, 2
inc r9d
mov qword [r12 + 0x50], rax
cmp r9d, r8d
jbe 0x1401edb80
mov r9d, dword [r12 + 0x3c]
mov r10d, r8d
cmp r8d, r9d
lea r8, [0x140000000]
je 0x1401ed0e6
test r15d, r15d
je 0x1401f4448
mov rax, qword [r12 + 0x50]
mov qword [r12 + 8], rax
cmp r10d, r9d
jae 0x1401edc83
nop
cmp rax, qword [r13 + 0x88]
jae 0x1401edc57
movzx ecx, word [rax]
cmp edx, ecx
je 0x1401edc07
cmp dword [r12 + 0x44], ecx
jne 0x1401edc83
add rax, 2
inc r10d
mov qword [r12 + 0x50], rax
cmp r10d, r9d
jb 0x1401edbf0
jmp 0x1401edc83
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ed3b6
cmp rax, qword [r13 + 0x98]
ja 0x1401edc3c
cmp dword [r13 + 0x34], 0
je 0x1401ed3b6
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401edc83
cmp rax, qword [r13 + 0x98]
ja 0x1401edc71
cmp dword [r13 + 0x34], 0
je 0x1401edc83
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f4475
mov r9d, 1
cmp r8d, r9d
jb 0x1401edce1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne 0x1401ed3b6
inc r9d
cmp r9d, r8d
jbe 0x1401edcb0
mov edx, dword [r12 + 0x3c]
mov r9d, r8d
cmp r8d, edx
lea r8, [0x140000000]
je 0x1401ed0e6
test r15d, r15d
je 0x1401f44e5
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
cmp r9d, edx
jae 0x1401edd63
cmp rcx, qword [r13 + 0x88]
jae 0x1401edd37
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
jne 0x1401edd63
add rcx, 2
inc r9d
mov qword [r12 + 0x50], rcx
cmp r9d, edx
jb 0x1401edd11
jmp 0x1401edd63
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401edd63
cmp rcx, qword [r13 + 0x98]
ja 0x1401edd51
cmp dword [r13 + 0x34], 0
je 0x1401edd63
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f4512
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 0x1401edee0
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 0x1401eded8
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 0x1401edee0
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 0x1401edee0
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
mov edx, 1
jmp 0x1401edee0
mov dword [r12 + 0x38], r9d
mov dword [r12 + 0x3c], 1
jmp 0x1401ede0a
mov eax, 2
mov r15d, eax
mov dword [rsp + 0x108], eax
jmp 0x1401eddd7
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 + 0x3bdc58]
mov eax, dword [rcx + r10 + 0x3bdc88]
mov r15d, dword [rcx + r10 + 0x3bdcb8]
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 0x1401edf39
mov r9d, 0xfc00
mov eax, ecx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401edf39
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 0x1401ee1f4
test r14d, r14d
jne 0x1401edf4f
test r11d, r11d
je 0x1401edf8a
cmp r8d, 0x7f
jbe 0x1401edf8a
mov eax, r8d
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
mov eax, r8d
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rax, [rax + rax*2]
mov r10d, dword [r10 + rax*4 + 0x3c0394]
add r10d, r8d
jmp 0x1401edfa5
mov eax, 0xff
cmp r8d, eax
ja 0x1401edfa2
mov rax, qword [r13 + 0x40]
mov ecx, r8d
movzx r10d, byte [rax + rcx]
jmp 0x1401edfa5
mov r10d, r8d
mov dword [r12 + 0x44], r10d
test r14d, r14d
je 0x1401ee02b
mov r11d, 1
cmp edx, r11d
jb 0x1401ee026
mov ebx, 0xfc00
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx ecx, word [rax]
lea r9, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], r9
and eax, ebx
cmp eax, 0xd800
jne 0x1401ee00c
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.0x1401ecd41.82
cmp r10d, ecx
je case.0x1401ecd41.82
inc r11d
cmp r11d, edx
jbe 0x1401edfc0
mov r11d, edx
jmp 0x1401ee078
mov r9d, 1
mov r11d, edx
cmp edx, r9d
jb 0x1401ee078
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx ecx, word [rax]
cmp r8d, ecx
je case.0x1401ecd41.82
cmp r10d, ecx
je case.0x1401ecd41.82
add rax, 2
inc r9d
mov qword [r12 + 0x50], rax
cmp r9d, edx
jbe 0x1401ee040
mov r9d, dword [r12 + 0x3c]
lea r8, [0x140000000]
cmp edx, r9d
je 0x1401ed0de
test r15d, r15d
je 0x1401f64ba
mov r8, qword [r12 + 0x50]
mov qword [r12 + 8], r8
test r14d, r14d
je 0x1401ee171
cmp r11d, r9d
jae 0x1401ee14d
mov ebx, 0xd800
mov r10d, 0xfc00
nop dword [rax]
cmp r8, qword [r13 + 0x88]
jae 0x1401ee121
movzx edx, word [r8]
mov ecx, 1
mov eax, edx
and eax, r10d
cmp eax, ebx
jne 0x1401ee100
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 0x1401ee14d
cmp dword [r12 + 0x44], edx
je 0x1401ee14d
inc r11d
lea r8, [r8 + rcx*2]
mov qword [r12 + 0x50], r8
cmp r11d, r9d
jb 0x1401ee0c0
jmp 0x1401ee14d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee14d
cmp r8, qword [r13 + 0x98]
ja 0x1401ee13b
cmp dword [r13 + 0x34], 0
je 0x1401ee14d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov r11d, dword [rsp + 0xe0]
mov r9d, 0
lea r8, [0x140000000]
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f4f20
cmp r11d, r9d
jae 0x1401ee1d0
cmp r8, qword [r13 + 0x88]
jae 0x1401ee1a4
movzx eax, word [r8]
cmp dword [r12 + 0x40], eax
je 0x1401ee1d0
cmp dword [r12 + 0x44], eax
je 0x1401ee1d0
add r8, 2
inc r11d
mov qword [r12 + 0x50], r8
cmp r11d, r9d
jb 0x1401ee176
jmp 0x1401ee1d0
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee1d0
cmp r8, qword [r13 + 0x98]
ja 0x1401ee1be
cmp dword [r13 + 0x34], 0
je 0x1401ee1d0
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov r11d, dword [rsp + 0xe0]
mov r9d, 0
lea r8, [0x140000000]
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f45ff
mov r9d, 1
test r14d, r14d
je 0x1401ee273
cmp edx, r9d
jb 0x1401ee2b4
mov ebx, 0xfc00
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, ebx
cmp eax, 0xd800
jne 0x1401ee25b
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 0x1401ed3b6
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401ee210
jmp 0x1401ee2b4
cmp edx, r9d
jb 0x1401ee2b4
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp r8d, ecx
je 0x1401ed3b6
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401ee280
mov r9d, dword [r12 + 0x3c]
lea r8, [0x140000000]
cmp edx, r9d
je 0x1401ed0e6
test r15d, r15d
je 0x1401f64da
mov rdx, qword [r12 + 0x50]
mov qword [r12 + 8], rdx
mov r10d, dword [r12 + 0x38]
test r14d, r14d
je 0x1401ee3a9
cmp r10d, r9d
jae 0x1401ee38d
mov ebx, 0xfc00
nop dword [rax + rax]
cmp rdx, qword [r13 + 0x88]
jae 0x1401ee361
movzx r8d, word [rdx]
mov ecx, 1
mov eax, r8d
and eax, ebx
cmp eax, 0xd800
jne 0x1401ee347
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 0x1401ee38d
inc r10d
lea rdx, [rdx + rcx*2]
mov qword [r12 + 0x50], rdx
cmp r10d, r9d
jb 0x1401ee300
jmp 0x1401ee38d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee38d
cmp rdx, qword [r13 + 0x98]
ja 0x1401ee37b
cmp dword [r13 + 0x34], 0
je 0x1401ee38d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f5008
cmp r10d, r9d
jae 0x1401ee402
nop
cmp rdx, qword [r13 + 0x88]
jae 0x1401ee3d6
movzx eax, word [rdx]
cmp dword [r12 + 0x40], eax
je 0x1401ee402
add rdx, 2
inc r10d
mov qword [r12 + 0x50], rdx
cmp r10d, r9d
jb 0x1401ee3b0
jmp 0x1401ee402
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee402
cmp rdx, qword [r13 + 0x98]
ja 0x1401ee3f0
cmp dword [r13 + 0x34], 0
je 0x1401ee402
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
lea r8, [0x140000000]
mov r9d, 0
cmp r15d, 2
je 0x1401ecd10
jmp 0x1401f469c
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.0x1401ee452
cdqe
mov ecx, dword [r10 + rax*4 + 0x1f721c]
add rcx, r10
jmp rcx
lea rax, [rbx + 2]
mov qword [r12], rax
lea eax, [rdx - 0x62]
mov edx, dword [r10 + rax*4 + 0x3bdc58]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x3bdc88]
mov dword [r12 + 0x38], edx
mov dword [r12 + 0x3c], eax
mov r15d, dword [r10 + rcx*4 + 0x3bdcb8]
mov dword [rsp + 0x108], r15d
jmp 0x1401ee4e0
movzx edx, word [rbx + 2]
mov dword [r12 + 0x38], edx
movzx eax, word [rbx + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401ee4ac
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [rbx]
mov r15d, dword [r10 + rax*4 + 0x3bdb30]
lea rax, [rbx + 6]
mov qword [r12], rax
mov dword [rsp + 0x108], r15d
jmp 0x1401ee4e0
mov dword [r12 + 0x3c], 1
mov edx, 1
mov dword [r12 + 0x38], 1
mov r9d, 1
test r14d, r14d
je 0x1401ee5b1
cmp edx, r9d
jb 0x1401ee626
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
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 0x1401ee55e
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 0x1401ee57c
cmp byte [r12 + 0x49], 0x6e
jne 0x1401ee59e
xor edi, edi
mov r15d, eax
mov ebx, edi
jmp 0x1401ece24
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 0x1401ed3b6
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401ee500
jmp 0x1401ee626
cmp edx, r9d
jb 0x1401ee626
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401edc1a
movzx r8d, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
mov eax, 0xff
cmp r8d, eax
jbe 0x1401ee5f7
cmp byte [r12 + 0x49], 0x6e
je 0x1401ee570
jmp 0x1401ee619
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 0x1401ed3b6
mov edx, dword [r12 + 0x38]
inc r9d
cmp r9d, edx
jbe 0x1401ee5c0
mov r11d, dword [r12 + 0x3c]
mov r9d, 0
cmp edx, r11d
je 0x1401eccf7
test r15d, r15d
je 0x1401f64fa
mov r9, qword [r12 + 0x50]
mov qword [r12 + 8], r9
mov ebx, dword [r12 + 0x38]
test r14d, r14d
je 0x1401ee751
cmp ebx, r11d
jae 0x1401ee737
nop dword [rax]
nop dword [rax + rax]
cmp r9, qword [r13 + 0x88]
jae 0x1401ee70b
movzx r8d, word [r9]
mov ecx, 0xfc00
mov eax, r8d
mov r10d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ee6c5
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 0x1401ee6d7
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401ee6f3
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 0x1401ee737
inc ebx
lea r9, [r9 + r10*2]
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401ee670
jmp 0x1401ee737
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee737
cmp r9, qword [r13 + 0x98]
ja 0x1401ee725
cmp dword [r13 + 0x34], 0
je 0x1401ee737
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
cmp r15d, 2
jne 0x1401f6701
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd09
cmp ebx, r11d
jae 0x1401ee7cf
cmp r9, qword [r13 + 0x88]
jae 0x1401ee7a3
movzx eax, word [r9]
mov ecx, 0xff
cmp eax, ecx
jbe 0x1401ee774
cmp byte [r12 + 0x49], 0x6e
jmp 0x1401ee78f
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 0x1401ee7cf
add r9, 2
inc ebx
mov qword [r12 + 0x50], r9
cmp ebx, r11d
jb 0x1401ee756
jmp 0x1401ee7cf
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ee7cf
cmp r9, qword [r13 + 0x98]
ja 0x1401ee7bd
cmp dword [r13 + 0x34], 0
je 0x1401ee7cf
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
cmp r15d, 2
jne 0x1401f43d1
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd09
lea rax, [rbx + 4]
mov qword [r12 + 0x10], rax
movzx eax, word [rbx + 2]
lea r8, [rbx + rax*2]
mov qword [r12], r8
movzx edx, word [r8]
lea eax, [rdx - 0x62]
cmp eax, 0xb
ja case.default.0x1401ee822
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1f724c]
add rcx, r10
jmp rcx
lea rax, [r8 + 2]
mov qword [r12], rax
lea rdi, [r12 + 0x38]
lea eax, [rdx - 0x62]
mov edx, dword [r10 + rax*4 + 0x3bdc58]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x3bdc88]
mov dword [rdi], edx
mov dword [r12 + 0x3c], eax
mov r15d, dword [r10 + rcx*4 + 0x3bdcb8]
jmp 0x1401ee88e
movzx edx, word [r8 + 2]
lea rdi, [r12 + 0x38]
mov dword [rdi], edx
movzx eax, word [r8 + 4]
mov dword [r12 + 0x3c], eax
test eax, eax
jne 0x1401ee87a
mov dword [r12 + 0x3c], 0xffffffff
movzx eax, word [r8]
mov r15d, dword [r10 + rax*4 + 0x3bdb30]
lea rax, [r8 + 6]
mov qword [r12], rax
mov ebx, 1
mov dword [rsp + 0x108], r15d
cmp edx, ebx
jb 0x1401ee939
jmp 0x1401ee8c1
mov dword [r12 + 0x3c], 1
lea rdi, [r12 + 0x38]
mov dword [r12 + 0x38], 1
mov ebx, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401ee91c
mov r8d, 0xfc00
mov eax, ecx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401ee91c
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.140227bf0
test eax, eax
je case.0x1401ecd41.82
mov edx, dword [rdi]
inc ebx
cmp ebx, edx
jbe 0x1401ee8c1
mov eax, dword [r12 + 0x3c]
lea r8, [0x140000000]
mov rdi, qword [rsp + 0x100]
mov r9d, 0
mov r11d, dword [rsp + 0xe0]
cmp edx, eax
je 0x1401ecd10
test r15d, r15d
je 0x1401f66d1
mov rcx, qword [r12 + 0x50]
mov qword [r12 + 8], rcx
mov edi, dword [r12 + 0x38]
cmp edi, eax
jae 0x1401eea2f
cmp rcx, qword [r13 + 0x88]
jae 0x1401eea03
movzx r9d, word [rcx]
mov ebx, 1
test r14d, r14d
je 0x1401ee9d6
mov edx, 0xfc00
mov eax, r9d
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x1401ee9d6
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.140227bf0
test eax, eax
je 0x1401eea2f
lea rax, [rbx + rbx]
inc edi
add qword [r12 + 0x50], rax
mov rcx, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401ee983
jmp 0x1401eea2f
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401eea2f
cmp rcx, qword [r13 + 0x98]
ja 0x1401eea1d
cmp dword [r13 + 0x34], 0
je 0x1401eea2f
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
cmp r15d, 2
jne 0x1401f4c18
mov rdi, qword [rsp + 0x100]
xor r9d, r9d
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401eea8a
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401ecd41.82
cmp rax, qword [r13 + 0x98]
ja 0x1401eea81
cmp dword [r13 + 0x34], 0
je case.0x1401ecd41.82
cmp cx, 1
jmp 0x1401ed03d
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eead5
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eead5
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 0x1401eec75
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401eec75
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401eeb54
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401eeb54
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.0x1401ecd41.82
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd10
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eebd9
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eebd9
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 0x1401eec75
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401eec75
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eec5a
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eec5a
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.0x1401ecd41.82
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd09
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eecdf
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eecdf
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 0x1401eec75
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401eec75
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401eed56
mov r10d, 0xfc00
mov eax, ecx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401eed56
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.0x1401ecd41.82
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd10
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x88]
jae 0x1401ed1b2
movzx edx, word [r8]
add r8, 2
mov qword [r12 + 0x50], r8
mov rcx, r8
test r14d, r14d
je 0x1401eede3
mov r10d, 0xfc00
mov eax, edx
and eax, r10d
mov r10d, 0xd800
cmp eax, r10d
jne 0x1401eede3
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 0x1401eee4c
je 0x1401eedf4
sub edx, 0xa
je case.0x1401eef58.8194
sub edx, 1
jmp 0x1401eee5a
cmp rcx, qword [r13 + 0x88]
jb 0x1401eee33
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401eef58.8194
cmp rcx, qword [r13 + 0x98]
ja 0x1401eee17
cmp dword [r13 + 0x34], 0
je case.0x1401eef58.8194
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
add qword [r12], 2
jmp 0x1401ecd09
cmp word [rcx], 0xa
jne case.0x1401eef58.8194
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
add qword [r12], 2
jmp 0x1401ecd09
sub edx, 0x85
je 0x1401eee65
sub edx, 0x1fa3
je 0x1401eee65
cmp edx, 1
jne case.0x1401ecd41.82
cmp word [r13 + 0x62], 2
jne case.0x1401eef58.8194
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eeed3
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eeed3
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 0x1401eef1f
je 0x1401eef09
cmp edx, 9
je 0x1401eef09
cmp edx, 0x20
je 0x1401eef09
mov eax, 0xa0
cmp edx, eax
je 0x1401eef09
mov eax, 0x1680
cmp edx, eax
je 0x1401eef09
mov eax, 0x180e
cmp edx, eax
jne case.0x1401eef58.8194
lea r10, [0x140000000]
xor edi, edi
mov ebx, edi
mov r15d, 0xff
jmp 0x1401ece2a
mov eax, 0x3000
cmp edx, eax
ja case.0x1401eef58.8194
je 0x1401eef09
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401eef58.8194
lea r10, [0x140000000]
movzx eax, byte [r10 + rdx + 0x1f7284]
mov ecx, dword [r10 + rax*4 + 0x1f727c]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401eefb7
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401eefb7
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 0x1401ef006
je case.0x1401eef58.8194
cmp edx, 9
je case.0x1401eef58.8194
cmp edx, 0x20
je case.0x1401eef58.8194
mov eax, 0xa0
cmp edx, eax
je case.0x1401eef58.8194
mov eax, 0x1680
cmp edx, eax
je case.0x1401eef58.8194
mov eax, 0x180e
cmp edx, eax
je case.0x1401eef58.8194
jmp 0x1401eef09
mov eax, 0x3000
cmp edx, eax
ja 0x1401eef09
je case.0x1401eef58.8194
add edx, 0xffffdfff
lea r10, [0x140000000]
cmp edx, 0x5e
ja case.0x1401eef58.8193
movzx eax, byte [r10 + rdx + 0x1f72ec]
mov ecx, dword [r10 + rax*4 + 0x1f72e4]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401ef0a2
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ef0a2
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 0x1401ef0c7
je case.0x1401ecd41.82
sub edx, 0xa
je case.0x1401ecd41.82
sub edx, 1
je case.0x1401ecd41.82
cmp edx, 1
jmp 0x1401eec6f
sub edx, 0x85
je case.0x1401ecd41.82
sub edx, 0x1fa3
je case.0x1401ecd41.82
cmp edx, 1
je case.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd09
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401ef152
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ef152
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 0x1401ef16b
je 0x1401eec75
sub edx, 0xa
je 0x1401eec75
sub edx, 1
jmp 0x1401ef17d
sub edx, 0x85
je 0x1401eec75
sub edx, 0x1fa3
je 0x1401eec75
cmp edx, 1
je 0x1401eec75
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401eea5f
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401ef1f2
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ef1f2
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 + 0x3c45a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
cmp r10b, 0xf
sete r9b
movzx eax, word [r8 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 2]
lea r8, [r8 + rcx*4]
lea r8, [r8 + 0x3c0390]
cmp eax, 0xd
ja case.0x1401f4795.15
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1f734c]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp r10b, 0xf
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
movzx ecx, byte [r8 + 1]
lea eax, [rcx - 8]
cmp al, 1
jbe 0x1401ef281
cmp cl, 5
je 0x1401ef281
xor eax, eax
jmp 0x1401ef286
mov eax, 1
cmp eax, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
movzx edx, byte [r8 + 1]
lea r10, [0x140000000]
movzx eax, word [rbx + 4]
xor ecx, ecx
cmp eax, dword [r10 + rdx*4 + 0x3dbed0]
sete cl
cmp ecx, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx eax, byte [r8 + 1]
xor ecx, ecx
cmp word [rbx + 4], ax
sete cl
cmp ecx, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
movzx eax, byte [r8]
jmp 0x1401ef2cc
movzx ecx, word [rbx + 4]
lea r10, [0x140000000]
movzx eax, byte [r8]
cmp cx, ax
je 0x1401ef32a
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 + 0x3c0090]
bt eax, ecx
jb 0x1401ef32a
xor eax, eax
jmp 0x1401ef32f
mov eax, 1
cmp eax, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x3dbed0]
mov eax, 0
dec ecx
test ecx, 0xfffffffd
sete al
cmp eax, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
mov eax, 0x2000
cmp edx, eax
ja 0x1401ef417
je case.0x1401ef257.0
cmp edx, 0x20
ja 0x1401ef3ee
je case.0x1401ef257.0
sub edx, 9
je case.0x1401ef257.0
sub edx, 1
je case.0x1401ef257.0
sub edx, 1
je case.0x1401ef257.0
sub edx, 1
je case.0x1401ef257.0
cmp edx, 1
je case.0x1401ef257.0
movzx ecx, byte [r8 + 1]
lea r10, [0x140000000]
xor eax, eax
cmp dword [r10 + rcx*4 + 0x3dbed0], 6
sete al
cmp eax, r9d
jne 0x1401ef563
xor edi, edi
mov ebx, edi
jmp 0x1401ece1e
sub edx, 0x85
je case.0x1401ef257.0
sub edx, 0x1b
je case.0x1401ef257.0
sub edx, 0x15e0
je case.0x1401ef257.0
cmp edx, 0x18e
jmp 0x1401ef3bc
mov eax, 0x3000
cmp edx, eax
ja case.0x1401ef44c.8194
je case.0x1401ef257.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401ef44c.8194
mov eax, edx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1f738c]
mov ecx, dword [rdx + rax*4 + 0x1f7384]
add rcx, rdx
jmp rcx
movzx eax, byte [r8 + 1]
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x3dbed0]
dec ecx
test ecx, 0xfffffffd
je 0x1401ef32a
cmp edx, 0x5f
je 0x1401ef32a
xor eax, eax
jmp 0x1401ef32f
movzx eax, word [rbx + 4]
lea r8, [0x140000000]
lea rcx, [r8 + 0x3bfdc0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401ef4ae
nop dword [rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401ef4c1
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401ef4a0
cmp r10b, 0xf
je 0x1401ef56a
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
cmp r10b, 0xf
jne 0x1401ef56a
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
lea eax, [rdx - 0x24]
cmp eax, 0x3c
ja 0x1401ef4f0
movabs rcx, 0x1000000010000001
bt rcx, rax
jb 0x1401ef281
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401ef281
cmp edx, 0xe000
jae 0x1401ef281
xor eax, eax
jmp 0x1401ef286
movzx eax, word [r8 + 8]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [rbx + 4]
jmp 0x1401ef2d2
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 + 0x3bf830]
xor edx, edx
bt eax, ecx
setb dl
cmp edx, r9d
je 0x1401ed3b6
lea r8, [0x140000000]
add qword [r12], 6
xor r9d, r9d
jmp 0x1401ecd10
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jb 0x1401ef59f
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401ecd41.82
cmp rdx, qword [r13 + 0x98]
jmp 0x1401ed02c
movzx r10d, word [rdx]
add rdx, 2
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401ef5f7
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401ef5f7
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.1402274f0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401ef651
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ef651
cmp rax, qword [r13 + 0x98]
ja 0x1401ef63f
cmp dword [r13 + 0x34], 0
je 0x1401ef651
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd09
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 0x1401ef7cb
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 0x1401ef7cd
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 0x1401ef7cd
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 0x1401ef7cb
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 0x1401ef7cd
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 0x1401ef7cd
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 + 0x3bdc58]
mov r15d, dword [rcx + r10 + 0x3bdcb8]
mov dword [r12 + 0x38], eax
mov eax, dword [rcx + r10 + 0x3bdc88]
mov dword [r12 + 0x3c], eax
mov dword [rsp + 0x108], r15d
xor edi, edi
movzx edx, word [rbx]
lea rcx, [rbx + 2]
mov dword [r12 + 0x40], edx
mov qword [r12], rcx
lea eax, [rdx - 0xf]
cmp eax, 1
jbe 0x1401ef7ec
mov esi, 0xffffffff
jmp 0x1401ef807
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 0x1401ef897
test esi, esi
js 0x1401f03ca
cmp edx, 0xf
mov r11d, edi
sete r11b
cmp esi, 0xd
ja case.0x1401f4795.15
movsxd rax, esi
mov ecx, dword [r10 + rax*4 + 0x1f73ec]
add rcx, r10
jmp rcx
cmp edx, 0xf
je 0x1401ed3b8
mov edx, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401ef890
mov r8d, 0xfc00
and ecx, r8d
mov r8d, 0xd800
cmp ecx, r8d
jne 0x1401ef890
add rax, 2
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401ef850
lea rbx, [0x140000000]
mov r8d, 0x2000
mov r11d, dword [r12 + 0x3c]
mov r9d, 0
mov edi, dword [r12 + 0x38]
cmp edi, r11d
je 0x1401ecce7
test r15d, r15d
je 0x1401f651a
mov r10, qword [r12 + 0x50]
mov qword [r12 + 8], r10
mov eax, dword [r12 + 0x40]
test esi, esi
js 0x1401f1e4e
cmp eax, 0xf
mov ebx, r9d
sete bl
cmp esi, 0xd
ja case.0x1401f4795.15
movsxd rax, esi
lea rsi, [0x140000000]
mov ecx, dword [rsi + rax*4 + 0x1f7424]
add rcx, rsi
jmp rcx
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ed3b8
cmp rax, qword [r13 + 0x98]
ja 0x1401ef927
cmp dword [r13 + 0x34], 0
je 0x1401ed3b8
mov dword [r13 + 0x2c], 1
cmp cx, 1
jbe 0x1401ed3b8
mov eax, 0xfffffffe
jmp 0x1401f6e27
mov r9d, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401ef9a9
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401ef9a9
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x3c0391]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401ef9e4
mov eax, edi
cmp dl, 8
jne 0x1401ef9e9
mov eax, 1
cmp eax, r11d
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401ef950
jmp 0x1401ef897
mov r10d, 1
lea rbx, [0x140000000]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401efac4
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401efa6f
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401efa6f
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [rbx + rcx*4 + 0x3c0391]
mov ecx, edi
cmp dword [rbx + rdx*4 + 0x3dbed0], eax
sete cl
cmp ecx, r11d
je 0x1401ecf29
inc r10d
cmp r10d, r9d
jbe 0x1401efa12
jmp 0x1401ef89e
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401ecf29
cmp rax, qword [r13 + 0x98]
ja 0x1401efae6
cmp dword [r13 + 0x34], 0
je 0x1401ecf29
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov ebx, edi
jmp 0x1401ece17
mov r8d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401efb67
mov ebx, 0xfc00
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401efb67
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ed3b8
inc r8d
cmp r8d, r9d
jbe 0x1401efb10
jmp 0x1401ef897
mov r10d, 1
lea rbx, [0x140000000]
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401efac4
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401efc2d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401efc2d
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [rbx + rcx*4 + 0x3c0390]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ecf29
inc r10d
cmp r10d, r9d
jbe 0x1401efbd0
jmp 0x1401ef89e
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401efcde
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401efcde
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3c0390]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401efd3f
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 + 0x3c0090]
bt eax, ecx
mov eax, edi
jae 0x1401efd44
mov eax, 1
cmp eax, r11d
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401efc81
jmp 0x1401ef897
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401efdcd
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401efdcd
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete al
cmp eax, r11d
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401efd70
jmp 0x1401ef897
mov r9d, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401effa9
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401efe9d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401efe9d
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 0x1401eff6a
je case.0x1401eff9c.8193
cmp edx, 0x20
ja 0x1401eff4e
je case.0x1401eff9c.8193
mov eax, edx
sub eax, 9
je case.0x1401eff9c.8193
sub eax, 1
je case.0x1401eff9c.8193
sub eax, 1
je case.0x1401eff9c.8193
sub eax, 1
je case.0x1401eff9c.8193
cmp eax, 1
je case.0x1401eff9c.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, edi
movzx edx, byte [r10 + rcx*4 + 0x3c0391]
cmp dword [r10 + rdx*4 + 0x3dbed0], 6
sete al
cmp eax, r11d
je case.0x1401f102d.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401efe40
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov eax, edx
sub eax, 0x85
je case.0x1401eff9c.8193
sub eax, 0x1b
je case.0x1401eff9c.8193
sub eax, 0x15e0
je case.0x1401eff9c.8193
cmp eax, 0x18e
jmp 0x1401efeea
mov eax, 0x3000
cmp edx, eax
ja case.0x1401eff9c.8194
je case.0x1401eff9c.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401eff9c.8194
movzx eax, byte [r10 + rax + 0x1f7464]
mov ecx, dword [r10 + rax*4 + 0x1f745c]
add rcx, r10
jmp rcx
test r11d, r11d
jne case.0x1401f102d.8193
jmp 0x1401eff34
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401f102d.8193
cmp rax, qword [r13 + 0x98]
ja 0x1401effcb
cmp dword [r13 + 0x34], 0
je case.0x1401f102d.8193
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov ebx, edi
mov r15d, 0xff
jmp 0x1401ece2a
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f004d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f004d
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 + 0x3c45a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
je 0x1401f0094
mov eax, edi
cmp edx, 0x5f
jne 0x1401f0099
mov eax, 1
cmp eax, r11d
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401efff0
jmp 0x1401ef897
mov r9d, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f011d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f011d
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 + 0x3bfdc0]
add rcx, r10
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401f0141
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401f016a
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401f0133
test r11d, r11d
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f00c0
mov r8d, 0x2000
lea rbx, [0x140000000]
jmp 0x1401ef8a4
test r11d, r11d
jne 0x1401ed3b8
jmp 0x1401f014a
mov r8d, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401f01db
mov r9d, 0xfc00
mov eax, ecx
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x1401f01db
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 0x1401f01f3
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x1401f020a
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401f020a
mov eax, edi
cmp ecx, 0xe000
jb 0x1401f020f
mov eax, 1
cmp eax, r11d
je 0x1401ed3b8
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0180
jmp 0x1401ef897
mov r10d, 1
lea rbx, [0x140000000]
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401efac4
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f029d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f029d
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + rcx*4 + 0x3c0398]
mov ecx, edi
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, r11d
je 0x1401ecf29
inc r10d
cmp r10d, r9d
jbe 0x1401f0240
jmp 0x1401ef89e
mov r10d, 1
lea rbx, [0x140000000]
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401efac4
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f035d
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f035d
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rbx + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rbx + rcx*4 + 0x3c039a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rbx + rdx*4 + 0x3bf830]
bt eax, r8d
mov edx, edi
setb dl
cmp edx, r11d
je 0x1401ecf29
inc r10d
cmp r10d, r9d
jbe 0x1401f0300
jmp 0x1401ef89e
cmp edx, 0x16
jne 0x1401f04b6
mov ebx, 1
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401efac4
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401f044a
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401f044a
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.1402274f0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401f04a4
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f04a4
cmp rax, qword [r13 + 0x98]
ja 0x1401f0492
cmp dword [r13 + 0x34], 0
je 0x1401f04a4
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401f03e0
jmp 0x1401ef897
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x1401f4795.15
test r14d, r14d
je 0x1401f0dbb
mov ecx, dword [r10 + rdx*4 + 0x1f74c4]
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 0x1401f05ec
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f051b
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
test eax, eax
jne 0x1401ecf29
jmp 0x1401f0556
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f0556
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f0556
cmp edx, 1
je 0x1401ecf29
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401ecf29
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401f05a5
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401f05a5
cmp dword [r13 + 0xdc], 0
jne 0x1401f05a5
cmp dword [r13 + 0xe0], 2
jne 0x1401f05a5
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f05a5
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401ef939
mov rcx, qword [r12 + 0x50]
add rcx, 2
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401f05da
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f05da
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401f04e0
jmp 0x1401ef897
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ecf29
cmp rcx, qword [r13 + 0x98]
ja 0x1401f060e
cmp dword [r13 + 0x34], 0
je 0x1401ecf29
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov ebx, edi
jmp 0x1401ece17
mov edx, 1
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401f0676
movzx eax, word [rcx]
mov r8d, 0xfc00
and ax, r8w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x1401f0676
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc edx
cmp edx, r9d
jbe 0x1401f0630
jmp 0x1401ef897
mov rdx, qword [r12 + 0x50]
mov r8d, 0x2000
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rdx, rax
jbe 0x1401f06aa
mov ebx, edi
mov r15d, 0xff
jmp 0x1401ece2a
lea rax, [rdx + r9*2]
mov qword [r12 + 0x50], rax
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
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 0x1401f0728
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r8, 2
mov qword [r12 + 0x50], r8
cmp edx, 0xd
ja 0x1401f0754
je 0x1401f0739
sub edx, 0xa
je 0x1401f0779
sub edx, 1
jmp 0x1401f0762
cmp r8, qword [r13 + 0x88]
jae 0x1401f0779
cmp word [r8], 0xa
jne 0x1401f0779
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
jmp 0x1401f0779
sub edx, 0x85
je 0x1401f076d
sub edx, 0x1fa3
je 0x1401f076d
cmp edx, 1
jne 0x1401ed3b8
cmp word [r13 + 0x62], 2
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f06d0
jmp 0x1401ef897
mov r9d, 1
mov r8d, 0x2000
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401effa9
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 0x1401f07f8
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 0x1401f085c
je case.0x1401f102d.8193
cmp edx, 9
je case.0x1401f102d.8193
cmp edx, 0x20
je case.0x1401f102d.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401f102d.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401f102d.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401f102d.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f07a0
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f088a.8194
je case.0x1401f102d.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f088a.8194
movzx eax, byte [r10 + rdx + 0x1f750c]
mov ecx, dword [r10 + rax*4 + 0x1f7504]
add rcx, r10
jmp rcx
mov r9d, 1
mov r8d, 0x2000
nop dword [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401effa9
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 0x1401f08f8
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 0x1401f0948
je case.0x1401f097a.8193
cmp edx, 9
je case.0x1401f097a.8193
cmp edx, 0x20
je case.0x1401f097a.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401f097a.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401f097a.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401f102d.8193
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f08a0
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f102d.8193
je case.0x1401f097a.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f102d.8193
movzx eax, byte [r10 + rdx + 0x1f7574]
mov ecx, dword [r10 + rax*4 + 0x1f756c]
add rcx, r10
jmp rcx
mov r9d, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
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 0x1401f09da
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 0x1401f09f3
je 0x1401ed3b8
sub edx, 0xa
je 0x1401ed3b8
sub edx, 1
jmp 0x1401f0a05
sub edx, 0x85
je 0x1401ed3b8
sub edx, 0x1fa3
je 0x1401ed3b8
cmp edx, 1
je 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f0982
jmp 0x1401ef897
mov r8d, 1
mov r9d, 0xfc00
mov r11d, 0xd800
nop dword [rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f0abb
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, r9d
cmp eax, r11d
jne 0x1401f0a86
movzx eax, word [rdx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
add ecx, 0x10000
cmp ecx, 0xd
ja 0x1401f0a97
je 0x1401f0aac
sub ecx, 0xa
je 0x1401f0aac
sub ecx, 1
jmp 0x1401f0aa5
sub ecx, 0x85
je 0x1401f0aac
sub ecx, 0x1fa3
je 0x1401f0aac
cmp ecx, 1
jne 0x1401f0ae7
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0a40
jmp 0x1401ef897
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f0ae7
cmp rax, qword [r13 + 0x98]
ja 0x1401f0ad5
cmp dword [r13 + 0x34], 0
je 0x1401f0ae7
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov ebx, edi
mov esi, r9d
mov ebp, r11d
mov r8d, 0x2000
mov r15d, 0xff
jmp case.0x1401ece8e.33
mov r9d, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
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 0x1401f0b68
movzx ecx, word [r8]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
lea rax, [r8 + 2]
mov qword [r12 + 0x50], rax
add edx, 0x10000
mov eax, 0x80
cmp edx, eax
jae 0x1401f0b7f
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne 0x1401ed3b8
inc r9d
cmp r9d, dword [r12 + 0x38]
jbe 0x1401f0b10
jmp 0x1401ef897
mov r8d, 1
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0ba0
jmp 0x1401ef897
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ed3b8
cmp rdx, qword [r13 + 0x98]
ja 0x1401f0c09
cmp dword [r13 + 0x34], 0
je 0x1401ed3b8
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov ebx, edi
jmp 0x1401ece1e
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401f0c5b
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne 0x1401ed3b8
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401f0c8b
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f0c8b
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0c30
jmp 0x1401ef897
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0ca0
jmp 0x1401ef897
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401f0d20
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne 0x1401ed3b8
lea rcx, [rdx + 2]
mov qword [r12 + 0x50], rcx
cmp rcx, qword [r13 + 0x88]
jae 0x1401f0d50
movzx eax, word [rcx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f0d50
lea rax, [rcx + 2]
mov qword [r12 + 0x50], rax
inc r8d
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0cf1
jmp 0x1401ef897
mov r8d, 1
nop word [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0x80
cmp ax, cx
jae 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f0d70
jmp 0x1401ef897
mov ecx, dword [r10 + rdx*4 + 0x1f75d4]
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 0x1401f05ec
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f0e0b
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
test eax, eax
jne 0x1401ecf29
jmp 0x1401f0e46
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f0e46
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f0e46
cmp edx, 1
je 0x1401ecf29
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401ecf29
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401f0e95
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401f0e95
cmp dword [r13 + 0xdc], 0
jne 0x1401f0e95
cmp dword [r13 + 0xe0], 2
jne 0x1401f0e95
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f0e95
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401ef939
add qword [r12 + 0x50], 2
inc ebx
cmp ebx, dword [r12 + 0x38]
jbe 0x1401f0dd0
jmp 0x1401ef897
mov rcx, qword [r12 + 0x50]
imul rax, r9, 0xfffffffffffffffe
add rax, qword [r13 + 0x88]
cmp rcx, rax
jbe 0x1401f0edc
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ed3b8
cmp rcx, qword [r13 + 0x98]
jmp 0x1401f0bfc
lea rax, [rcx + r9*2]
mov qword [r12 + 0x50], rax
jmp 0x1401ef897
mov edx, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401f0f39
je 0x1401f0f1f
sub ecx, 0xa
je 0x1401f0f5e
sub ecx, 1
jmp 0x1401f0f47
cmp rax, qword [r13 + 0x88]
jae 0x1401f0f5e
cmp word [rax], 0xa
jne 0x1401f0f5e
add rax, 2
mov qword [r12 + 0x50], rax
jmp 0x1401f0f5e
sub ecx, 0x85
je 0x1401f0f52
sub ecx, 0x1fa3
je 0x1401f0f52
cmp ecx, 1
jne 0x1401ed3b8
cmp word [r13 + 0x62], 2
je 0x1401ed3b8
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401f0ef0
jmp 0x1401ef897
mov edx, 1
mov r8d, 0x2000
nop word [rax + rax]
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401effa9
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401f0ffb
je case.0x1401f102d.8193
cmp ecx, 9
je case.0x1401f102d.8193
cmp ecx, 0x20
je case.0x1401f102d.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401f102d.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401f102d.8193
mov eax, 0x180e
cmp cx, ax
je case.0x1401f102d.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401f0f80
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov eax, 0x3000
cmp cx, ax
ja case.0x1401f102d.8194
je case.0x1401f102d.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401f102d.8194
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1f761c]
mov ecx, dword [r10 + rax*4 + 0x1f7614]
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 0x1401effa9
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp cx, r8w
ja 0x1401f10a7
je case.0x1401f10dd.8193
cmp ecx, 9
je case.0x1401f10dd.8193
cmp ecx, 0x20
je case.0x1401f10dd.8193
mov eax, 0xa0
cmp cx, ax
je case.0x1401f10dd.8193
mov eax, 0x1680
cmp cx, ax
je case.0x1401f10dd.8193
mov eax, 0x180e
cmp cx, ax
jne case.0x1401f102d.8193
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401f1040
lea rbx, [0x140000000]
jmp 0x1401ef8a4
mov eax, 0x3000
cmp cx, ax
ja case.0x1401f102d.8193
je case.0x1401f10dd.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x1401f102d.8193
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x1f7684]
mov ecx, dword [r10 + rax*4 + 0x1f767c]
add rcx, r10
jmp rcx
mov edx, 1
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401f111b
je 0x1401ed3b8
sub ecx, 0xa
je 0x1401ed3b8
sub ecx, 1
jmp 0x1401f112d
sub ecx, 0x85
je 0x1401ed3b8
sub ecx, 0x1fa3
je 0x1401ed3b8
cmp ecx, 1
je 0x1401ed3b8
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401f10e4
jmp 0x1401ef897
mov edx, 1
nop
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401ef905
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, 0xd
ja 0x1401f117f
je 0x1401f1198
sub ecx, 0xa
je 0x1401f1198
sub ecx, 1
jmp 0x1401f118d
sub ecx, 0x85
je 0x1401f1198
sub ecx, 0x1fa3
je 0x1401f1198
cmp ecx, 1
jne 0x1401ed3b8
inc edx
cmp edx, dword [r12 + 0x38]
jbe 0x1401f1150
jmp 0x1401ef897
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f11df
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne 0x1401ed3b8
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401f11b0
jmp 0x1401ef897
mov r8d, 1
nop dword [rax + rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f1200
jmp 0x1401ef897
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f1280
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne 0x1401ed3b8
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401f1251
jmp 0x1401ef897
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f12a0
jmp 0x1401ef897
mov r8d, 1
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f1320
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne 0x1401ed3b8
inc r8d
lea rax, [rdx + 2]
mov qword [r12 + 0x50], rax
cmp r8d, r9d
jbe 0x1401f12f1
jmp 0x1401ef897
mov r8d, 1
nop dword [rax]
mov rdx, qword [r12 + 0x50]
cmp rdx, qword [r13 + 0x88]
jae 0x1401f0be7
movzx eax, word [rdx]
mov ecx, 0xff
cmp ax, cx
ja 0x1401ed3b8
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je 0x1401ed3b8
lea rax, [rdx + 2]
inc r8d
mov qword [r12 + 0x50], rax
cmp r8d, dword [r12 + 0x38]
jbe 0x1401f1340
jmp 0x1401ef897
cmp edi, r11d
jae 0x1401f1e20
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
mov ecx, 1
test r14d, r14d
je 0x1401f13c0
mov eax, 0xfc00
mov edx, 0xd800
and ax, word [r10]
cmp ax, dx
mov eax, 2
cmove ecx, eax
test ebx, ebx
jne 0x1401f1e20
inc edi
lea r10, [r10 + rcx*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f1394
jmp 0x1401f1e20
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f1e20
cmp r10, qword [r13 + 0x98]
ja 0x1401f13fe
cmp dword [r13 + 0x34], r9d
je 0x1401f1e20
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1470
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1470
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx edx, byte [rsi + rcx*4 + 0x3c0391]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401f14a9
mov eax, r9d
cmp dl, 8
jne 0x1401f14ae
mov eax, 1
cmp eax, ebx
je 0x1401f1e20
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1420
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1534
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1534
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [rsi + rcx*4 + 0x3c0391]
mov ecx, r9d
cmp dword [rsi + rdx*4 + 0x3dbed0], eax
sete cl
cmp ecx, ebx
je 0x1401f1e20
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f14e0
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f15f4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f15f4
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3c0391]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401f1e20
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f15a0
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f16a7
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f16a7
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3c0390]
mov ecx, r9d
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401f1e20
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f1653
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1764
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1764
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3c0390]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + rsi]
cmp eax, ecx
je 0x1401f17c1
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 + 0x3c0090]
bt eax, ecx
mov eax, r9d
jae 0x1401f17c6
mov eax, 1
cmp eax, ebx
je 0x1401f1e20
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1710
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1846
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1846
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3c0391]
mov eax, dword [rsi + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
mov eax, r9d
sete al
cmp eax, ebx
je 0x1401f1e20
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f17f2
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1904
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1904
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 0x1401f19d4
je case.0x1401f1a04.8193
cmp edx, 0x20
ja 0x1401f19b5
je case.0x1401f1a04.8193
mov eax, edx
sub eax, 9
je case.0x1401f1a04.8193
sub eax, 1
je case.0x1401f1a04.8193
sub eax, 1
je case.0x1401f1a04.8193
sub eax, 1
je case.0x1401f1a04.8193
cmp eax, 1
je case.0x1401f1a04.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [rsi + rax*2 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, r9d
movzx edx, byte [rsi + rcx*4 + 0x3c0391]
cmp dword [rsi + rdx*4 + 0x3dbed0], 6
sete al
cmp eax, ebx
je 0x1401f1e20
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401f18b0
jmp 0x1401f1e20
mov eax, edx
sub eax, 0x85
je case.0x1401f1a04.8193
sub eax, 0x1b
je case.0x1401f1a04.8193
sub eax, 0x15e0
je case.0x1401f1a04.8193
cmp eax, 0x18e
jmp 0x1401f194f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f1a04.8194
je case.0x1401f1a04.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401f1a04.8194
movzx eax, byte [rsi + rax + 0x1f76ec]
mov ecx, dword [rsi + rax*4 + 0x1f76e4]
add rcx, rsi
jmp rcx
test ebx, ebx
jne 0x1401f1e20
jmp 0x1401f1995
cmp edi, r11d
jae 0x1401f1e20
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1a74
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1a74
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 + 0x3c45a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + rcx*4 + 0x3c0391]
mov eax, dword [rsi + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
je 0x1401f1ab8
mov eax, r9d
cmp edx, 0x5f
jne 0x1401f1abd
mov eax, 1
cmp eax, ebx
je 0x1401f1e20
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1a20
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1b44
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1b44
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 + 0x3bfdc0]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401f1b6e
nop word [rax + rax]
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401f1b96
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401f1b60
test ebx, ebx
je 0x1401f1e20
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1af0
jmp 0x1401f1e20
test ebx, ebx
jne 0x1401f1e20
jmp 0x1401f1b76
cmp edi, r11d
jae 0x1401f1e20
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov ecx, 1
test r14d, r14d
je 0x1401f1c06
mov r8d, 0xfc00
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401f1c06
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 0x1401f1c1e
movabs r8, 0x1000000010000001
bt r8, rax
jb 0x1401f1c36
lea eax, [rdx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401f1c36
mov eax, r9d
cmp edx, 0xe000
jb 0x1401f1c3b
mov eax, 1
cmp eax, ebx
je 0x1401f1e20
lea r10, [r10 + rcx*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1bb0
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f13dd
movzx edx, word [r10]
mov r8d, 1
test r14d, r14d
je 0x1401f1cc4
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1cc4
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*4 + 0x3c0398]
mov ecx, r9d
shr eax, 0xb
cmp eax, dword [r12 + 0x44]
sete cl
cmp ecx, ebx
je 0x1401f1e20
inc edi
lea r10, [r10 + r8*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f1c70
jmp 0x1401f1e20
cmp edi, r11d
jae 0x1401f1e20
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f1df1
movzx edx, word [r10]
mov r9d, 1
test r14d, r14d
je 0x1401f1d84
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f1d84
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [rsi + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [rsi + rcx*4 + 0x3c039a]
and r8d, 0x1f
and edx, 0xfff
shr rax, 5
add rdx, rax
mov eax, dword [rsi + rdx*4 + 0x3bf830]
xor edx, edx
bt eax, r8d
setb dl
cmp edx, ebx
je 0x1401f1e1d
inc edi
lea r10, [r10 + r9*2]
mov qword [r12 + 0x50], r10
cmp edi, r11d
jb 0x1401f1d30
jmp 0x1401f1e1d
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f1e1d
cmp r10, qword [r13 + 0x98]
ja 0x1401f1e0b
cmp dword [r13 + 0x34], 0
je 0x1401f1e1d
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
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 0x1401ecd10
jmp 0x1401f5e61
cmp eax, 0x16
jne 0x1401f1f95
cmp edi, r11d
jae 0x1401f1f61
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f1f35
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401f1eca
mov r8d, 0xfc00
mov eax, r10d
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
jne 0x1401f1eca
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.1402274f0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401f1f26
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f1f26
cmp rax, qword [r13 + 0x98]
ja 0x1401f1f14
cmp dword [r13 + 0x34], 0
je 0x1401f1f26
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1e60
jmp 0x1401f1f61
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f1f61
cmp rax, qword [r13 + 0x98]
ja 0x1401f1f4f
cmp dword [r13 + 0x34], 0
je 0x1401f1f61
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
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 0x1401ecd10
jmp 0x1401f6425
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401f4795.15
test r14d, r14d
je 0x1401f2805
mov ecx, dword [rbx + rax*4 + 0x1f774c]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae 0x1401f27d1
nop
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401f20d0
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f1ffc
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe0]
call fcn.140224970
test eax, eax
jne 0x1401f27d1
jmp 0x1401f2039
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401f2039
movzx eax, word [r13 + 0xe4]
cmp word [r10], ax
jne 0x1401f2039
cmp edx, 1
je 0x1401f27d1
movzx eax, word [r13 + 0xe6]
cmp word [r10 + 2], ax
je 0x1401f27d1
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401f2088
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401f2088
cmp dword [r13 + 0xdc], 0
jne 0x1401f2088
cmp dword [r13 + 0xe0], 2
jne 0x1401f2088
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f2088
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401ef939
mov r10, qword [r12 + 0x50]
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401f20be
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f20be
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401f1fc0
jmp 0x1401f27d1
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f27d1
cmp r10, qword [r13 + 0x98]
ja 0x1401f27bf
cmp dword [r13 + 0x34], 0
jmp 0x1401f27bd
cmp r11d, 0xffffffff
jae 0x1401f215c
cmp edi, r11d
jae 0x1401f27d1
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401f214e
movzx eax, word [r10]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f214e
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2110
jmp 0x1401f27d1
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f27d1
cmp rax, qword [r13 + 0x98]
ja 0x1401f2189
cmp dword [r13 + 0x34], r9d
je 0x1401f27d1
cmp cx, 1
jmp 0x1401f27c3
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401f21c9
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f27d1
cmp rcx, qword [r13 + 0x98]
jmp 0x1401f27b7
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
mov r8, r10
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
add r10, 2
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f2230
movzx ecx, word [r10]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
mov ecx, 4
add edx, 0x10000
jmp 0x1401f2235
mov ecx, 2
cmp edx, 0xd
jne 0x1401f2259
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae 0x1401f27d1
cmp word [r10], 0xa
jne 0x1401f2293
add r10, 2
jmp 0x1401f228e
cmp edx, 0xa
je 0x1401f228a
cmp word [r13 + 0x62], 2
je 0x1401f27d1
lea eax, [rdx - 0xb]
cmp eax, 1
jbe 0x1401f228a
mov eax, 0x85
cmp edx, eax
je 0x1401f228a
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x1401f27d1
lea r10, [rcx + r8]
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401f21e0
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f22ff
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 0x1401f2368
je case.0x1401f2390.8193
cmp edx, 9
je case.0x1401f2390.8193
cmp edx, 0x20
je case.0x1401f2390.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401f2390.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401f2390.8193
mov eax, 0x180e
cmp edx, eax
je case.0x1401f2390.8193
xor eax, eax
mov ecx, eax
cmp dword [r12 + 0x40], 0x12
sete al
cmp ecx, eax
je 0x1401f27d1
lea rax, [r8 + r8]
inc edi
add qword [r12 + 0x50], rax
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401f22b0
jmp 0x1401f27d1
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f2390.8194
je case.0x1401f2390.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f2390.8194
movzx eax, byte [rbx + rdx + 0x1f7794]
mov ecx, dword [rbx + rax*4 + 0x1f778c]
add rcx, rbx
jmp rcx
mov ecx, 1
xor eax, eax
jmp 0x1401f2337
cmp edi, r11d
jae 0x1401f27d1
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f23ff
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 0x1401f2410
je 0x1401f242b
sub edx, 0xa
je 0x1401f242b
sub edx, 1
jmp 0x1401f241e
sub edx, 0x85
je 0x1401f242b
sub edx, 0x1fa3
je 0x1401f242b
cmp edx, 1
je 0x1401f242b
xor eax, eax
mov ecx, eax
jmp 0x1401f2432
mov ecx, 1
xor eax, eax
cmp dword [r12 + 0x40], 0x14
sete al
cmp ecx, eax
je 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f23b0
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f24bf
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 0x1401f24d5
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2470
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f254f
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 0x1401f27d1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2500
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f25df
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 0x1401f25f5
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2590
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f266f
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 0x1401f27d1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2620
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f26ff
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 0x1401f2715
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f26b0
jmp 0x1401f27d1
cmp edi, r11d
jae 0x1401f27d1
cmp r10, qword [r13 + 0x88]
jae 0x1401f27a6
movzx edx, word [r10]
mov ecx, 0xfc00
mov eax, edx
mov r8d, 1
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x1401f2780
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 0x1401f27d1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401f27d1
lea r10, [r10 + r8*2]
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2735
jmp 0x1401f27d1
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f27d1
cmp r10, qword [r13 + 0x98]
ja 0x1401f27bf
cmp dword [r13 + 0x34], r9d
je 0x1401f27d1
cmp ax, 1
mov dword [r13 + 0x2c], 1
ja 0x1401ef939
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 0x1401ecd10
jmp 0x1401f6454
mov ecx, dword [rbx + rax*4 + 0x1f77f4]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop word [rax + rax]
mov rcx, qword [r13 + 0x88]
cmp r10, rcx
jae 0x1401f2905
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f285c
mov r8, rcx
mov dword [rsp + 0x20], r14d
mov rcx, r10
lea r9, [r13 + 0xe0]
call fcn.140224970
test eax, eax
jne case.0x1401f2aa9.8193
jmp 0x1401f2899
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r10, rax
ja 0x1401f2899
movzx eax, word [r13 + 0xe4]
cmp word [r10], ax
jne 0x1401f2899
cmp edx, 1
je case.0x1401f2aa9.8193
movzx eax, word [r13 + 0xe6]
cmp word [r10 + 2], ax
je case.0x1401f2aa9.8193
movzx edx, word [r13 + 0x60]
test dx, dx
je 0x1401f28e8
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb 0x1401f28e8
cmp dword [r13 + 0xdc], 0
jne 0x1401f28e8
cmp dword [r13 + 0xe0], 2
jne 0x1401f28e8
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f28e8
mov dword [r13 + 0x2c], 1
cmp dx, 1
ja 0x1401ef939
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2820
jmp case.0x1401f2aa9.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401f2aa9.8193
cmp r10, qword [r13 + 0x98]
ja 0x1401f2e00
cmp dword [r13 + 0x34], 0
jmp 0x1401f2dfe
mov rcx, qword [r13 + 0x88]
sub r11d, edi
mov rax, rcx
sub rax, r10
sar rax, 1
cmp r11d, eax
jbe 0x1401f2961
mov qword [r12 + 0x50], rcx
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401f2aa9.8193
cmp rcx, qword [r13 + 0x98]
jmp 0x1401f2df8
lea rcx, [r10 + r11*2]
mov qword [r12 + 0x50], rcx
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx ecx, word [r10]
cmp cx, 0xd
jne 0x1401f29b6
add r10, 2
mov qword [r12 + 0x50], r10
cmp r10, qword [r13 + 0x88]
jae case.0x1401f2aa9.8193
cmp word [r10], 0xa
jne 0x1401f29f6
jmp 0x1401f29ed
cmp cx, 0xa
je 0x1401f29ed
cmp word [r13 + 0x62], 2
je case.0x1401f2aa9.8193
lea eax, [rcx - 0xb]
cmp ax, 1
jbe 0x1401f29ed
mov eax, 0x85
cmp cx, ax
je 0x1401f29ed
mov eax, 0x2028
sub cx, ax
cmp cx, 1
ja case.0x1401f2aa9.8193
add r10, 2
mov qword [r12 + 0x50], r10
inc edi
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2980
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
cmp eax, r8d
ja 0x1401f2a7c
je case.0x1401f2aa9.8193
cmp eax, 9
je case.0x1401f2aa9.8193
cmp eax, 0x20
je case.0x1401f2aa9.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401f2aa9.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401f2aa9.8193
mov ecx, 0x180e
cmp eax, ecx
je case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2a10
jmp case.0x1401f2aa9.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401f2aa9.8194
je case.0x1401f2aa9.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401f2aa9.8194
cdqe
movzx eax, byte [rbx + rax + 0x1f783c]
mov ecx, dword [rbx + rax*4 + 0x1f7834]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax]
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
cmp eax, r8d
ja 0x1401f2b1a
je case.0x1401f2b4b.8193
cmp eax, 9
je case.0x1401f2b4b.8193
cmp eax, 0x20
je case.0x1401f2b4b.8193
mov ecx, 0xa0
cmp eax, ecx
je case.0x1401f2b4b.8193
mov ecx, 0x1680
cmp eax, ecx
je case.0x1401f2b4b.8193
mov ecx, 0x180e
cmp eax, ecx
jne case.0x1401f2aa9.8193
add qword [r12 + 0x50], 2
inc edi
mov r10, qword [r12 + 0x50]
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2ac0
jmp case.0x1401f2aa9.8193
mov ecx, 0x3000
cmp eax, ecx
ja case.0x1401f2aa9.8193
je case.0x1401f2b4b.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1401f2aa9.8193
cdqe
movzx eax, byte [rbx + rax + 0x1f78a4]
mov ecx, dword [rbx + rax*4 + 0x1f789c]
add rcx, rbx
jmp rcx
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop word [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401f2b8a
je case.0x1401f2aa9.8193
sub ecx, 0xa
je case.0x1401f2aa9.8193
sub ecx, 1
jmp 0x1401f2b9c
sub ecx, 0x85
je case.0x1401f2aa9.8193
sub ecx, 0x1fa3
je case.0x1401f2aa9.8193
cmp ecx, 1
je case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2b60
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx ecx, word [r10]
cmp ecx, 0xd
ja 0x1401f2bf2
je 0x1401f2c0b
sub ecx, 0xa
je 0x1401f2c0b
sub ecx, 1
jmp 0x1401f2c00
sub ecx, 0x85
je 0x1401f2c0b
sub ecx, 0x1fa3
je 0x1401f2c0b
cmp ecx, 1
jne case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2bd0
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f2c5b
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
jne case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2c30
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401f2aa9.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 8
je case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2c80
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f2cfb
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
jne case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2cd0
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax + rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401f2aa9.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 1
je case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2d20
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja 0x1401f2d93
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
jne case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2d70
jmp case.0x1401f2aa9.8193
cmp edi, r11d
jae case.0x1401f2aa9.8193
nop dword [rax]
cmp r10, qword [r13 + 0x88]
jae 0x1401f2de7
movzx eax, word [r10]
mov ecx, 0xff
cmp ax, cx
ja case.0x1401f2aa9.8193
mov ecx, eax
mov rax, qword [r13 + 0x48]
test byte [rcx + rax], 0x10
je case.0x1401f2aa9.8193
add r10, 2
inc edi
mov qword [r12 + 0x50], r10
cmp edi, dword [r12 + 0x3c]
jb 0x1401f2db0
jmp case.0x1401f2aa9.8193
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401f2aa9.8193
cmp r10, qword [r13 + 0x98]
ja 0x1401f2e00
cmp dword [r13 + 0x34], r9d
je case.0x1401f2aa9.8193
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
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 0x1401ecd10
jmp 0x1401f62c8
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 0x1401f2edd
nop
movzx eax, word [rdx]
dec r8d
lea rax, [rax*2 - 2]
mov qword [r12 + 0x28], rax
cmp rax, qword [r12 + 0x78]
jae 0x1401f2ea5
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
jne 0x1401f2edd
movzx eax, word [r13 + 0x66]
lea rdx, [rdx + rax*2]
test r8d, r8d
jg 0x1401f2e80
jmp 0x1401f2edd
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 r8, qword [r12]
movzx edx, word [r8]
lea eax, [rdx - 0x62]
cmp eax, 7
ja case.default.0x1401f2f05
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1f7904]
add rcx, r10
jmp rcx
lea rax, [r8 + 2]
mov qword [r12], rax
lea eax, [rdx - 0x62]
mov edx, dword [r10 + rax*4 + 0x3bdc58]
mov ecx, eax
mov eax, dword [r10 + rax*4 + 0x3bdc88]
mov dword [r12 + 0x38], edx
mov dword [r12 + 0x3c], eax
mov r15d, dword [r10 + rcx*4 + 0x3bdcb8]
mov dword [rsp + 0x108], r15d
jmp 0x1401f2f7d
movzx edx, word [r8 + 2]
mov dword [r12 + 0x38], edx
movzx ecx, word [r8 + 4]
mov dword [r12 + 0x3c], ecx
movzx eax, word [r8]
mov r15d, dword [r10 + rax*4 + 0x3bdb30]
mov dword [rsp + 0x108], r15d
test ecx, ecx
jne 0x1401f2f75
mov dword [r12 + 0x3c], 0xffffffff
lea rax, [r8 + 6]
mov qword [r12], rax
mov rbx, qword [r12 + 0x28]
cmp rbx, qword [r12 + 0x78]
jae 0x1401f2fa7
mov rax, qword [r12 + rbx*8 + 0x80]
cmp rax, 0xffffffffffffffff
je 0x1401f2fa7
cmp rax, qword [r12 + rbx*8 + 0x88]
je 0x1401ecd09
jmp 0x1401f2fc0
test edx, edx
je 0x1401ecd09
test dword [r13 + 0xd0], 0x200
jne 0x1401ecd09
mov edi, 1
cmp edx, edi
jb 0x1401f3017
nop dword [rax]
mov edx, dword [r12 + 0x40]
lea rax, [rsp + 0x68]
mov r9, r13
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rbx
call fcn.1401f7c80
test eax, eax
jne 0x1401f30b4
mov rax, qword [rsp + 0x68]
inc edi
add rax, rax
add qword [r12 + 0x50], rax
mov edx, dword [r12 + 0x38]
cmp edi, edx
jbe 0x1401f2fd0
xor r9d, r9d
lea r10, [0x140000000]
mov esi, dword [r12 + 0x3c]
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
cmp edx, esi
je 0x1401ecd01
test r15d, r15d
je 0x1401f661f
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 0x1401f427e
nop
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.1401f7c80
test eax, eax
jne 0x1401f30d9
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 0x1401f3070
jmp 0x1401f3107
jle 0x1401f30c2
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb case.0x1401ecd41.82
jmp 0x1401eea5f
jle 0x1401f3107
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f3107
mov rax, qword [r13 + 0x98]
cmp qword [r13 + 0x88], rax
jbe 0x1401f3107
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov r14d, dword [rsp + 0x38]
test ebp, ebp
je 0x1401f6562
lea r10, [0x140000000]
jmp 0x1401f4283
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.1401f7c80
test eax, eax
jne 0x1401f30b4
mov rax, qword [rsp + 0x48]
mov r11d, dword [rsp + 0xe0]
add rax, rax
add qword [r12 + 0x50], rax
xor r9d, r9d
jmp 0x1401ecd09
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 0x1401f3170
add rax, 4
mov qword [r12], rax
jmp 0x1401ecd10
cmp dword [r13 + 0x30], 0
jne 0x1401f657e
cmp dword [r12 + 0x30], 0
je 0x1401f657e
lea r10, [0x140000000]
jmp 0x1401f3d1a
lea r8, [rsp + 0x48]
mov rdx, r13
mov rcx, r12
call fcn.1401eca40
mov ebx, eax
test eax, eax
jg case.0x1401ecd41.82
js 0x1401ece15
mov rax, qword [rsp + 0x48]
mov r11d, dword [rsp + 0xe0]
add rax, rax
add qword [r12], rax
xor r9d, r9d
jmp 0x1401ecd09
movzx eax, word [rbx + 2]
mov qword [r12 + 0x18], rax
cmp word [rbx + rax*2], 0x78
je 0x1401f320a
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x18], rax
add rbx, 4
mov qword [r12], rbx
movzx eax, word [rbx]
cmp ax, 0x76
je 0x1401f3221
cmp ax, 0x77
jne 0x1401f3257
lea r8, [rsp + 0x48]
mov rdx, r13
mov rcx, r12
call fcn.1401eca40
mov ebx, eax
test eax, eax
jg case.0x1401ecd41.82
js 0x1401ece15
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.0x1401f327d.150
cdqe
mov ecx, dword [r10 + rax*4 + 0x1f7924]
add rcx, r10
jmp rcx
mov ecx, dword [r12 + 0x68]
cmp ecx, 0xffffffff
je case.0x1401f327d.148
movzx eax, word [rbx + 2]
cmp eax, 0xffff
je case.0x1401f327d.149
cmp eax, ecx
je case.0x1401f327d.149
jmp case.0x1401f327d.148
mov r10d, dword [r12 + 0x68]
cmp r10d, 0xffffffff
je case.0x1401f327d.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.0x1401f327d.148
nop dword [rax]
movzx eax, word [r8]
dec edx
cmp eax, r10d
je 0x1401f330f
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401f32e0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x108], r15d
jmp case.0x1401f327d.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.0x1401f327d.149
movzx eax, word [rbx + 2]
lea rax, [rax*2 - 2]
cmp rax, qword [r12 + 0x78]
jae case.0x1401f327d.148
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
je case.0x1401f327d.148
jmp case.0x1401f327d.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.0x1401f327d.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 0x1401f33b2
cmp qword [r12 + rax*8 + 0x80], 0xffffffffffffffff
jne case.0x1401f327d.149
lea r8, [r8 + r9*2]
test edx, edx
jg 0x1401f3390
jmp case.0x1401f327d.148
movzx edx, word [rbx + 2]
test r14d, r14d
je 0x1401f3418
test edx, edx
je 0x1401f3443
mov ebx, 0xdc00
mov r10d, 0xfc00
nop word [rax + rax]
mov rcx, qword [r12 + 0x50]
dec edx
cmp rcx, qword [r13 + 0x80]
jbe case.0x1401ecd41.82
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
movzx eax, word [rcx]
and ax, r10w
cmp ax, bx
jne 0x1401f3412
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
test edx, edx
jne 0x1401f33e0
jmp 0x1401f3443
mov rcx, qword [r12 + 0x50]
mov rax, rcx
sub rax, qword [r13 + 0x78]
sar rax, 1
cmp rdx, rax
jg case.0x1401ecd41.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 0x1401f3458
mov qword [r13 + 0x98], rax
add qword [r12], 4
jmp 0x1401ecd10
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je case.0x1401ecd41.59
jmp 0x1401ecd10
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 0x1401f3516
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 0x1401f3519
mov r8, qword [r12 + 0x78]
lea rdx, [r12 + 0x80]
shl r8, 3
lea rcx, [rdi + 0x80]
call fcn.140258d60
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 0x1401ece15
mov rdi, r9
movzx eax, word [rbx]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x1401f353c.134
lea r10, [0x140000000]
cdqe
mov ecx, dword [r10 + rax*4 + 0x1f7970]
add rcx, r10
jmp rcx
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401f3553
mov qword [r13 + 0xa0], rax
mov rax, qword [rdi + 0x50]
mov qword [r12 + 0x50], rax
jmp case.0x1401f353c.134
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0xa0]
jbe 0x1401f3576
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.0x1401f353c.134
nop
add rax, rcx
mov rcx, rax
mov qword [rdi], rax
movzx eax, word [rax + 2]
add rax, rax
cmp word [rax + rcx], 0x78
je 0x1401f35a0
jmp case.0x1401f353c.134
mov ebx, 1
xor edi, edi
jmp 0x1401ece1e
mov rdx, qword [r12 + 0x50]
mov r8d, r14d
mov rcx, qword [rdi + 0x50]
call fcn.140227720
test eax, eax
jne case.0x1401f353c.134
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
movzx edx, word [rbx + 4]
cmp dword [r12 + 0x68], edx
jne 0x1401f3653
mov rbx, rbp
lea rcx, [r12 + 0x80]
sub rbx, rsi
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.140258d60
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 0x1401ecd09
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.0x1401f353c.134
lea rax, [rcx + 2]
mov qword [r12 + 0x78], rax
mov rdx, qword [r12]
cmp word [rdx], 0x7c
jne 0x1401f36bd
mov r8, qword [rsp + 0x78]
lea rdx, [r12 + 0x50]
lea rcx, [rdi + 0x50]
call fcn.140258d60
mov ebx, 0xfffffc1a
jmp 0x1401ece15
movzx ecx, byte [r12 + 0x49]
cmp cl, 0x79
je 0x1401f3f20
test rdi, rdi
je 0x1401f36e0
mov rax, qword [rdi + 0x50]
cmp qword [r12 + 0x50], rax
je 0x1401f3f20
cmp cl, 0x7b
jne 0x1401f65df
lea rbx, [rdx + 4]
mov byte [r12 + 0x48], 6
jmp 0x1401f6c32
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
jne case.0x1401ecd41.82
test byte [r13 + 0xcc], 1
jne case.0x1401ecd41.82
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd10
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je 0x1401ed142
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
test byte [r13 + 0xcc], 2
jne case.0x1401ecd41.82
test byte [r13 + 0xd0], 0x10
je case.0x1401ecd41.21
mov rax, qword [r13 + 0x88]
cmp qword [r12 + 0x50], rax
jb case.0x1401ecd41.82
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f3780
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
add qword [r12], 2
jmp 0x1401ecd10
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401f380d
mov edx, dword [r13 + 0xdc]
lea rbx, [r13 + 0xe0]
test edx, edx
je 0x1401f37c4
mov r9, rbx
mov dword [rsp + 0x20], r14d
call fcn.140224970
test eax, eax
je 0x1401f3849
jmp 0x1401f37f9
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f3842
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f3842
cmp edx, 1
je 0x1401f37f9
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401f3842
lea rbx, [r13 + 0xe0]
mov eax, dword [rbx]
imul rcx, rax, 0xfffffffffffffffe
add rcx, qword [r13 + 0x88]
cmp qword [r12 + 0x50], rcx
jne 0x1401f3849
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ef651
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd09
lea rbx, [r13 + 0xe0]
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401ecd41.82
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401ecd41.82
cmp dword [r13 + 0xdc], 0
jne case.0x1401ecd41.82
cmp dword [rbx], 2
jne case.0x1401ecd41.82
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne case.0x1401ecd41.82
cmp dx, 1
jmp 0x1401ed03d
test byte [r13 + 0xcc], 1
je 0x1401f38b7
mov rax, qword [r13 + 0x78]
cmp qword [r12 + 0x50], rax
je case.0x1401ecd41.82
mov rcx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x78]
cmp rcx, rax
je 0x1401f396b
cmp rcx, qword [r13 + 0x88]
jne 0x1401f38e3
test dword [r13 + 0xd0], 0x200000
je case.0x1401ecd41.82
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f3921
cmp rcx, rax
jbe 0x1401f3912
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
mov r8, rax
call fcn.140224a30
test eax, eax
je 0x1401f3912
mov eax, 1
jmp 0x1401f3914
xor eax, eax
test eax, eax
jne 0x1401f3964
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov r8d, dword [r13 + 0xe0]
lea rdx, [r8 + r8]
add rax, rdx
cmp rcx, rax
jb case.0x1401ecd41.82
movzx eax, word [r13 + 0xe4]
sub rcx, rdx
cmp word [rcx], ax
jne case.0x1401ecd41.82
cmp r8d, 1
je 0x1401f3964
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne case.0x1401ecd41.82
lea r8, [0x140000000]
add qword [r12], 2
mov r11d, dword [rsp + 0xe0]
xor r9d, r9d
jmp 0x1401ecd10
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401f3a35
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f39bb
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
test eax, eax
jne 0x1401ef651
jmp 0x1401f39f6
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f39f6
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f39f6
cmp edx, 1
je 0x1401ef651
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
je 0x1401ef651
movzx edx, word [r13 + 0x60]
test dx, dx
je case.0x1401ecd41.82
mov rcx, qword [r12 + 0x50]
lea rax, [rcx + 2]
cmp rax, qword [r13 + 0x88]
jb case.0x1401ecd41.82
cmp dword [r13 + 0xdc], 0
jne case.0x1401ecd41.82
cmp dword [r13 + 0xe0], 2
jmp 0x1401f387e
test byte [r13 + 0xcc], 2
jne case.0x1401ecd41.82
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401ef651
cmp rcx, qword [r13 + 0x98]
ja 0x1401f381b
cmp dword [r13 + 0x34], 0
jmp 0x1401f3815
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x78]
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x50], rcx
je 0x1401ed142
xor edi, edi
mov ebx, edi
jmp 0x1401ece17
mov rax, qword [r12 + 0x50]
mov qword [r12 + 0x58], rax
lea rax, [rbx + 2]
mov qword [r12], rax
jmp 0x1401ecd10
mov r8, qword [r12 + 0x50]
cmp r8, qword [r13 + 0x80]
je 0x1401f3ba0
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
je 0x1401f3b12
movzx eax, cx
mov r10d, 0xfc00
and ax, r10w
mov edx, 0xdc00
cmp ax, dx
jne 0x1401f3adf
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov ecx, 0xd800
mov eax, edx
and eax, r10d
cmp eax, ecx
jne 0x1401f3b14
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 0x1401f3b14
mov edx, ecx
cmp r8, qword [r13 + 0x98]
jae 0x1401f3b24
mov qword [r13 + 0x98], r8
test dword [r13 + 0xd0], 0x20000
je 0x1401f3b87
lea r10, [0x140000000]
cmp edx, 0x5f
jne 0x1401f3b45
mov r9d, 1
jmp 0x1401f3ba7
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
sete r9b
jmp 0x1401f3ba7
mov eax, 0xff
cmp edx, eax
ja 0x1401f3ba0
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401f3ba0
mov r9d, 1
lea r10, [0x140000000]
mov rdx, qword [r12 + 0x50]
mov rax, qword [r13 + 0x88]
cmp rdx, rax
jb 0x1401f3c10
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f3be4
cmp rdx, qword [r13 + 0x98]
ja 0x1401f3bd2
cmp dword [r13 + 0x34], 0
je 0x1401f3be4
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
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 0x1401f3c03
xor edx, 1
test edx, edx
mov r9d, 0
jmp 0x1401ed3b0
lea r8, [rdx + 2]
mov rcx, r8
test r14d, r14d
je 0x1401f3c64
mov ebx, 0xfc00
cmp rcx, rax
jae 0x1401f3c38
movzx eax, word [r8]
and ax, bx
cmp ax, word [rsp + 0x50]
jne 0x1401f3c38
add rcx, 2
movzx edx, word [rdx]
mov eax, edx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x1401f3c67
movzx eax, word [r8]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0x1401f3c67
movzx edx, word [rdx]
cmp rcx, qword [r13 + 0xa0]
jbe 0x1401f3c77
mov qword [r13 + 0xa0], rcx
test dword [r13 + 0xd0], 0x20000
je 0x1401f3cdc
cmp edx, 0x5f
jne 0x1401f3c93
mov edx, 1
jmp 0x1401f3be8
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
shl ecx, 7
add ecx, edx
mov edx, 0
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
sete dl
jmp 0x1401f3be8
mov eax, 0xff
cmp edx, eax
ja 0x1401f3be4
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je 0x1401f3be4
mov edx, 1
jmp 0x1401f3be8
test ebx, ebx
jne case.0x1401ece8e.33
mov rbx, qword [r12 + 8]
mov r15d, dword [rsp + 0x108]
mov qword [r12], rbx
movzx eax, word [rbx + 2]
lea rdx, [rbx + rax*2]
mov qword [r12 + 8], rdx
cmp word [rdx], 0x78
mov rax, qword [r12]
movzx ecx, word [rax]
movzx eax, byte [rcx + r10 + 0x3dbd20]
je 0x1401f65ea
mov rbp, qword [rsp + 0x30]
lea rcx, [rbx + rax*2]
mov rsi, qword [rsp + 0xf8]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
mov qword [r12], rcx
jmp 0x1401ecd09
cmp ebx, 0xfffffc1f
jne 0x1401f3d9b
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xb8], rdx
jae case.0x1401ece8e.33
cmp word [rcx], 0x78
je 0x1401f3da3
cmp word [rdx], 0x78
jmp 0x1401f3d9d
test ebx, ebx
jne case.0x1401ece8e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401f69b5
mov ebx, edi
jmp case.0x1401ece8e.33
cmp ebx, 0xfffffc19
je 0x1401f6164
test ebx, ebx
je 0x1401f3de0
cmp ebx, 0xfffffc1f
jne case.0x1401ece8e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401f6aa3
mov ebx, edi
jmp case.0x1401ece8e.33
cmp ebx, 0xfffffc1d
jg 0x1401f3e4b
je 0x1401f3e22
cmp ebx, 0xfffffc19
je case.0x1401f48bf.8193
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401ece8e.33
mov rbx, qword [r12]
nop word [rax + rax]
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401f3e30
lea rax, [rbx + 4]
jmp 0x1401f4017
cmp ebx, 0xfffffc1f
je 0x1401f61b7
test ebx, ebx
je 0x1401f61b7
cmp ebx, 1
jne case.0x1401ece8e.33
mov ebx, edi
jmp case.0x1401ece8e.33
cmp ebx, 0xfffffc1d
jg 0x1401f3e9d
je 0x1401f622e
cmp ebx, 0xfffffc19
je 0x1401f61da
lea eax, [rbx + 0x3e5]
cmp eax, 1
ja case.0x1401ece8e.33
jmp 0x1401f622e
cmp ebx, 0xfffffc1f
je 0x1401f6212
test ebx, ebx
je 0x1401f6212
cmp ebx, 1
jne case.0x1401ece8e.33
mov eax, dword [r12 + 0x38]
jmp 0x1401f6239
test ebx, ebx
jne case.0x1401ece8e.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 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.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 0x1401ecd09
cmp ebx, 0xfffffc1a
jne 0x1401f3f84
mov dword [r12 + 0x3c], 1
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jne 0x1401f6601
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 0x1401f3f70
jmp 0x1401f3fd3
cmp ebx, 0xfffffc1f
jne 0x1401f3fb1
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rdx, [rcx + rax*2]
cmp qword [r13 + 0xb8], rdx
jae case.0x1401ece8e.33
cmp word [rcx], 0x78
je 0x1401f3fb9
cmp word [rdx], 0x78
jmp 0x1401f3fb3
test ebx, ebx
jne case.0x1401ece8e.33
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401f695e
cmp dword [r12 + 0x3c], 0
jne 0x1401f4013
cmp dword [r12 + 0x40], 0
jne 0x1401f4013
mov ebx, edi
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.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 0x1401f4000
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 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.33
add qword [r12], 2
jmp 0x1401f401b
mov rdx, qword [r12 + 8]
movzx eax, word [rdx + 2]
lea rcx, [rdx + rax*2]
lea eax, [rbx + 0x3e5]
cmp eax, 4
ja 0x1401f40ad
mov eax, dword [r12 + 0x38]
btc eax, 0x12
cmp dword [r13 + 0xc8], eax
jne 0x1401f40ad
cmp ebx, 0xfffffc1f
jne case.0x1401f48bf.8193
cmp qword [r13 + 0xb8], rcx
jae case.0x1401f48bf.8193
cmp word [rdx], 0x78
je 0x1401f40b5
cmp word [rcx], 0x78
je 0x1401f40b5
mov ebx, edi
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov qword [r12 + 8], rcx
cmp word [rcx], 0x78
je 0x1401f6a5f
mov ebx, edi
jmp case.0x1401ece8e.33
cmp ebx, 0xfffffc1e
jne case.0x1401ece8e.33
mov rcx, qword [r12]
mov rdx, qword [r13 + 0xc0]
add rcx, 4
call fcn.140222b90
lea r10, [0x140000000]
mov r8d, 0x2000
test eax, eax
jne case.0x1401ece8e.33
mov rax, qword [r12 + 0x50]
lea r10, [0x140000000]
mov qword [r13 + 0xc0], rax
mov ebx, 0xfffffc1d
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov eax, dword [r12 + 0x68]
mov ebx, 0xfffffc1c
mov dword [r13 + 0xc8], eax
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.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.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.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.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.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.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jb 0x1401f41de
mov ebx, edi
jmp case.0x1401ece8e.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.1401f7c80
test eax, eax
je 0x1401f660f
jle 0x1401f4216
mov rax, qword [r13 + 0x88]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401f4250
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f4250
cmp rax, qword [r13 + 0x98]
ja 0x1401f423e
cmp dword [r13 + 0x34], 0
je 0x1401f4250
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov ebx, edi
lea r10, [0x140000000]
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov rax, qword [r12 + 0x18]
neg rax
add rax, rax
add qword [r12 + 0x50], rax
jmp 0x1401f4283
mov r14d, dword [rsp + 0x38]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jb 0x1401ed3b6
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], reloc.WS2_32.dll_setsockopt
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov rbx, qword [r12 + 8]
cmp qword [r12 + 0x50], rbx
je 0x1401ed3b8
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 0x1401f4319
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.1401f7c80
mov rax, qword [rsp + 0x88]
inc esi
lea rbx, [rbx + rax*2]
mov qword [r12 + 0x50], rbx
cmp esi, edi
jb 0x1401f42e0
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x16
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp ecx, r15d
jbe 0x1401f4396
cmp byte [r12 + 0x49], 0x6e
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401f6c32
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 0x1401f437f
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jb 0x1401ed3b6
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x18
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jae 0x1401f4575
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je 0x1401f443f
cmp dword [r12 + 0x44], eax
jne case.0x1401f48bf.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 0x1401f6c32
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401ece8e.33
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1a
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
jne case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1b
jmp 0x1401f6c32
add qword [r12 + 0x50], 0xfffffffffffffffe
test ebx, ebx
jne case.0x1401ece8e.33
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xf8]
cmp qword [r12 + 0x50], rax
ja 0x1401f6636
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rcx, qword [r12 + 0x50]
cmp rcx, qword [r13 + 0x88]
jb 0x1401f45b0
movzx eax, word [r13 + 0x60]
test ax, ax
je case.0x1401f48bf.8193
cmp rcx, qword [r13 + 0x98]
ja 0x1401f4597
cmp dword [r13 + 0x34], 0
je case.0x1401f48bf.8193
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov ebx, edi
jmp case.0x1401ece8e.33
movzx eax, word [rcx]
cmp dword [r12 + 0x40], eax
je case.0x1401f48bf.8193
cmp dword [r12 + 0x44], eax
je case.0x1401f48bf.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 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1e
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], edx
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
add qword [r12 + 0x50], 0xfffffffffffffffe
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x20
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jb 0x1401f4735
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f4ac1
cmp rcx, qword [r13 + 0x98]
ja 0x1401f4716
cmp dword [r13 + 0x34], 0
je 0x1401f4ac1
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp dword [r12 + 0x40], 0xc
jne 0x1401f4768
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f4797
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
lea r10, [0x140000000]
test eax, eax
jne 0x1401f4ac1
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.0x1401f4795.15
mov ecx, dword [r10 + rax*4 + 0x1f79b4]
add rcx, r10
jmp rcx
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f4768
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f4768
cmp edx, 1
je 0x1401f4ac1
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401f4768
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0xd
ja 0x1401f4816
je 0x1401f6645
sub edx, 0xa
je case.0x1401f4795.13
sub edx, 1
je 0x1401f47fd
cmp edx, 1
jne 0x1401f4ac1
cmp word [r13 + 0x62], 2
jne case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
sub edx, 0x85
je 0x1401f47fd
sub edx, 0x1fa3
je 0x1401f47fd
cmp edx, 1
je 0x1401f47fd
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401f4889
je case.0x1401f48bf.8193
cmp edx, 9
je case.0x1401f48bf.8193
cmp edx, 0x20
je case.0x1401f48bf.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401f48bf.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401f48bf.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401f4795.13
mov ebx, edi
jmp case.0x1401ece8e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f4795.13
je case.0x1401f48bf.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f4795.13
movzx eax, byte [r10 + rdx + 0x1f79fc]
mov ecx, dword [r10 + rax*4 + 0x1f79f4]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401f4912
je case.0x1401f4795.13
cmp edx, 9
je case.0x1401f4795.13
cmp edx, 0x20
je case.0x1401f4795.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401f4795.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401f4795.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401f4795.13
mov ebx, edi
jmp case.0x1401ece8e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f48bf.8193
je case.0x1401f4795.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f48bf.8193
movzx eax, byte [r10 + rdx + 0x1f7a64]
mov ecx, dword [r10 + rax*4 + 0x1f7a5c]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401f496f
je 0x1401f4ac1
sub edx, 0xa
je 0x1401f4ac1
sub edx, 1
je 0x1401f4ac1
cmp edx, 1
jmp 0x1401f4abb
sub edx, 0x85
je 0x1401f4ac1
sub edx, 0x1fa3
je 0x1401f4ac1
cmp edx, 1
jne case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0xd
ja 0x1401f49d0
je case.0x1401f4795.13
sub edx, 0xa
je case.0x1401f4795.13
sub edx, 1
je case.0x1401f4795.13
cmp edx, 1
je case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
sub edx, 0x85
je case.0x1401f4795.13
sub edx, 0x1fa3
je case.0x1401f4795.13
cmp edx, 1
je case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja case.0x1401f4795.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja case.0x1401f4795.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja case.0x1401f4795.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, r15d
ja 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401f4795.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov rax, qword [r12 + 0x50]
add rax, 0xfffffffffffffffe
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0x11
jne 0x1401f62c0
cmp rax, qword [r12 + 8]
jbe 0x1401f62c0
cmp word [rax], 0xa
jne 0x1401f62c0
mov r15d, dword [rsp + 0x108]
add rax, 0xfffffffffffffffe
cmp word [rax], 0xd
jne 0x1401f62c8
mov qword [r12 + 0x50], rax
jmp 0x1401f62c8
test ebx, ebx
jne case.0x1401ece8e.33
mov eax, dword [r12 + 0x68]
mov ebx, 0xfffffc1b
mov dword [r13 + 0xc8], eax
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401f4bb0
mov eax, ecx
and eax, esi
cmp eax, ebp
jne 0x1401f4bb0
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.140227bf0
test eax, eax
jne 0x1401f66d1
lea r10, [0x140000000]
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
jbe case.0x1401f48bf.8193
test r14d, r14d
je 0x1401f4c18
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401f4c18
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 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401f4c97
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 0x1401f4cbf
cmp byte [r12 + 0x49], 0x6e
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xc8
jmp 0x1401f6c32
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 0x1401f4ca8
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov rcx, qword [r12 + 0x50]
lea rdx, [rcx - 2]
mov qword [r12 + 0x50], rdx
cmp rcx, qword [r12 + 8]
ja 0x1401f66e8
mov ebx, edi
jmp 0x1401ece1e
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.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 0x1401f4d6b
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
je 0x1401f6718
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1401f4d9c
lea rdi, [rax + rax]
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x1401f4d9c
lea rdx, [r12 + 0x4a]
mov r8, rdi
mov rcx, rbx
call fcn.1402597a0
test eax, eax
je 0x1401f671e
cmp rbx, rsi
jb 0x1401f4dcd
movzx eax, word [r13 + 0x60]
test ax, ax
je 0x1401f4dcd
cmp rbx, qword [r13 + 0x98]
ja 0x1401f4dbb
cmp dword [r13 + 0x34], 0
je 0x1401f4dcd
mov dword [r13 + 0x2c], 1
cmp ax, 1
ja 0x1401ef939
xor edi, edi
lea r10, [0x140000000]
mov ebx, edi
mov esi, 0xfc00
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.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 0x1401f4e1f
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 0x1401f673e
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401f4ebc
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.0x1401f48bf.8193
cmp dword [r12 + 0x44], ecx
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcc
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.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 0x1401f4f20
lea rax, [rcx - 2]
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xcd
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov eax, ecx
mov qword [r12 + 0x50], rdx
and eax, esi
cmp eax, ebp
jne 0x1401f4faf
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.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xce
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.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 0x1401f5008
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 0x1401f674d
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
add rax, 2
mov qword [r12 + 0x50], rax
test r14d, r14d
je 0x1401f508f
and ecx, esi
cmp ecx, ebp
jne 0x1401f508f
add rax, 2
mov qword [r12 + 0x50], rax
cmp dword [r12 + 0x40], 0xf
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd0
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f5125
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5125
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx edx, byte [r10 + rcx*4 + 0x3c0391]
lea eax, [rdx - 5]
test al, 0xfb
je 0x1401f5160
mov ecx, edi
cmp dl, 8
jne 0x1401f5165
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd1
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f5202
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5202
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + 0x44]
movzx edx, byte [r10 + rcx*4 + 0x3c0391]
mov ecx, edi
cmp dword [r10 + rdx*4 + 0x3dbed0], eax
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd2
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401f52d8
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f52d8
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
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.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd3
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f53ac
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f53ac
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0390]
mov ecx, edi
cmp eax, dword [r12 + 0x44]
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd4
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f5480
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5480
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov ecx, edi
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd5
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea rcx, [rax + 2]
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401f5558
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5558
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 0x1401f5629
je case.0x1401f565b.8193
cmp edx, 0x20
ja 0x1401f560a
je case.0x1401f565b.8193
mov eax, edx
sub eax, 9
je case.0x1401f565b.8193
sub eax, 1
je case.0x1401f565b.8193
sub eax, 1
je case.0x1401f565b.8193
sub eax, 1
je case.0x1401f565b.8193
cmp eax, 1
je case.0x1401f565b.8193
mov eax, edx
and edx, 0x7f
shr rax, 7
movzx ecx, word [r10 + rax*2 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov ecx, edi
cmp dword [r10 + rax*4 + 0x3dbed0], 6
mov eax, edi
sete cl
cmp dword [r12 + 0x40], 0xf
sete al
cmp ecx, eax
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd6
jmp 0x1401f6c32
mov eax, edx
sub eax, 0x85
je case.0x1401f565b.8193
sub eax, 0x1b
je case.0x1401f565b.8193
sub eax, 0x15e0
je case.0x1401f565b.8193
cmp eax, 0x18e
jmp 0x1401f559f
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f565b.8194
je case.0x1401f565b.8193
lea eax, [rdx - 0x2001]
cmp eax, 0x5e
ja case.0x1401f565b.8194
movzx eax, byte [r10 + rax + 0x1f7acc]
mov ecx, dword [r10 + rax*4 + 0x1f7ac4]
add rcx, r10
jmp rcx
cmp dword [r12 + 0x40], 0xf
jne case.0x1401f6534.7
mov ebx, edi
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f56df
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f56df
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 + 0x3c45a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*4 + 0x3c0391]
mov eax, dword [r10 + rax*4 + 0x3dbed0]
dec eax
test eax, 0xfffffffd
je 0x1401f5726
mov ecx, edi
cmp edx, 0x5f
jne 0x1401f572b
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd7
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f57c8
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f57c8
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 + 0x3bfdc0]
add rcx, r10
mov eax, dword [rcx]
cmp edx, eax
jb 0x1401f57ee
nop
lea rcx, [rcx + 4]
cmp edx, eax
je 0x1401f5811
mov eax, dword [rcx]
cmp edx, eax
jae 0x1401f57e0
cmp dword [r12 + 0x40], 0xf
jne 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd8
jmp 0x1401f6c32
cmp dword [r12 + 0x40], 0xf
jne case.0x1401f6534.10
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx ecx, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
test r14d, r14d
je 0x1401f5893
mov eax, ecx
and eax, esi
cmp eax, ebp
jne 0x1401f5893
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 0x1401f58ab
movabs rdx, 0x1000000010000001
bt rdx, rax
jb 0x1401f58c2
lea eax, [rcx - 0xa0]
cmp eax, 0xd75f
jbe 0x1401f58c2
cmp ecx, 0xe000
mov ecx, edi
jb 0x1401f58c7
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je case.0x1401f48bf.8193
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xd9
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jb 0x1401f675c
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401f48bf.8193
cmp rax, qword [r13 + 0x98]
ja 0x1401f5945
cmp dword [r13 + 0x34], 0
je case.0x1401f48bf.8193
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov ebx, edi
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rcx, qword [r12 + 0x50]
mov r8, qword [r13 + 0x88]
cmp rcx, r8
jae 0x1401f46f4
cmp dword [r12 + 0x40], 0xc
jne 0x1401f59c6
mov edx, dword [r13 + 0xdc]
test edx, edx
je 0x1401f5a25
lea r9, [r13 + 0xe0]
mov dword [rsp + 0x20], r14d
call fcn.140224970
lea r10, [0x140000000]
test eax, eax
jne 0x1401f4ac1
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 0x1401f5a07
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.0x1401f4795.15
mov ecx, dword [r10 + rax*4 + 0x1f7b2c]
add rcx, r10
jmp rcx
mov edx, dword [r13 + 0xe0]
imul rax, rdx, 0xfffffffffffffffe
add rax, r8
cmp rcx, rax
ja 0x1401f59c6
movzx eax, word [r13 + 0xe4]
cmp word [rcx], ax
jne 0x1401f59c6
cmp edx, 1
je 0x1401f4ac1
movzx eax, word [r13 + 0xe6]
cmp word [rcx + 2], ax
jne 0x1401f59c6
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0xd
ja 0x1401f5aa8
je 0x1401f6817
sub edx, 0xa
je case.0x1401f5a23.13
sub edx, 1
je 0x1401f5a8f
cmp edx, 1
jne 0x1401f4ac1
cmp word [r13 + 0x62], 2
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
sub edx, 0x85
je 0x1401f5a8f
sub edx, 0x1fa3
je 0x1401f5a8f
cmp edx, 1
je 0x1401f5a8f
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401f5b1b
je case.0x1401f48bf.8193
cmp edx, 9
je case.0x1401f48bf.8193
cmp edx, 0x20
je case.0x1401f48bf.8193
mov eax, 0xa0
cmp edx, eax
je case.0x1401f48bf.8193
mov eax, 0x1680
cmp edx, eax
je case.0x1401f48bf.8193
mov eax, 0x180e
cmp edx, eax
jne case.0x1401f5a23.13
mov ebx, edi
jmp case.0x1401ece8e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f5a23.13
je case.0x1401f48bf.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f5a23.13
movzx eax, byte [r10 + rdx + 0x1f7b74]
mov ecx, dword [r10 + rax*4 + 0x1f7b6c]
add rcx, r10
jmp rcx
mov r8d, 0x2000
cmp edx, r8d
ja 0x1401f5ba4
je case.0x1401f5a23.13
cmp edx, 9
je case.0x1401f5a23.13
cmp edx, 0x20
je case.0x1401f5a23.13
mov eax, 0xa0
cmp edx, eax
je case.0x1401f5a23.13
mov eax, 0x1680
cmp edx, eax
je case.0x1401f5a23.13
mov eax, 0x180e
cmp edx, eax
je case.0x1401f5a23.13
mov ebx, edi
jmp case.0x1401ece8e.33
mov eax, 0x3000
cmp edx, eax
ja case.0x1401f48bf.8193
je case.0x1401f5a23.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x1401f48bf.8193
movzx eax, byte [r10 + rdx + 0x1f7bdc]
mov ecx, dword [r10 + rax*4 + 0x1f7bd4]
add rcx, r10
jmp rcx
cmp edx, 0xd
ja 0x1401f5c0f
je 0x1401f4ac1
sub edx, 0xa
je 0x1401f4ac1
sub edx, 1
je 0x1401f4ac1
cmp edx, 1
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
sub edx, 0x85
je 0x1401f4ac1
sub edx, 0x1fa3
je 0x1401f4ac1
cmp edx, 1
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0xd
ja 0x1401f5c70
je case.0x1401f5a23.13
sub edx, 0xa
je case.0x1401f5a23.13
sub edx, 1
je case.0x1401f5a23.13
cmp edx, 1
je case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
sub edx, 0x85
je case.0x1401f5a23.13
sub edx, 0x1fa3
je case.0x1401f5a23.13
cmp edx, 1
je case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae case.0x1401f5a23.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
je case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 8
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae case.0x1401f5a23.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
je case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 1
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae case.0x1401f5a23.13
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
je case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
cmp edx, 0x100
jae 0x1401f4ac1
mov rax, qword [r13 + 0x48]
test byte [rdx + rax], 0x10
jne case.0x1401f5a23.13
mov ebx, edi
mov r8d, 0x2000
jmp case.0x1401ece8e.33
test ebx, ebx
jne case.0x1401ece8e.33
mov r8, qword [r12 + 0x50]
mov ebx, 0xdc00
add r8, 0xfffffffffffffffe
mov qword [r12 + 0x50], r8
test r14d, r14d
jne 0x1401f62ef
movzx edx, word [r8]
jmp 0x1401f633c
test ebx, ebx
jne case.0x1401ece8e.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 0x1401f5de4
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
cmp dword [r12 + 0x40], 0x11
jne 0x1401f644c
cmp rcx, qword [r12 + 8]
jbe 0x1401f644c
cmp word [rcx], 0xa
jne 0x1401f644c
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
cmp word [rcx], 0xd
jne 0x1401f6454
mov qword [r12 + 0x50], rcx
jmp 0x1401f6454
test ebx, ebx
jne case.0x1401ece8e.33
mov rcx, qword [r12 + 0x50]
mov r15d, dword [rsp + 0x108]
add rcx, 0xfffffffffffffffe
mov qword [r12 + 0x50], rcx
test r14d, r14d
je 0x1401f5e61
movzx eax, word [rcx]
mov edx, 0xdc00
and ax, si
cmp ax, dx
jne 0x1401f5e61
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 0x1401f68a3
mov rbp, qword [rsp + 0x30]
xor r9d, r9d
mov rdi, qword [rsp + 0x100]
mov r11d, dword [rsp + 0xe0]
jmp 0x1401ecd09
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f5f09
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5f09
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
mov eax, r8d
movzx edx, word [r10 + rcx*4 + 0x3c039a]
and r8d, 0x1f
shr rax, 5
and edx, 0xfff
add rdx, rax
mov eax, dword [r10 + rdx*4 + 0x3bf830]
bt eax, r8d
mov edx, edi
mov eax, edi
setb dl
cmp dword [r12 + 0x40], 0xf
sete al
cmp edx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdf
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f5ffd
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f5ffd
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx eax, word [r10 + rcx*4 + 0x3c0398]
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 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe0
jmp 0x1401f6c32
test ebx, ebx
jne case.0x1401ece8e.33
mov ecx, dword [r12 + 0x38]
lea eax, [rcx + 1]
mov dword [r12 + 0x38], eax
cmp ecx, dword [r12 + 0x3c]
jae case.0x1401f48bf.8193
mov rax, qword [r12 + 0x50]
cmp rax, qword [r13 + 0x88]
jae 0x1401f5923
movzx edx, word [rax]
lea r8, [rax + 2]
mov qword [r12 + 0x50], r8
test r14d, r14d
je 0x1401f60d4
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f60d4
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
lea rdx, [rcx*4 + 0x3c0390]
mov ecx, dword [r12 + 0x44]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x1401f6135
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 + 0x3c0090]
bt eax, ecx
mov ecx, edi
jae 0x1401f613a
mov ecx, 1
cmp dword [r12 + 0x40], 0xf
mov eax, edi
sete al
cmp ecx, eax
je 0x1401f4ac1
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xe1
jmp 0x1401f6c32
mov rbx, qword [rsp + 0x40]
lea rcx, [r12 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.140258d60
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 0x1401f61a0
jmp 0x1401f4013
mov rcx, qword [r12]
movzx eax, word [rcx + 2]
lea rbx, [rcx + rax*2]
mov qword [r12], rbx
cmp word [rbx], 0x78
je 0x1401f6ae2
lea rax, [rbx + 4]
jmp 0x1401f4017
mov rbx, qword [rsp + 0x40]
lea rcx, [r12 + 0x80]
mov r8, qword [rbx + 0x78]
lea rdx, [rbx + 0x80]
shl r8, 3
call fcn.140258d60
mov rax, qword [rbx + 0x78]
lea r10, [0x140000000]
mov qword [r12 + 0x78], rax
mov eax, dword [r12 + 0x38]
jmp 0x1401f6239
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 0x1401f65a4
cmp dword [r12 + 0x38], 0
mov eax, edi
sete al
test eax, eax
je 0x1401f627c
mov rcx, qword [r12]
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx + 2]
lea rcx, [rcx + rax*2]
mov qword [r12], rcx
cmp word [rcx], 0x78
je 0x1401f6250
mov r15d, dword [rsp + 0x108]
mov rcx, qword [r12]
movzx eax, word [rcx]
movzx edx, byte [rax + r10 + 0x3dbd20]
jmp 0x1401f628d
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 0x1401f4023
mov rsi, qword [rsp + 0xf8]
mov eax, 0x2008f
mov dword [rsp + 0xe8], eax
mov byte [r12 + 0x48], 0x23
jmp 0x1401f6c32
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
je 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x22
jmp 0x1401f6c32
movzx ecx, word [r8]
mov r9, r8
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401f630e
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 0x1401f633c
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r10 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx r10d, byte [r10 + rcx*4 + 0x3c0392]
cmp r8, r9
jbe 0x1401f641d
lea r11, [0x140000000]
nop
movzx ecx, word [r8 - 2]
add r8, 0xfffffffffffffffe
test r14d, r14d
jne 0x1401f6392
mov edx, ecx
jmp 0x1401f63d1
movzx eax, cx
and ax, si
cmp ax, bx
jne 0x1401f63a6
movzx ecx, word [r8 - 2]
sub r8, 2
movzx edx, cx
mov eax, edx
and eax, esi
cmp eax, ebp
jne 0x1401f63d1
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 + 0x3c45a0]
shl ecx, 7
add ecx, edx
movzx eax, word [r11 + rcx*2 + 0x3c89a0]
lea rcx, [rax + rax*2]
movzx edx, byte [r11 + rcx*4 + 0x3c0392]
mov eax, dword [r11 + rdx*4 + 0x3dbe90]
bt eax, r10d
jae 0x1401f641d
mov qword [r12 + 0x50], r8
mov r10d, edx
cmp r8, r9
ja 0x1401f6380
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdc
jmp 0x1401f6c32
mov r15d, dword [rsp + 0x108]
mov rax, qword [r12 + 8]
cmp qword [r12 + 0x50], rax
jbe 0x1401f4023
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdd
jmp 0x1401f6c32
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 + 0x3dbd20]
movzx eax, word [rdx + 2]
ja 0x1401f68b2
add rcx, rax
lea rax, [rdx + rcx*2]
mov qword [r12], rax
jmp 0x1401ecd10
test r14d, r14d
jne 0x1401f4ed2
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1d
jmp 0x1401f6c32
test r14d, r14d
jne 0x1401f4fba
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x1f
jmp 0x1401f6c32
test r14d, r14d
jne 0x1401f4ca8
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x17
jmp 0x1401f6c32
test esi, esi
js 0x1401f6536
cmp esi, 0xd
ja case.0x1401f4795.15
movsxd rax, esi
mov ecx, dword [rbx + rax*4 + 0x1f7c3c]
add rcx, rbx
jmp rcx
cmp dword [r12 + 0x40], 0x16
je 0x1401f6800
test r14d, r14d
jne case.0x1401f5a23.13
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401f6c32
mov rsi, qword [rsp + 0xf8]
mov dword [r12 + 0x3c], r15d
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x16
jmp 0x1401f6c32
mov edx, r9d
jmp 0x1401f69a9
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 + 0x3dbd20]
mov byte [r12 + 0x48], 5
lea rbx, [rcx + rax*2]
jmp 0x1401f6c32
mov byte [r12 + 0x48], 7
jmp 0x1401f6c32
mov rsi, qword [rsp + 0xf8]
lea rbx, [rbx + rax*2]
mov byte [r12 + 0x48], 1
jmp 0x1401f6c32
mov rax, qword [r12 + 0x10]
mov qword [r12], rax
jmp 0x1401f695e
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], setsockopt
jmp 0x1401f6c32
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0x1c
jmp 0x1401f6c32
cmp r8, qword [r13 + 0x88]
jae case.0x1401f4795.13
cmp word [r8], 0xa
jne case.0x1401f4795.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 0x1401f6c32
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401f4795.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401f4795.13
cmp dword [r13 + 0xdc], 0
jne case.0x1401f4795.13
cmp dword [r13 + 0xe0], 2
jne case.0x1401f4795.13
movzx eax, word [r13 + 0xe4]
cmp edx, eax
jne case.0x1401f4795.13
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0x21
jmp 0x1401f6c32
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], WSAAsyncSelect
jmp 0x1401f6c32
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x1401f6701
lea rax, [rdx - 2]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xc9
jmp 0x1401f6c32
lea rax, [rdi + rbx]
jmp 0x1401f6722
lea rax, [rbx + rdi]
mov qword [r12 + 0x50], rax
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xca
jmp 0x1401f6c32
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xcb
jmp 0x1401f6c32
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xcf
jmp 0x1401f6c32
movzx r10d, word [rax]
lea rdx, [rax + 2]
mov qword [r12 + 0x50], rdx
mov rcx, rdx
test r14d, r14d
je 0x1401f67a6
mov eax, r10d
and eax, esi
cmp eax, ebp
jne 0x1401f67a6
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.1402274f0
mov qword [r12 + 0x50], rax
cmp rax, qword [r13 + 0x88]
jb 0x1401f6800
movzx ecx, word [r13 + 0x60]
test cx, cx
je 0x1401f6800
cmp rax, qword [r13 + 0x98]
ja 0x1401f67ee
cmp dword [r13 + 0x34], 0
je 0x1401f6800
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xda
jmp 0x1401f6c32
cmp r8, qword [r13 + 0x88]
jae case.0x1401f5a23.13
cmp word [r8], 0xa
jne case.0x1401f5a23.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 0x1401f6c32
movzx ecx, word [r13 + 0x60]
test cx, cx
je case.0x1401f5a23.13
cmp r8, qword [r13 + 0x88]
jb case.0x1401f5a23.13
cmp dword [r13 + 0xdc], 0
jne case.0x1401f5a23.13
cmp dword [r13 + 0xe0], 2
jne case.0x1401f5a23.13
movzx eax, word [r13 + 0xe4]
cmp edx, eax
jne case.0x1401f5a23.13
mov dword [r13 + 0x2c], 1
cmp cx, 1
ja 0x1401ef939
mov rbx, qword [r12]
mov rsi, qword [rsp + 0xf8]
mov byte [r12 + 0x48], 0xdb
jmp 0x1401f6c32
mov rbx, qword [r12]
mov byte [r12 + 0x48], 0xde
jmp 0x1401f6c32
mov byte [r12 + 0x48], select
jmp 0x1401f6c2b
add rbx, 2
mov qword [r12 + 8], rbx
mov byte [r12 + 0x48], 9
jmp 0x1401f6c32
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 0x1401f68e0
lea rbx, [rcx + 4]
mov byte [r12 + 0x48], 0xa
jmp 0x1401f6c32
add rbx, 2
mov dword [r12 + 0x40], 1
mov qword [r12], rbx
mov ecx, 0x89
movzx eax, word [rbx]
cmp ax, cx
je 0x1401f6940
mov ecx, 0x8e
cmp ax, cx
jne 0x1401f6934
jmp 0x1401f6940
mov dword [r12 + 0x40], r9d
mov eax, 0x20000
jmp 0x1401f6948
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 + 0x3dbd20]
mov byte [r12 + 0x48], 8
lea rbx, [rcx + rax*2]
jmp 0x1401f6c32
movzx edx, word [rbx + 4]
bts edx, 0x10
jmp 0x1401f69a9
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 + 0x3dbd20]
mov byte [r12 + 0x48], 2
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
mov rcx, qword [r13 + 0x70]
movzx eax, word [rbx + 2]
lea r10, [rcx + rax*2]
cmp r10, rcx
je 0x1401f69fa
movzx r9d, word [r10 + 4]
cmp dword [r12 + 0x68], 0xffffffff
je 0x1401f6a49
mov rax, qword [r12 + 0x70]
cmp rax, 0xffffffffffffffff
je 0x1401f6a49
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 0x1401f6a3a
mov rax, qword [rcx + 0x70]
cmp rax, 0xffffffffffffffff
jne 0x1401f6a20
jmp 0x1401f6a49
mov rax, qword [rcx + 0x50]
cmp qword [r12 + 0x50], rax
je 0x1401f6e0d
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 + 0x3dbd20]
mov byte [r12 + 0x48], listen
lea rbx, [rcx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
mov byte [r12 + 0x48], 3
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
mov byte [r12 + 0x48], 4
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], listen
jmp 0x1401f6c2b
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x3dbd20]
mov byte [r12 + 0x48], reloc.WS2_32.dll_listen
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], 0x24
jmp 0x1401f6c2b
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x3dbd20]
mov byte [r12 + 0x48], reloc.WS2_32.dll_ntohl
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], select
jmp 0x1401f6c2b
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x3dbd20]
mov byte [r12 + 0x48], select
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
movzx eax, word [rbx]
movzx eax, byte [rax + r8 + 0x3dbd20]
mov byte [r12 + 0x48], reloc.WS2_32.dll_select
lea rbx, [rbx + rax*2]
jmp 0x1401f6c32
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 + 0x3dbd20]
movzx eax, word [rdx + 2]
mov byte [r12 + 0x48], setsockopt
add rcx, rax
lea rbx, [rdx + rcx*2]
lea rbp, [r12 + rsi]
mov qword [rsp + 0x30], rbp
cmp rbp, qword [rsp + 0x60]
jb 0x1401f6cf2
mov r15, qword [rsp + 0x100]
mov rcx, qword [r13 + 0x18]
mov r8, qword [r15 + 0x38]
lea rdi, [r8 + r8]
cmp rdi, rcx
jbe 0x1401f6c76
xor edx, edx
mov rax, rcx
div rsi
mov rdi, rcx
sub rdi, rdx
cmp r8, rdi
jae 0x1401f6e14
mov rdx, qword [r15 + 0x10]
mov rcx, rdi
call qword [r15]
mov rsi, rax
test rax, rax
je 0x1401f6e1b
mov r8, qword [rsp + 0x58]
mov rcx, rax
mov rdx, qword [r15 + 0x30]
call fcn.140258d60
mov rcx, qword [r15 + 0x30]
mov rdx, rsi
mov rbp, qword [rsp + 0xf8]
sub rdx, rcx
add r12, rdx
mov rdx, qword [r15 + 0x10]
add rbp, r12
mov qword [rsp + 0x30], rbp
call qword [r15 + reloc.WS2_32.dll_htonl]
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.140258d60
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 0x1401ecc70
xor eax, eax
jmp 0x1401f6e27
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 0x1401f6d71
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.140258d60
mov rax, qword [r12 + 0x78]
dec ebx
add rax, 2
mov edx, ebx
cmp rdx, rax
jb 0x1401f6dfb
nop dword [rax]
nop word [rax + 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 0x1401f6de0
mov eax, 1
jmp 0x1401f6e27
mov eax, 0xffffffd4
jmp 0x1401f6e27
mov eax, ebx
jmp 0x1401f6e27
mov eax, 0xffffffcc
jmp 0x1401f6e27
mov eax, 0xffffffc1
jmp 0x1401f6e27
mov eax, 0xffffffd0
jmp 0x1401f6e27
mov eax, 0xffffffd1
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret