Function at 0x140010260
Capabilities:
Encode data using xor
Get explorer pid

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140021040]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rbx, rdx
mov qword [rsp + 0x58], rdx
mov r14d, ecx
mov dword [rsp + 0x54], ecx
xor edi, edi
lea rcx, [0x14000fdb0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov r13d, 1
mov r15d, r13d
add rbx, 8
cmp r14d, r13d
jle 0x140010368
mov rsi, rbx
mov rcx, qword [rsi]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x1400102e0
cmp rax, 5
jne 0x140010311
add rcx, 2
lea rdx, [0x14001a8b8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x140010311
mov rax, qword [rsi]
cmp word [rax], 0x2f
je 0x140010661
mov rcx, qword [rsi]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x140010320
cmp rax, 6
jne 0x140010358
add rcx, 4
lea rdx, [0x14001a8b8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x140010358
mov rax, qword [rsi]
cmp word [rax], 0x2d
jne 0x140010358
cmp word [rax + 2], 0x2d
je 0x140010661
inc r15d
add rsi, 8
cmp r15d, r14d
jl 0x1400102d1
xor r12b, r12b
lea r8, [0x14001a8c8]
mov rdx, qword [rsp + 0x58]
mov ecx, r14d
call fcn.140010080
mov r15d, eax
mov esi, r13d
cmp r14d, r13d
jle 0x14001041a
nop
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x1400103a0
cmp rax, 9
jne 0x1400103cd
add rcx, 2
lea rdx, str.indPages
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400103cd
mov rax, qword [rbx]
cmp word [rax], 0x2f
je 0x140010428
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], di
jne 0x1400103d7
cmp rax, 0xa
jne 0x14001040b
add rcx, 4
lea rdx, str.indPages
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14001040b
mov rax, qword [rbx]
cmp word [rax], 0x2d
jne 0x14001040b
cmp word [rax + 2], 0x2d
je 0x140010428
inc esi
add rbx, 8
cmp esi, r14d
jl 0x140010390
mov esi, 0xffffffff
cmp r14d, r13d
jle 0x1400104c8
mov rbx, qword [rsp + 0x58]
add rbx, 8
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x140010440
cmp rax, 0x12
jne 0x140010471
add rcx, 2
lea rdx, str.PassAllocationPtr
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x140010471
mov rax, qword [rbx]
cmp word [rax], 0x2f
je 0x140010687
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x140010480
cmp rax, 0x13
jne 0x1400104b8
add rcx, 4
lea rdx, str.PassAllocationPtr
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400104b8
mov rax, qword [rbx]
cmp word [rax], 0x2d
jne 0x1400104b8
cmp word [rax + 2], 0x2d
je 0x140010687
inc r13d
add rbx, 8
cmp r13d, r14d
jl 0x140010431
xor r14b, r14b
mov r13d, 1
cmp dword [rsp + 0x54], r13d
jle 0x14001057d
mov rbx, qword [rsp + 0x58]
add rbx, 8
nop word [rax + rax]
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x140010500
cmp rax, 6
jne 0x14001052d
add rcx, 2
lea rdx, str.clean
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14001052d
mov rax, qword [rbx]
cmp word [rax], 0x2f
je 0x140010583
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], di
jne 0x140010537
cmp rax, 7
jne 0x14001056b
add rcx, 4
lea rdx, str.clean
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14001056b
mov rax, qword [rbx]
cmp word [rax], 0x2d
jne 0x14001056b
cmp word [rax + 2], 0x2d
je 0x140010583
inc r13d
add rbx, 8
cmp r13d, dword [rsp + 0x54]
jl 0x1400104f0
mov r13d, 0xffffffff
test r13d, r13d
setg byte [rsp + 0x51]
mov ecx, 1
mov dword [rbp - 0x40], ecx
cmp dword [rsp + 0x54], ecx
jle 0x14001085b
mov eax, ecx
mov qword [rbp - 0x70], rcx
mov r13d, 4
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + rax*8]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400105c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rdi
lea rcx, [rbp - 0x60]
call fcn.14000bdf0
nop
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x50]
lea r10, [rcx + rax*2]
mov rbx, r10
mov rdx, r10
call fcn.14000f390
cmp rax, r10
je 0x14001062b
nop word [rax + rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14001062b
cmp cx, 0x2f
je 0x14001062b
mov rbx, rdx
cmp rax, rdx
jne 0x140010610
mov r8d, 0x3a
mov rdx, r10
mov rcx, rbx
call fcn.140013470
cmp rbx, rax
je 0x1400106b1
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x1400106b1
cmp word [rdx], 0x2e
jne 0x140010699
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x1400106b4
cmp word [rcx], 0x2e
jne 0x1400106b4
jmp 0x1400106b1
test r15d, r15d
setg r12b
lea r8, [0x14001a8c8]
mov rdx, qword [rsp + 0x58]
mov ecx, r14d
call fcn.140010080
mov r15d, eax
mov esi, r13d
jmp 0x140010390
test r13d, r13d
setg r14b
mov r13d, 1
jmp 0x1400104dc
sub rdx, 2
cmp rbx, rdx
je 0x1400106b1
cmp word [rdx], 0x2e
je 0x1400106b4
sub rdx, 2
cmp rbx, rdx
jne 0x1400106a2
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov r8, rax
lea rcx, [rsp + 0x60]
call fcn.14000bdf0
nop
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rax, qword [rsp + 0x60]
mov qword [rbp - 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x28], rax
call fcn.140012ed8
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.1400110f0
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
seta byte [rsp + 0x50]
mov rbx, qword [rbp - 0x10]
cmova rcx, rbx
mov r8, qword [rbp]
cmp r8, 4
cmova r8, r13
lea rdx, str..sys
call sub.VCRUNTIME140.dll_memcmp
mov r13d, eax
test eax, eax
jne 0x14001075e
cmp qword [rbp], 4
jae 0x140010757
lea r13d, [rax - 1]
jmp 0x14001075e
mov r13d, edi
seta r13b
cmp byte [rsp + 0x50], 0
je 0x140010799
mov rdx, qword [rbp + 8]
inc rdx
mov rax, rbx
cmp rdx, 0x1000
jb 0x140010791
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010897
mov rcx, rbx
call fcn.140013570
mov qword [rbp], rdi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400107eb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400107e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001089e
call fcn.140013570
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], di
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x14001083a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010835
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400108a5
call fcn.140013570
test r13d, r13d
je 0x1400108ac
inc dword [rbp - 0x40]
mov rax, qword [rbp - 0x70]
inc rax
mov qword [rbp - 0x70], rax
movsxd rcx, dword [rsp + 0x54]
cmp rax, rcx
jl 0x1400105a3
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140013550
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movsxd rax, dword [rbp - 0x40]
test eax, eax
jle 0x14001085b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + rax*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400108d3
lea rcx, [rbp + 0x20]
call fcn.14000bdf0
nop
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rdx, qword [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov r8, qword [rbp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14000bdf0
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rcx, qword [rsp + 0x60]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp - 0x10]
call fcn.1400130f0
mov edx, eax
test eax, eax
jne 0x140010979
mov eax, dword [rbp]
bt eax, 0xa
jae 0x14001096b
mov ecx, dword [rbp + 4]
cmp ecx, 0xa000000c
jne 0x14001095c
lea eax, [rdx + 4]
jmp 0x14001099b
cmp ecx, 0xa0000003
jne 0x14001096b
mov eax, 0xa
jmp 0x14001099b
movzx eax, al
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x14001099b
mov dword [rbp - 0x6c], 0xffff
sub eax, 2
je 0x140010996
sub eax, 1
je 0x140010996
sub eax, 0x32
je 0x140010996
cmp eax, 0x46
mov eax, edi
jne 0x14001099b
mov eax, 1
mov dword [rbp - 0x30], edx
lea rcx, [0x1400210b8]
mov qword [rbp - 0x28], rcx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
test eax, eax
je 0x1400109fc
cmp eax, 1
sete bl
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x140010a0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010a08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010a08
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov bl, 1
test edx, edx
jne 0x140010ffb
jmp 0x1400109bc
call fcn.140013570
test bl, bl
jne 0x140010a28
movzx ecx, byte [rsp + 0x51]
call fcn.1400046c0
mov qword [0x140021c18], rax
cmp rax, 0xffffffffffffffff
jne 0x140010a5e
mov dword [rbp - 0x40], edi
call qword [sym.imp.USER32.dll_GetShellWindow]
mov rcx, rax
lea rdx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.140010190
cmp eax, dword [rbp - 0x40]
jne 0x140010d46
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
jmp 0x140010d46
mov qword [0x140021c18], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov ecx, 1
call fcn.140013698
mov qword [rbp - 0x30], rax
lea rcx, [rax + 1]
mov qword [rbp - 0x20], rcx
mov byte [rax], 0
mov qword [rbp - 0x28], rcx
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x20]
call fcn.140012610
mov rbx, qword [rbp - 0x30]
test al, al
je 0x140010cd2
test r15d, r15d
jle 0x140010aba
test esi, esi
jg 0x140010cd2
mov eax, 1
jmp 0x140010ac6
mov eax, edi
mov ecx, 2
test esi, esi
cmovg eax, ecx
mov dword [rbp - 0x80], edi
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x38], r14b
mov dword [rsp + 0x30], eax
mov byte [rsp + 0x20], r12b
mov rdx, rbx
call fcn.14000cde0
test rax, rax
jne 0x140010d8f
movups xmm0, xmmword [0x14001aa60]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [0x14001aa70]
movups xmmword [rbp], xmm1
movsd xmm0, qword [0x14001aa80]
movsd qword [rbp + 0x10], xmm0
mov eax, dword [0x14001aa88]
mov dword [rbp + 0x18], eax
mov r8d, edi
cmp dword [0x140021088], 2
jl 0x140010c48
movdqa xmm5, xmmword [0x14001ac30]
movdqa xmm4, xmmword [0x14001acd0]
movdqa xmm6, xmmword [0x14001ac80]
movdqa xmm7, xmmword [0x14001ac90]
lea rcx, [rbp - 0x10]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x140010b51
cmp r8d, 0x16
jge 0x140010c97
movsxd rax, r8d
lea r9, [rbp - 0x10]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x38
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x16
jl 0x140010c60
lea rdx, [rbp - 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___void_const____ptr64____ptr64]
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
mov rcx, rax
call fcn.1400118f0
lea rdx, [0x14000b8b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, qword [0x140021c18]
call fcn.140005bc0
mov dword [rbp - 0x40], edi
call qword [sym.imp.USER32.dll_GetShellWindow]
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.140010190
cmp eax, dword [rbp - 0x40]
jne 0x140010d0c
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
test rbx, rbx
je 0x140010d46
mov rdx, qword [rbp - 0x20]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x140010d3d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010fa1
mov rcx, rbx
call fcn.140013570
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x14001085b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010d85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010fe8
call fcn.140013570
jmp 0x14001085b
mov rcx, qword [0x140021c18]
call fcn.140005bc0
test al, al
jne 0x140010dcc
mov dword [rbp - 0x40], edi
call qword [sym.imp.USER32.dll_GetShellWindow]
mov rcx, rax
lea rdx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.140010190
cmp eax, dword [rbp - 0x40]
jne 0x140010dcc
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
movups xmm0, xmmword [0x14001aa00]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [0x14001aa10]
movups xmmword [rbp], xmm1
mov eax, dword [0x14001aa20]
mov dword [rbp + 0x10], eax
cmp dword [0x140021088], 2
jl 0x140010f14
movdqa xmm5, xmmword [0x14001ac30]
movdqa xmm4, xmmword [0x14001acd0]
movdqa xmm6, xmmword [0x14001ac80]
movdqa xmm7, xmmword [0x14001ac90]
lea rcx, [rbp - 0x10]
nop dword [rax]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rdi + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add edi, 8
mov eax, edi
lea rcx, [rcx + 0x10]
cmp edi, 0x10
jl 0x140010e20
cmp eax, 0x12
jge 0x140010f52
movsxd rax, edi
lea r8, [rbp - 0x10]
lea r8, [r8 + rax*2]
nop
mov eax, 0x8d3dcb09
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, di
sub ax, cx
add ax, 0x38
xor word [r8], ax
inc edi
lea r8, [r8 + 2]
cmp edi, 0x12
jl 0x140010f20
lea rdx, [rbp - 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___void_const____ptr64____ptr64]
lea rdx, [0x14000b8b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
test rbx, rbx
je 0x140010fb1
mov rdx, qword [rbp - 0x20]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x140010fa8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010fa8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140013570
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x140010ff4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010fef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010fef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013570
xor eax, eax
jmp 0x140010860
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x30]
call fcn.14000fd50
int3