Function at 0x14006b14d
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
movaps xmmword [rsp + 0x210], xmm6
mov qword [rsp + 0x138], r9
mov rbx, rcx
mov rcx, qword [rsp + 0x298]
lea rax, [rdx + r8]
test r8, r8
je 0x14006b2a5
xor r9d, r9d
movaps xmm0, xmmword [0x140131f60]
mov r14, rdx
movzx r10d, byte [r14]
test r10b, r10b
js 0x14006b1a3
inc r14
jmp 0x14006b216
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [r14 + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14006b1f8
movzx esi, byte [r14 + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x14006b208
movzx r10d, byte [r14 + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x14006b276
add r14, 4
jmp 0x14006b216
add r14, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x14006b216
add r14, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x14006b221
xor r11d, r11d
jmp 0x14006b26a
test r9, r9
jne 0x14006b22c
cmp r10d, 0x2d
je 0x14006b2a5
mov r11d, 5
cmp r9, 4
ja 0x14006b256
movups xmmword [rsp + 0x58], xmm0
je 0x14006d836
cmp r10d, dword [rsp + r9*4 + 0x58]
jne 0x14006b256
inc r9
mov r11, r9
cmp r9, 4
je 0x14006b2a5
lea r9d, [r10 - 0x61]
cmp r9d, 0x1a
jb 0x14006b26a
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x14006b2a5
mov r9, r11
cmp r14, rax
jne 0x14006b195
call fcn.14011891e
mov dword [rbx + 8], 0
mov qword [rbx], 0
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x1e8], rbx
mov r8, qword [rsp + 0x290]
xor r10d, r10d
mov qword [r8 + 0x10], r10
lea r9, [rsp + 0x38]
mov dword [r9 + 8], r10d
mov qword [r9], r10
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x1f0], rcx
xorps xmm6, xmm6
lea rcx, [rsp + 0x160]
movups xmmword [rcx + 2], xmm6
movups xmmword [rsp + 0x113], xmm6
mov byte [rsp + 0x123], r10b
movzx r8d, word [rcx + 0x10]
lea rbp, [rsp + 0x68]
mov word [rbp + 0x86], r8w
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x76], xmm0
mov qword [rbp - 0x10], r10
mov dword [rbp], r10d
mov word [rbp + 4], r10w
lea r14, [rsp + 0x70]
mov byte [r14], r10b
mov dword [r14 + 4], r10d
mov byte [r14 + 8], r10b
mov dword [r14 + 0xc], r10d
mov byte [r14 + 0x10], r10b
mov dword [r14 + 0x14], r10d
mov byte [r14 + 0x18], r10b
mov dword [r14 + 0x1c], r10d
mov qword [r14 + 0x20], rdx
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], r9
mov qword [r14 + 0x38], r10
mov rcx, qword [rsp + 0x138]
mov rax, rcx
shr rax, 0x20
mov byte [r14 + 0x4c], al
mov dword [r14 + 0x48], ecx
mov eax, dword [rsp + 0x120]
mov dword [r14 + 0x5d], eax
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [r14 + 0x4d], xmm0
mov dword [r14 + 0x68], r10d
lea rax, [rsp + 0xdc]
mov word [rax], r10w
mov dword [rax + 0x1c], 0x110000
mov byte [rax + 0x20], r10b
xor ecx, ecx
mov edx, dword [rsp + 0xd8]
mov r8, qword [rsp + 0xe8]
mov r10, qword [rsp + 0xf0]
movzx r9d, word [rsp + 0xdc]
cmp rcx, 1
jne 0x14006b415
test edx, edx
je 0x14006b3dd
cmp rax, r10
jb 0x14006bb98
mov qword [rsp + 0xf0], 0
xor r10d, r10d
jmp 0x14006b408
movzx ecx, r9w
cmp r9w, 5
jae 0x14006d86c
cmp rax, rcx
jb 0x14006bb90
test r9w, r9w
je 0x14006b405
mov word [rsp + 0xdc], 0
xor r9d, r9d
mov qword [rsp + 0x58], 0
xor ecx, ecx
jmp 0x14006b3b9
cmp rcx, 2
jne 0x14006b43d
test edx, edx
je 0x14006bb5c
cmp rax, r10
jb 0x14006bb77
mov qword [rsp + 0xf0], 0
jmp 0x14006bbfb
mov r9, qword [rsp + 0xc8]
test r9, r9
jne 0x14006b66c
mov r15b, byte [rsp + 0xb8]
cmp r15b, 2
je 0x14006b728
mov r12, r14
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov cl, byte [rsp + 0xb9]
mov byte [rsp + 0x30], cl
mov rdi, qword [rsp + 0xb0]
test rax, rax
je 0x14006b540
cmp rax, rdi
je 0x14006b534
lea rcx, [rax + 1]
mov qword [rsp + 0xa8], rcx
movzx esi, byte [rax]
test sil, sil
jns 0x14006b69c
mov ecx, esi
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xa8], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x14006bae0
lea rdx, [rax + 3]
mov qword [rsp + 0xa8], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp sil, 0xf0
jb 0x14006baed
lea r8, [rax + 4]
mov qword [rsp + 0xa8], r8
movzx esi, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
jne case.0x14006b635.0
mov qword [rsp + 0xa8], 0
cmp r14, r13
je 0x14006b71d
lea rcx, [r14 + 1]
mov qword [rsp + 0x90], rcx
movzx eax, byte [r14]
test al, al
js 0x14006b564
mov r14, rcx
mov esi, eax
jmp 0x14006b5da
mov esi, eax
and esi, 0x1f
lea rcx, [r14 + 2]
mov qword [rsp + 0x90], rcx
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x14006b5c6
lea r8, [r14 + 3]
mov qword [rsp + 0x90], r8
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x14006b5d0
lea rax, [r14 + 4]
mov qword [rsp + 0x90], rax
movzx edx, byte [r14 + 3]
and esi, 7
shl esi, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, esi
mov r14, rax
mov esi, edx
jmp 0x14006b5da
shl esi, 6
or esi, edx
mov r14, rcx
jmp 0x14006b5da
shl esi, 0xc
or ecx, esi
mov r14, r8
mov esi, ecx
lea eax, [rsi - 0x2d]
cmp eax, 2
jb 0x14006b69c
cmp esi, 0x110000
je 0x14006b71d
lea eax, [rsi - 0x61]
cmp eax, 0x1a
jb 0x14006b69c
lea eax, [rsi - 0x30]
cmp eax, 0xa
jb 0x14006b69c
mov ecx, esi
call fcn.14006afff
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14006b635
mov eax, edx
lea rdx, [0x140131f70]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x68]
jmp 0x14006b842
cmp esi, 0x110000
je 0x14006b71d
cmp byte [rsp + 0xd0], 0
je 0x14006b70d
cmp esi, 0x80
jb 0x14006b715
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
mov r14, r12
jb 0x14006b77d
mov ecx, esi
call fcn.140118976
test rax, rax
jne 0x14006b6df
mov ecx, esi
call fcn.140118a20
test rax, rax
je 0x14006b7e9
mov rdi, rax
mov rbx, rdx
test rdx, rdx
je 0x14006b43d
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, rbp
call fcn.14006f36a
add rsi, 4
cmp rbx, rsi
jne 0x14006b6f4
jmp 0x14006b43d
cmp esi, 0x80
jae 0x14006b768
mov r14, r12
jmp 0x14006b7e9
mov byte [rsp + 0xb8], 2
mov r14, r12
mov r8d, dword [rsp + 0x68]
test r8d, r8d
mov rdx, qword [rsp + 0x80]
movzx eax, word [rsp + 0x6c]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14006bbaf
mov rcx, qword [rsp + 0xc8]
test r8d, r8d
je 0x14006b7f8
mov r8, qword [rsp + 0x78]
jmp 0x14006b808
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
mov r14, r12
jae 0x14006baa2
mov esi, edi
mov r15d, 0xffff
and esi, r15d
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, rbp
call fcn.14006f36a
imul eax, ebx, 0x24c
mov ecx, edi
sub ecx, eax
and ecx, r15d
imul edx, ecx, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, rbp
call fcn.14006f36a
shr esi, 2
imul eax, esi, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x14006b43d
add edi, 0x11a7
movzx esi, di
mov rcx, rbp
mov edx, esi
call fcn.14006f36a
jmp 0x14006b43d
cmp ax, 5
jae 0x14006d89e
mov r8, r14
mov rdx, rax
mov rax, rdx
sub rax, rcx
jb 0x14006d886
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.14006eb8f
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x14006b834
mov r9, qword [rsp + 0x80]
jmp 0x14006b83a
movzx r9d, word [rsp + 0x6c]
mov qword [rsp + 0xc8], r9
mov rcx, qword [rsp + 0xc0]
test r8d, r8d
je 0x14006b85e
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
jmp 0x14006b870
movzx eax, word [rsp + 0x6c]
cmp rax, 5
jae 0x14006d87d
mov rdx, r14
cmp rcx, rax
jae 0x14006d405
mov esi, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14006b894
test r8d, r8d
je 0x14006b8a1
mov rdx, qword [rsp + 0x80]
jmp 0x14006b8a6
mov qword [rsp + 0xc0], rcx
jmp 0x14006b94b
movzx edx, word [rsp + 0x6c]
sub rdx, r9
je 0x14006b91f
xor ecx, ecx
mov rax, qword [rsp + 0xc8]
add rax, rcx
cmp dword [rsp + 0x68], 0
je 0x14006b8d7
mov r9, qword [rsp + 0x80]
cmp rax, r9
jae 0x14006bd50
mov r8, qword [rsp + 0x78]
jmp 0x14006b8f3
movzx r9d, word [rsp + 0x6c]
cmp r9, 5
jae 0x14006d858
cmp rax, r9
jae 0x14006bd50
mov r8, r14
cmp rcx, r9
jae 0x14006bd5c
mov r9d, dword [r8 + rax*8 + 4]
mov al, byte [r8 + rax*8]
mov byte [r8 + rcx*8], al
mov dword [r8 + rcx*8 + 4], r9d
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x14006b8ad
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x14006b938
cmp qword [rsp + 0x80], rdx
jb 0x14006b947
mov qword [rsp + 0x80], rdx
jmp 0x14006b947
movzx eax, word [rsp + 0x6c]
cmp rdx, rax
jae 0x14006b947
mov word [rsp + 0x6c], dx
movups xmmword [rbp + 0x58], xmm6
imul eax, esi, 0x9e3779b9
imul ecx, esi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x14019f678]
movzx eax, word [rdx + rax*2]
add eax, esi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x14019fdac]
mov ebx, dword [rcx + rax*4]
mov eax, ebx
shr eax, 8
cmp eax, esi
mov eax, 0
cmovne ebx, eax
mov edi, dword [rsp + 0xf8]
cmp edi, 0x110000
jne 0x14006b9c0
test bl, bl
jne 0x14006bb89
mov dword [rsp + 0xf8], esi
jmp 0x14006b43d
cmp byte [rsp + 0xfc], 0
je 0x14006b9e5
cmp byte [rsp + 0xfd], bl
jae 0x14006ba0a
mov ecx, edi
mov edx, esi
call fcn.140118aca
cmp eax, 0x110000
je 0x14006ba12
jmp 0x14006b9fe
mov ecx, edi
mov edx, esi
call fcn.140118aca
cmp eax, 0x110000
jne 0x14006b9fe
test bl, bl
jne 0x14006ba12
jmp 0x14006bd44
mov dword [rsp + 0xf8], eax
jmp 0x14006b43d
test bl, bl
je 0x14006bd1e
cmp dword [rsp + 0xd8], 0
je 0x14006ba58
mov rax, qword [rsp + 0xf0]
cmp rax, qword [rsp + 0xe0]
jne 0x14006ba43
lea rcx, [rsp + 0xe0]
call fcn.14006adfc
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe8]
mov dword [rcx + rax*4], esi
inc qword [rsp + 0xf0]
jmp 0x14006ba7b
movzx eax, word [rsp + 0xdc]
cmp rax, 3
ja 0x14006baf9
mov dword [rsp + rax*4 + 0xe0], esi
inc eax
mov word [rsp + 0xdc], ax
mov byte [rsp + 0xfc], 1
mov byte [rsp + 0xfd], bl
jmp 0x14006b43d
mov ecx, esi
call fcn.140118a20
test rax, rax
je 0x14006b7e9
mov rbx, rdx
test rdx, rdx
je 0x14006b43d
mov rdi, rax
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, rbp
call fcn.14006f36a
add rsi, 4
cmp rbx, rsi
jne 0x14006bac7
jmp 0x14006b43d
shl ecx, 6
or ecx, r8d
mov esi, ecx
jmp 0x14006b69c
shl ecx, 0xc
or edx, ecx
mov esi, edx
jmp 0x14006b69c
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xdc]
mov r8d, esi
call fcn.14006ae2b
cmp dword [rsp + 0xd8], 0
je 0x14006bb3c
cmp qword [rsp + 0xe0], 0
je 0x14006bb3c
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
movups xmm0, xmmword [rsp + 0x160]
movups xmm1, xmmword [rsp + 0x170]
movups xmmword [rbp + 0x80], xmm1
movups xmmword [rbp + 0x70], xmm0
jmp 0x14006ba7b
movzx ecx, r9w
cmp cx, 5
jae 0x14006d86c
lea r8, [rsp + 0xe0]
cmp rax, rcx
jae 0x14006bbeb
mov edi, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x58], 2
jmp 0x14006bba8
mov edi, esi
jmp 0x14006bc16
lea r8, [rsp + 0xe0]
mov edi, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], rax
jmp 0x14006bc16
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x60], 0
mov edi, dword [rsp + 0xf8]
mov ecx, 2
mov eax, 0
cmp edi, 0x110000
je 0x14006b399
mov dword [rsp + 0xf8], 0x110000
jmp 0x14006bc16
test r9w, r9w
je 0x14006bbfb
mov word [rsp + 0xdc], 0
mov edi, dword [rsp + 0xf8]
mov eax, 0x110000
mov dword [rsp + 0xf8], eax
cmp edi, eax
je 0x14006bd6b
cmp edi, 0x80
jae 0x14006bc54
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x14006bc40
call fcn.140120a28
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], dil
inc rax
mov qword [rcx + 0x10], rax
jmp 0x14006bd0f
mov dword [rsp + 0x160], 0
cmp edi, 0x800
mov rcx, qword [rsp + 0x290]
mov eax, edi
jae 0x14006bc8a
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x160], al
mov r8d, 2
mov eax, 1
jmp 0x14006bcf2
cmp edi, 0x10000
jae 0x14006bcbb
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x160], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x161], al
mov r8d, 3
mov eax, 2
jmp 0x14006bcf2
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x160], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x161], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x162], al
mov r8d, 4
mov eax, 3
and dil, 0x3f
or dil, 0x80
mov byte [rsp + rax + 0x160], dil
lea rdx, [rsp + 0x160]
call fcn.14011891e
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
jmp 0x14006b399
mov dword [rsp + 0xf8], esi
mov byte [rsp + 0xfc], 0
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 0
jmp 0x14006bc16
mov dword [rsp + 0xf8], esi
jmp 0x14006bc16
lea r8, [0x14017a728]
mov rcx, rax
jmp 0x14006bd63
lea r8, [0x14017a740]
mov rdx, r9
call fcn.140038810
cmp dword [rsp + 0x68], 0
je 0x14006bd94
cmp qword [rsp + 0x70], 0
je 0x14006bd94
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
mov edx, dword [rsp + 0xd8]
test edx, edx
je 0x14006bdb9
cmp qword [rsp + 0xe0], 0
je 0x14006bdb9
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
xor edx, edx
lea rax, [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x138]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
lea rbp, [rsp + 0x160]
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x38], 1
mov word [rbp + 0x40], 1
mov bl, 1
xorps xmm6, xmm6
xor r15d, r15d
mov rcx, rbp
call fcn.1400728c1
test rax, rax
je 0x14006d3c8
mov r13, rax
mov rsi, rdx
test bl, 1
mov rdi, qword [rsp + 0x298]
jne 0x14006be80
mov rax, qword [rdi + 0x10]
cmp rax, qword [rdi]
jne 0x14006be71
mov rcx, rdi
call fcn.140120a28
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov byte [rcx + rax], 0x2e
inc rax
mov qword [rdi + 0x10], rax
cmp rsi, 4
jb 0x14006be90
cmp dword [r13], 0x2d2d6e78
je 0x14006bed1
test r15b, 1
jne 0x14006bea4
mov rcx, r13
mov rdx, rsi
call fcn.14006da02
mov r15d, eax
mov rcx, r13
mov rdx, rsi
mov r8, qword [rsp + 0x138]
lea r9, [rsp + 0x38]
call fcn.14006dabd
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.14011891e
xor ebx, ebx
jmp 0x14006be38
cmp rsi, 4
je 0x14006bee2
cmp byte [r13 + 4], 0xbf
jle 0x14006d93a
add rsi, 0xfffffffffffffffc
add r13, 4
mov qword [rsp + 0x120], 0
mov r14, rsi
mov r12d, 0x1a
mov qword [rsp + 0x1c0], r15
mov cl, 0x2d
mov rdx, r13
mov r8, r14
call fcn.140041b00
cmp rax, 1
jne 0x14006bf33
mov r14, rdx
cmp rdx, rsi
jae 0x14006bf2e
cmp byte [r13 + r14], 0x2d
je 0x14006c1cf
cmp r14, rsi
jbe 0x14006bf07
mov rbx, r13
xor r14d, r14d
lea r13, [0x1401bef68]
mov rcx, r14
mov rax, r14
sub rax, 1
jb 0x14006bf6e
cmp byte [r13 + rcx - 1], 0
mov rcx, rax
jns 0x14006bf46
mov byte [rsp + 0x38], 1
mov r15b, 1
xor ebx, ebx
lea rbp, [rsp + 0x160]
jmp 0x14006be38
mov r15, rsi
test r15, r15
je 0x14006c205
add r15, rbx
xor edx, edx
mov ebp, 0x48
mov dword [rsp + 0x30], pe_nt_image_headers64
mov eax, r14d
mov dword [rsp + 0x108], r14d
xor edi, edi
mov qword [rsp + 0x130], rdx
lea r9d, [rbp + 0x1a]
inc rbx
mov r10d, ebp
neg r10d
mov r11d, 1
mov esi, 0x24
mov ecx, edi
mov al, byte [rbx - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x14006bfcc
add al, 0xea
mov edx, eax
jmp 0x14006bfe0
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x14006bfe0
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x14006bf57
test r11d, r11d
je 0x14006d84c
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x14006bf57
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + rsi]
cmp esi, r9d
cmovae eax, r12d
cmp esi, ebp
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x14006c04f
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x14006bf57
cmp rbx, r15
je 0x14006bf57
add esi, 0x24
imul r11d, r8d
inc rbx
jmp 0x14006bfbb
mov r10d, dword [rsp + 0x108]
inc r10d
je 0x14006d892
mov eax, ecx
sub eax, edi
test edi, edi
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor ebp, ebp
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
jb 0x14006c0bf
xor ebp, ebp
mov r9d, 0xd41d41d5
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add ebp, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x14006c096
jmp 0x14006c0c2
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov esi, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x108], r10d
div r10d
add dword [rsp + 0x30], eax
jb 0x14006bf57
mov eax, dword [rsp + 0x30]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14006bf57
mov edi, edx
mov rcx, qword [rsp + 0x118]
mov r12d, edx
mov r9, qword [rsp + 0x130]
test r9, r9
je 0x14006c148
mov rax, r9
shl rax, 4
xor r8d, r8d
mov rdx, qword [rcx + r8]
cmp rdx, r12
jb 0x14006c13f
inc rdx
mov qword [rcx + r8], rdx
add r8, 0x10
cmp rax, r8
jne 0x14006c12f
cmp r9, qword [rsp + 0x110]
jne 0x14006c16f
lea rcx, [rsp + 0x110]
call fcn.14006f2c0
mov rcx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x120]
movzx eax, si
add ebp, eax
mov rax, r9
shl rax, 4
mov qword [rcx + rax], r12
mov edx, dword [rsp + 0x30]
mov dword [rcx + rax + 8], edx
lea rdx, [r9 + 1]
mov qword [rsp + 0x120], rdx
inc edi
cmp rbx, r15
mov r12d, 0x1a
jne 0x14006bf99
cmp rdx, 0x15
mov r15, qword [rsp + 0x298]
jae 0x14006cd74
cmp rdx, 1
jbe 0x14006c215
mov r8d, 1
mov rsi, rcx
call fcn.14006f204
mov rcx, rsi
jmp 0x14006c215
test r14, r14
je 0x14006c429
lea rbx, [r14 + 1]
mov r15, rsi
sub r15, rbx
jbe 0x14006c1f0
cmp byte [r13 + rbx], 0xbf
jle 0x14006d979
add rbx, r13
cmp r14, 7
ja 0x14006c434
mov rsi, r15
jmp 0x14006bf40
mov rcx, qword [rsp + 0x118]
mov r15, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x120]
lea r8, [rsi + r14]
mov rax, qword [r15]
mov rdx, qword [r15 + 0x10]
mov qword [rsp + 0x30], rdx
sub rax, rdx
cmp rax, r8
mov r12, rcx
jb 0x14006cd5a
add r14, r13
xor edi, edi
xor ebx, ebx
mov r10, rdi
shl r10, 4
add r10, rcx
mov rax, r13
cmp rdi, rsi
jae 0x14006c25e
cmp qword [r10], rbx
je 0x14006c300
mov rdx, r14
cmp rax, r14
je 0x14006c2c0
movzx ebp, byte [rax]
test bpl, bpl
jns 0x14006c2cd
mov edx, ebp
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp bpl, 0xdf
jbe 0x14006c2d8
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp bpl, 0xf0
jb 0x14006c2e9
movzx ebp, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r8d, 6
and ebp, 0x3f
or ebp, r8d
or ebp, edx
mov r13, rax
mov rdx, rax
cmp ebp, 0x110000
jne 0x14006c2fb
mov rax, rdx
cmp rdi, rsi
jb 0x14006c250
jmp 0x14006c3ee
inc rax
inc rbx
mov r13, rax
jmp 0x14006c312
add rax, 2
shl edx, 6
or edx, r9d
mov r13, rax
mov ebp, edx
jmp 0x14006c307
add rax, 3
shl edx, 0xc
or r8d, edx
mov r13, rax
mov ebp, r8d
jmp 0x14006c307
mov r13, rax
jmp 0x14006c307
inc rdi
mov ebp, dword [r10 + 8]
inc rbx
cmp ebp, 0x80
jae 0x14006c346
mov r15, qword [rsp + 0x298]
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15]
jne 0x14006c332
mov rcx, r15
call fcn.140120a28
mov rcx, r12
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 8]
mov byte [rdx + rax], bpl
inc rax
mov qword [r15 + 0x10], rax
jmp 0x14006c243
mov dword [rsp + 0x58], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x14006c36e
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x58], al
mov r8d, 2
mov eax, 1
jmp 0x14006c3c7
cmp ebp, 0x10000
jae 0x14006c399
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x58], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x59], al
mov r8d, 3
mov eax, 2
jmp 0x14006c3c7
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x58], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x59], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x5a], al
mov r8d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x58], bpl
mov rcx, qword [rsp + 0x298]
lea rdx, [rsp + 0x58]
call fcn.14011891e
mov rcx, r12
jmp 0x14006c243
mov rax, qword [rsp + 0x298]
mov r14, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov r12, qword [rsp + 0x30]
test r12, r12
mov r15, qword [rsp + 0x1c0]
lea rbp, [rsp + 0x160]
je 0x14006c48a
cmp rdi, r12
jbe 0x14006c484
cmp byte [r14 + r12], 0xbf
jg 0x14006c48a
jmp 0x14006d95c
mov rbx, r13
xor r14d, r14d
jmp 0x14006bf40
movabs rax, 0x8080808080808080
test qword [r13], rax
jne 0x14006bf57
lea rax, [r13 + 7]
and rax, 0xfffffffffffffff8
sub rax, r13
mov ecx, 8
cmove rax, rcx
lea rcx, [r14 - 8]
cmp rax, rcx
jae 0x14006ccaa
movabs rdx, 0x8080808080808080
test qword [r13 + rax], rdx
jne 0x14006bf57
add rax, 8
jmp 0x14006c460
jne 0x14006d95c
mov rsi, rdi
sub rsi, r12
add r12, r14
test r15b, 1
jne 0x14006c4a7
mov rcx, r12
mov rdx, rsi
call fcn.14006da02
mov r15d, eax
mov al, byte [rsp + 0x39]
or al, byte [rsp + 0x38]
or al, byte [rsp + 0x3a]
or al, byte [rsp + 0x3b]
or al, byte [rsp + 0x3c]
or al, byte [rsp + 0x3d]
or al, byte [rsp + 0x3e]
or al, byte [rsp + 0x3f]
or al, byte [rsp + 0x40]
or al, byte [rsp + 0x41]
or al, byte [rsp + 0x42]
xor ebx, ebx
or al, byte [rsp + 0x43]
jne 0x14006be38
add r14, rdi
xor r9d, r9d
mov rax, r12
xor r8d, r8d
mov ecx, r9d
cmp rax, r14
je 0x14006cb60
mov r9d, r8d
movzx edx, byte [rax]
test dl, dl
js 0x14006c506
inc rax
jmp 0x14006c579
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14006c55b
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14006c56b
movzx edx, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r8d
cmp edx, 0x110000
je 0x14006cb60
add rax, 4
jmp 0x14006c579
add rax, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x14006c579
add rax, 3
shl r8d, 0xc
or r10d, r8d
mov edx, r10d
xor r8d, r8d
cmp edx, 0x80
jb 0x14006c4ee
imul r8d, edx, 0x9e3779b9
imul r10d, edx, 0x31415926
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r11, [0x14019f678]
movzx r8d, word [r11 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r10, [0x14019fdac]
mov r8d, dword [r10 + r8*4]
mov r10d, r8d
shr r10d, 8
cmp r10d, edx
mov r10d, 0
cmovne r8d, r10d
cmp r9b, r8b
jbe 0x14006c5f5
test r8b, r8b
jne 0x14006cd4e
lea r9d, [rdx - 0x340]
cmp r9d, 4
ja 0x14006c60c
cmp r9d, 2
jne 0x14006cd4e
mov r9b, 2
cmp edx, 0xd56
jg 0x14006c676
cmp edx, 0x9de
jg 0x14006c6d7
cmp edx, 0x93b
jg 0x14006c7ed
lea r10d, [rdx - 0x30f]
cmp r10d, 0x36
ja 0x14006c650
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14006c4eb
lea r10d, [rdx - 0x374]
cmp r10d, 0x13
ja 0x14006c8f3
mov r11d, 0x80401
bt r11d, r10d
jb 0x14006cd4e
jmp 0x14006c8f3
cmp edx, 0x11126
jg 0x14006c73e
cmp edx, 0xf92
jg 0x14006c784
lea r10d, [rdx - 0xdca]
cmp r10d, 0x15
ja 0x14006c6ab
mov r11d, 0x200021
bt r11d, r10d
jb 0x14006c4eb
cmp edx, 0xd57
je 0x14006c4eb
lea r10d, [rdx - 0xf43]
cmp r10d, 0x3e
ja 0x14006c8f3
movabs r11, 0x4021004002108401
jmp 0x14006c8a4
cmp edx, 0xbd6
jg 0x14006c7c8
cmp edx, 0xbbd
jg 0x14006c8b0
lea r10d, [rdx - 0xb3e]
cmp r10d, 0x19
ja 0x14006c70c
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14006c4eb
lea r10d, [rdx - 0xa33]
cmp r10d, 0x2b
ja 0x14006c72d
movabs r11, 0x80000000009
bt r11, r10
jb 0x14006cd4e
cmp edx, 0x9df
jne 0x14006c8f3
jmp 0x14006cd4e
cmp edx, 0x114af
jle 0x14006c816
lea r10d, [rdx - 0x114b0]
cmp r10d, 0xd
ja 0x14006c767
mov r11d, 0x2401
bt r11d, r10d
jb 0x14006c4eb
cmp edx, 0x115af
je 0x14006c4eb
cmp edx, 0x11930
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0x1f70
jg 0x14006c85c
cmp edx, 0x102e
je 0x14006c4eb
cmp edx, 0x1b35
je 0x14006c4eb
lea r10d, [rdx - 0xf93]
cmp r10d, 0x26
ja 0x14006c8f3
movabs r11, 0x4002108401
jmp 0x14006c8a4
cmp edx, 0xcc1
jg 0x14006c83f
cmp edx, 0xbd7
je 0x14006c4eb
cmp edx, 0xc56
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0x93c
je 0x14006c4eb
cmp edx, 0x9be
je 0x14006c4eb
cmp edx, 0x9d7
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0x11127
je 0x14006c4eb
cmp edx, 0x1133e
je 0x14006c4eb
cmp edx, 0x11357
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0xcc2
je 0x14006c4eb
cmp edx, 0xd3e
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0xfa0f
jle 0x14006c8be
cmp edx, 0x110ba
je 0x14006c4eb
lea r10d, [rdx - 0xfa10]
cmp r10d, 0x12
ja 0x14006c88d
mov r11d, 0x50005
bt r11d, r10d
jb 0x14006cd4e
lea r10d, [rdx - 0xfb1d]
cmp r10d, 0x21
ja 0x14006c8f3
movabs r11, 0x200000005
bt r11, r10
jb 0x14006cd4e
jmp 0x14006c8f3
cmp edx, 0xbbe
je 0x14006c4eb
jmp 0x14006c8f3
cmp edx, 0x2125
jle 0x14006cb11
lea r10d, [rdx - 0x2329]
cmp r10d, 2
jb 0x14006cd4e
cmp edx, 0x2126
je 0x14006cd4e
cmp edx, 0x2adc
je 0x14006cd4e
lea r10d, [rdx - 0x2f800]
cmp r10d, 0x21e
jb 0x14006cd4e
lea r10d, [rdx - 0x1d1bb]
cmp r10d, 6
jb 0x14006cd4e
lea r10d, [rdx - 0x1d15e]
cmp r10d, 7
jb 0x14006cd4e
lea r10d, [rdx - 0xfb46]
cmp r10d, 9
jb 0x14006cd4e
lea r10d, [rdx - 0xfb43]
cmp r10d, 2
jb 0x14006cd4e
mov r10d, edx
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x14006cd4e
lea r11d, [rdx - 0xfb38]
cmp r11d, 5
jb 0x14006cd4e
lea r11d, [rdx - 0xfb2a]
cmp r11d, 0xd
jb 0x14006cd4e
lea r11d, [rdx - 0xfa70]
cmp r11d, 0x6a
jb 0x14006cd4e
lea r11d, [rdx - 0xfa2a]
cmp r11d, 0x44
jb 0x14006cd4e
lea r11d, [rdx - 0xfa25]
cmp r11d, 2
jb 0x14006cd4e
lea r11d, [rdx - 0xfa15]
cmp r11d, 0xa
jb 0x14006cd4e
lea r11d, [rdx - 0xf900]
cmp r11d, 0x10e
jb 0x14006cd4e
cmp r10d, 0x212a
je 0x14006cd4e
cmp r10d, 0x2000
je 0x14006cd4e
cmp r10d, 0x1fee
je 0x14006cd4e
lea r11d, [rdx - 0xf75]
cmp r11d, 2
jb 0x14006cd4e
cmp r10d, 0xb5c
je 0x14006cd4e
lea r11d, [rdx - 0xa59]
cmp r11d, 3
jb 0x14006cd4e
mov r11d, edx
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x14006cd4e
cmp r10d, 0x9dc
je 0x14006cd4e
lea r11d, [rdx - 0x11a8]
cmp r11d, 0x1b
jb 0x14006c4eb
lea r11d, [rdx - 0x1161]
cmp r11d, 0x15
jb 0x14006c4eb
lea r11d, [rdx - 0xcd5]
cmp r11d, 2
jb 0x14006c4eb
lea r11d, [rdx - 0x653]
cmp r11d, 3
jb 0x14006c4eb
cmp r10d, 0x330
je 0x14006c4eb
lea r10d, [rdx - 0x32d]
cmp r10d, 2
jb 0x14006c4eb
lea r10d, [rdx - 0x323]
cmp r10d, 6
jb 0x14006c4eb
lea r10d, [rdx - 0x313]
cmp r10d, 2
jb 0x14006c4eb
lea r10d, [rdx - 0x300]
cmp r10d, 5
jb 0x14006c4eb
lea r10d, [rdx - 0x306]
cmp r10d, 7
jb 0x14006c4eb
add edx, 0xffffcf67
cmp edx, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
jmp 0x14006c4eb
lea r10d, [rdx - 0x1fbe]
cmp r10d, 0x3f
ja 0x14006cb32
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x14006cd4e
lea r10d, [rdx - 0x1f71]
cmp r10d, 0xc
ja 0x14006cb4f
mov r11d, 0x1555
bt r11d, r10d
jb 0x14006cd4e
cmp edx, 0x1fbb
je 0x14006cd4e
jmp 0x14006c8f3
test cl, cl
je 0x14006cd2f
movzx eax, cl
cmp eax, 1
je 0x14006cd4e
lea rax, [rsp + 0x200]
movups xmmword [rax], xmm6
xor ecx, ecx
lea rdx, [rsp + 0xa0]
mov byte [rdx + 0x10], cl
movups xmmword [rdx], xmm6
movzx eax, word [rsp + 0x20e]
mov word [rdx + 0x2e], ax
movups xmm0, xmmword [rsp + 0x1fe]
movups xmmword [rdx + 0x1e], xmm0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x68], ecx
mov word [rsp + 0x6c], cx
mov byte [rsp + 0x70], cl
mov dword [rsp + 0x74], ecx
mov byte [rsp + 0x78], cl
mov dword [rsp + 0x7c], ecx
mov byte [rsp + 0x80], cl
mov dword [rsp + 0x84], ecx
mov byte [rsp + 0x88], cl
mov dword [rsp + 0x8c], ecx
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], r14
mov dword [rsp + 0xb8], ecx
mov word [rsp + 0xbc], cx
mov dword [rsp + 0xd8], 0x110000
mov byte [rsp + 0xdc], cl
mov rdi, r12
lea r13, [rsp + 0x58]
cmp rdi, r14
je 0x14006ccc4
movzx ebx, byte [rdi]
test bl, bl
js 0x14006cc33
inc rdi
jmp 0x14006cc8f
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x14006cc77
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x14006cc84
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x14006ccc4
add rdi, 4
jmp 0x14006cc8f
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x14006cc8f
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov rcx, r13
call fcn.14006a565
xor ebp, ebp
cmp eax, 0x110000
je 0x14006ccd5
cmp eax, ebx
je 0x14006cc1e
jmp 0x14006ccd5
movabs rax, 0x8080808080808080
test qword [r13 + rcx], rax
jne 0x14006bf57
jmp 0x14006bf71
mov rcx, r13
call fcn.14006a565
cmp eax, 0x110000
sete bpl
cmp dword [rsp + 0x68], 0
je 0x14006ccf7
cmp qword [rsp + 0x70], 0
je 0x14006ccf7
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
cmp dword [rsp + 0xb8], 0
je 0x14006cd22
cmp qword [rsp + 0xc0], 0
je 0x14006cd22
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
test bpl, bpl
lea rbp, [rsp + 0x160]
je 0x14006cd4e
mov rcx, r12
mov rdx, rsi
mov r8, qword [rsp + 0x1a8]
lea r9, [rsp + 0x38]
call fcn.14006dabd
xor ebx, ebx
jmp 0x14006be38
mov byte [rsp + 0x3d], 1
xor ebx, ebx
jmp 0x14006be38
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x30]
call fcn.14010720a
mov rcx, r12
jmp 0x14006c23c
mov rsi, r9
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdx
lea rdx, [rdx*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
mov al, byte [0x1401d2160]
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14006d9e9
mov rbx, rax
mov al, byte [0x1401d2160]
mov edx, 0x100
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14006d9f5
mov r12, rax
mov eax, 1
sub rax, rsi
mov qword [rsp + 0x148], rax
mov r10, qword [rsp + 0x48]
lea rax, [r10 + 0x20]
mov qword [rsp + 0x140], rax
lea rax, [r10 - 0x10]
mov qword [rsp + 0x158], rax
mov eax, 0x10
mov qword [rsp + 0x150], rax
xor edi, edi
xor ebp, ebp
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x1b0], r13
mov rax, rdx
sub rax, rbp
mov rsi, rbp
shl rsi, 4
lea rcx, [r10 + rsi]
cmp rax, 2
jae 0x14006cea6
mov r8, rax
lea rax, [r8 + rbp]
mov rsi, rax
sub rsi, rbp
jb 0x14006d990
cmp rax, rdx
ja 0x14006d990
mov qword [rsp + 0x108], rbp
jae 0x14006cf6d
cmp r8, 0xa
jae 0x14006cf6d
lea rsi, [rbp + 0xa]
cmp rsi, rdx
cmovae rsi, rdx
mov qword [rsp + 0x128], rsi
sub rsi, rbp
jb 0x14006d9a8
cmp r8, 1
adc r8, 0
mov rdx, rsi
call fcn.14006f204
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
jmp 0x14006cf75
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x14006d329
mov r8d, 2
cmp rax, 2
je 0x14006ceff
mov rdx, qword [rsp + 0x148]
lea r10, [rdx + rbp]
add rsi, qword [rsp + 0x140]
mov r11, r9
mov r9, qword [rsi]
cmp r9, r11
jae 0x14006cef5
lea r11, [r10 + r8]
inc r11
inc r8
add rsi, 0x10
cmp r11, 2
jne 0x14006ced3
mov r8, rax
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, r8
add rax, rbp
jb 0x14006d9cb
cmp rax, rdx
ja 0x14006d9dd
cmp r8, 2
jb 0x14006ce3e
mov rdx, rax
mov rax, r8
shr rax, 1
mov rsi, rdx
shl rdx, 4
add rdx, qword [rsp + 0x158]
mov r9, rcx
mov r10, qword [r9]
mov r11d, dword [r9 + 8]
movups xmm0, xmmword [rdx]
movups xmmword [r9], xmm0
mov qword [rdx], r10
mov dword [rdx + 8], r11d
add r9, 0x10
add rdx, 0xfffffffffffffff0
dec rax
jne 0x14006cf39
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, rsi
jmp 0x14006ce3e
mov qword [rsp + 0x128], rax
mov rbp, qword [rsp + 0x150]
cmp rdi, rbp
jne 0x14006cfec
mov qword [rsp + 0x30], rdi
mov rdx, rbp
shl rdx, 5
mov al, byte [0x1401d2160]
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14006d9bf
mov rdi, rax
lea rbx, [rbp*2]
shl rbp, 4
mov rcx, rax
mov rdx, r12
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, r12
call fcn.1401220e0
mov r12, rdi
mov qword [rsp + 0x150], rbx
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x30]
mov rax, rdi
shl rax, 4
mov qword [r12 + rax], rsi
mov rcx, qword [rsp + 0x108]
mov qword [r12 + rax + 8], rcx
inc rdi
mov rax, rdi
cmp rdi, 2
mov qword [rsp + 0x1b8], r12
jb 0x14006d383
mov rdi, rax
lea rsi, [rax - 1]
mov rcx, rsi
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x14006d087
mov r11, rdi
shl r11, 4
mov r8, qword [r11 + r12 - 0x20]
cmp r8, rax
jbe 0x14006d087
cmp rdi, 2
je 0x14006d37e
lea rbp, [rdi - 3]
mov rcx, rbp
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14006d09c
cmp rdi, 3
jbe 0x14006d383
add r8, rcx
cmp qword [r11 + r12 - 0x40], r8
jbe 0x14006d09c
jmp 0x14006d383
cmp rdi, 2
je 0x14006d0a1
lea rbp, [rdi - 3]
mov rcx, rbp
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x14006d0a5
lea rbp, [rdi - 2]
cmp rdi, rbp
jbe 0x14006d8b2
lea r8, [rbp + 1]
mov qword [rsp + 0x30], rdi
cmp rdi, r8
jbe 0x14006d8e7
mov qword [rsp + 0x108], rbp
mov rax, rbp
shl rax, 4
mov rcx, qword [r12 + rax + 8]
shl r8, 4
mov r9, qword [r12 + r8]
mov rbp, qword [r12 + r8 + 8]
add rbp, r9
mov rdi, rbp
sub rdi, rcx
jb 0x14006d92b
mov qword [rsp + 0x1e0], r8
mov qword [rsp + 0x130], rsi
cmp rbp, rdx
ja 0x14006d91c
mov qword [rsp + 0x1c8], r9
mov qword [rsp + 0x1d8], rax
mov r13, qword [r12 + rax]
mov qword [rsp + 0x1d0], rcx
mov rsi, rcx
shl rsi, 4
add rsi, r10
mov r15, r13
shl r15, 4
lea r12, [rsi + r15]
shl rbp, 4
mov rbx, rdi
sub rbx, r13
cmp rbx, r13
jae 0x14006d1f4
mov r15, rbx
shl r15, 4
mov rdi, qword [rsp + 0x100]
mov rcx, rdi
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
add r15, rdi
test r13, r13
jle 0x14006d277
test rbx, rbx
mov rdi, qword [rsp + 0x30]
jle 0x14006d26a
add rbp, qword [rsp + 0x158]
mov r9, qword [rsp + 0x100]
mov rax, r12
mov rcx, r15
mov rdx, qword [r15 - 0x10]
mov r8, qword [r12 - 0x10]
cmp rdx, r8
mov r12d, 0
sbb r12, r12
cmp rdx, r8
mov r15d, 0
adc r15, 0xffffffffffffffff
shl r12, 4
add r12, rax
shl r15, 4
add r15, rcx
cmp rdx, r8
mov rax, r15
cmovb rax, r12
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
cmp r12, rsi
jbe 0x14006d1e9
add rbp, 0xfffffffffffffff0
cmp r15, r9
ja 0x14006d194
mov rsi, r12
mov rdx, r9
jmp 0x14006d28f
mov rbx, qword [rsp + 0x100]
mov rcx, rbx
mov rdx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
add r15, rbx
test r13, r13
mov rax, r13
jle 0x14006d284
mov r13, rax
cmp rdi, rax
jle 0x14006d287
add rbp, qword [rsp + 0x48]
mov rdx, rbx
mov rdi, qword [rsp + 0x30]
mov r8, rdx
mov rcx, qword [r12]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r12
movups xmm0, xmmword [r9]
movups xmmword [rsi], xmm0
add rsi, 0x10
shl edx, 4
add rdx, r8
cmp rdx, r15
jae 0x14006d28f
mov al, cl
shl eax, 4
add r12, rax
cmp r12, rbp
jb 0x14006d22a
jmp 0x14006d28f
mov rsi, r12
mov rdx, qword [rsp + 0x100]
jmp 0x14006d28f
mov rsi, r12
mov rdx, qword [rsp + 0x100]
jmp 0x14006d28a
mov r13, rax
mov rdx, rbx
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x1b8]
mov rbp, qword [rsp + 0x1d8]
add rbp, r12
mov rbx, qword [rsp + 0x1e0]
add rbx, r12
sub r15, rdx
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x1c8]
add rax, r13
mov qword [rbx], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rbx + 8], rax
lea rdx, [rbp + 0x10]
mov rax, qword [rsp + 0x108]
not rax
add rdi, rax
shl rdi, 4
mov rcx, rbp
mov r8, rdi
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x130]
cmp rax, 1
mov r15, qword [rsp + 0x298]
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x1b0]
ja 0x14006d01c
mov edi, 1
jmp 0x14006d383
mov r8d, 2
cmp rax, 2
je 0x14006ce3a
mov rdx, qword [rsp + 0x148]
lea r10, [rdx + rbp]
add rsi, qword [rsp + 0x140]
mov r11, r9
mov r9, qword [rsi]
cmp r9, r11
jb 0x14006d36f
lea r11, [r10 + r8]
inc r11
inc r8
add rsi, 0x10
cmp r11, 2
jne 0x14006d34d
mov r8, rax
mov r10, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
jmp 0x14006ce3a
mov edi, 2
mov rbp, qword [rsp + 0x128]
cmp rbp, rdx
mov rbx, qword [rsp + 0x100]
jb 0x14006ce20
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, r12
call fcn.1401220e0
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rbx
call fcn.1401220e0
mov rcx, qword [rsp + 0x48]
jmp 0x14006c215
mov rax, qword [rsp + 0x298]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x1f0]
test r8, r8
je 0x14006d416
cmp rdx, r8
jbe 0x14006d414
cmp byte [rcx + r8], 0xbf
jg 0x14006d416
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140040ef0
lea r8, [0x14017a710]
mov rdx, rax
call fcn.140038810
jne 0x14006d3f1
sub rdx, r8
add rcx, r8
xor eax, eax
lea rsi, [rsp + 0x58]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rdx
movabs rax, 0x2e0000002e
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x38], 1
mov word [rsi + 0x40], 1
mov r12d, 1
mov rcx, rsi
call fcn.1400728c1
test rax, rax
je 0x14006d7f5
test r15b, 1
je 0x14006d458
mov rbx, rdx
test rdx, rdx
je 0x14006d458
mov rdi, rax
movzx ecx, byte [rax]
test cl, cl
js 0x14006d487
lea rbp, [rdi + 1]
jmp 0x14006d4e8
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006d4cf
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006d4dd
movzx ecx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006d458
lea rbp, [rdi + 4]
jmp 0x14006d4e8
lea rbp, [rdi + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006d4e8
lea rbp, [rdi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add rbx, rdi
call fcn.1401188c5
test al, al
je 0x14006d5ab
movzx eax, al
cmp eax, 0x11
je 0x14006d5ab
cmp eax, 9
jne 0x14006d7f0
cmp rbp, rbx
je 0x14006d676
movzx ecx, byte [rbp]
test cl, cl
js 0x14006d523
inc rbp
jmp 0x14006d588
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006d56f
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006d57d
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006d676
add rbp, 4
jmp 0x14006d588
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006d588
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401188c5
cmp al, 0xe
ja 0x14006d7f0
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x14006d50d
jmp 0x14006d7f0
cmp rbp, rbx
je 0x14006d684
xor r14d, r14d
xor r13d, r13d
movzx ecx, byte [rbp]
test cl, cl
js 0x14006d5c7
inc rbp
jmp 0x14006d628
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006d60f
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006d61d
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006d662
add rbp, 4
jmp 0x14006d628
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006d628
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401188c5
cmp al, 5
jne 0x14006d636
mov r13b, 1
jmp 0x14006d659
cmp al, 1
movzx r14d, r14b
cmove r14d, r12d
cmp al, 0x11
ja 0x14006d7f0
movzx eax, al
mov ecx, 0x260db
bt ecx, eax
jae 0x14006d7f0
cmp rbp, rbx
jne 0x14006d5ba
test r14b, 1
sete al
test r13b, 1
sete r14b
or r14b, al
jmp 0x14006d687
movzx ebp, byte [rbx - 1]
test bpl, bpl
js 0x14006d6bd
dec rbx
jmp 0x14006d6d7
mov r14b, 1
movzx ebp, byte [rbx - 1]
test bpl, bpl
js 0x14006d698
dec rbx
jmp 0x14006d766
movzx eax, byte [rbx - 2]
cmp al, 0xc0
jge 0x14006d7c6
movzx ecx, byte [rbx - 3]
cmp cl, 0xbf
jle 0x14006d799
add rbx, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14006d7ac
movzx eax, byte [rbx - 2]
cmp al, 0xc0
jge 0x14006d73a
movzx ecx, byte [rbx - 3]
cmp cl, 0xbf
jle 0x14006d70a
add rbx, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14006d71d
mov ecx, ebp
call fcn.1401188c5
cmp al, 0xd
jne 0x14006d743
cmp rbx, rdi
je 0x14006d458
movzx ebp, byte [rbx - 1]
test bpl, bpl
js 0x14006d6f9
dec rbx
jmp 0x14006d72d
movzx eax, byte [rbx - 2]
cmp al, 0xc0
jge 0x14006d73a
movzx ecx, byte [rbx - 3]
cmp cl, 0xc0
jge 0x14006d6ce
movzx edx, byte [rbx - 4]
add rbx, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x14006d6d7
jmp 0x14006d458
add rbx, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14006d725
mov ecx, ebp
call fcn.1401188c5
cmp al, 9
je 0x14006d458
mov ecx, ebp
call fcn.1401188c5
cmp al, 5
je 0x14006d458
jmp 0x14006d7f0
mov ecx, ebp
call fcn.1401188c5
cmp al, 0xd
jne 0x14006d7cf
cmp rbx, rdi
je 0x14006d7f0
movzx ebp, byte [rbx - 1]
test bpl, bpl
js 0x14006d784
dec rbx
jmp 0x14006d7bc
movzx eax, byte [rbx - 2]
cmp al, 0xc0
jge 0x14006d7c6
movzx ecx, byte [rbx - 3]
cmp cl, 0xc0
jge 0x14006d6b1
movzx edx, byte [rbx - 4]
add rbx, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x14006d766
jmp 0x14006d7f0
add rbx, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14006d7b4
mov ecx, ebp
call fcn.1401188c5
cmp al, 0x11
ja 0x14006d7f0
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x14006d7f0
test r14b, r14b
jne 0x14006d458
mov byte [rsp + 0x3a], 1
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x1e8]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x38]
mov qword [rcx], rax
cmp qword [rsp + 0x110], 0
je 0x14006b289
mov r8, qword [rsp + 0x118]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
jmp 0x14006b289
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.140038810
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcpunycode.rs
call fcn.14003ca50
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.140039350
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.140039350
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
jmp 0x14006d8a5
lea r8, [0x14017a758]
call fcn.140038800
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcpunycode.rs
call fcn.14003ca50
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.140039350
lea rax, [0x1401961a8]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1401bef68]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.140038470
lea rax, [0x1401961a8]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1401bef68]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.140038470
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, rbp
call fcn.140039350
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rdx, rbp
call fcn.14003d700
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r8d, 4
mov rcx, r13
mov rdx, rsi
mov r9, rsi
call fcn.140040ef0
ud2
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rdi
mov r8, r12
mov r9, rdi
call fcn.140040ef0
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.2.3_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
mov r8, rbx
jmp 0x14006d952
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.1400396c0
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, rbp
mov rdx, qword [rsp + 0x128]
call fcn.14003d700
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, rbp
mov rdx, rax
call fcn.14003d700
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
jmp 0x14006d8aa
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
int3