Function at 0x140049190
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1400ff040]
xor rax, rsp
mov qword [rbp], rax
mov rsi, rcx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rbx
mov r8d, 0xc
lea rdx, str.WdFilter.sys
lea rcx, [rbp - 0x38]
call fcn.1400033c0
nop
lea rcx, [rbp - 0x38]
call fcn.14004fb30
mov r14, rax
lea rcx, [rbp - 0x38]
call fcn.140003c70
test r14, r14
jne 0x1400493d4
movups xmm0, xmmword [0x1400e3ca8]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x1400e3cb8]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3cc8]
movups xmmword [rsp + 0x60], xmm0
cmp dword [0x1400ff090], 2
jl 0x14004936f
movdqa xmm5, xmmword [0x1400e96c0]
movdqa xmm4, xmmword [0x1400e9e30]
movdqa xmm6, xmmword [0x1400e96f0]
movdqa xmm0, xmmword [0x1400e97f0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
movdqa xmm7, xmmword [0x1400e9760]
nop word [rax + rax]
movd xmm2, ebx
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
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x140049290
jmp 0x1400493ac
lea r8, [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x30
jl 0x140049380
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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 al, 1
jmp 0x1400495cf
lea rax, str.xxx____xx
mov qword [rsp + 0x20], rax
lea r9, [0x1400e39c0]
mov r8, r14
lea rdx, str.PAGE
mov rcx, rsi
call fcn.14004bdd0
mov r15, rax
test rax, rax
jne 0x140049615
movups xmm0, xmmword [0x1400e3c38]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x1400e3c48]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3c58]
movups xmmword [rsp + 0x60], xmm0
movzx eax, word [0x1400e3c68]
mov word [rsp + 0x70], ax
movzx eax, byte [0x1400e3c6a]
mov byte [rsp + 0x72], al
cmp dword [0x1400ff090], 2
jl 0x140049574
movdqa xmm5, xmmword [0x1400e96c0]
movdqa xmm4, xmmword [0x1400e9e30]
movdqa xmm6, xmmword [0x1400e96f0]
movdqa xmm0, xmmword [0x1400e97f0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
movdqa xmm7, xmmword [0x1400e9760]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ebx
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
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x140049490
cmp eax, 0x33
jge 0x1400495ac
movsxd rax, ebx
lea r8, [rsp + 0x40]
add r8, rax
nop
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x33
jl 0x140049580
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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]
xor al, al
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400c92b0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rax, str.xx____xxx
mov qword [rsp + 0x20], rax
lea r9, [0x1400e39d0]
mov r8, r14
lea rdx, str.PAGE
mov rcx, rsi
call fcn.14004bdd0
mov r13, rax
test rax, rax
jne 0x1400497e6
movups xmm0, xmmword [0x1400e3c70]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [str.4.b___g]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3c90]
movups xmmword [rsp + 0x60], xmm0
mov eax, dword [0x1400e3ca0]
mov dword [rsp + 0x70], eax
cmp dword [0x1400ff090], 2
jl 0x1400497a4
movdqa xmm5, xmmword [0x1400e96c0]
movdqa xmm4, xmmword [0x1400e9e30]
movdqa xmm6, xmmword [0x1400e96f0]
movdqa xmm0, xmmword [0x1400e97f0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
movdqa xmm7, xmmword [0x1400e9760]
nop dword [rax + rax]
movd xmm2, ebx
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
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x1400496c0
cmp eax, 0x34
jge 0x1400497dc
movsxd rax, ebx
lea r8, [rsp + 0x40]
add r8, rax
nop
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x34
jl 0x1400497b0
lea rdx, [rsp + 0x40]
jmp 0x1400495b1
lea rax, str.xxx_x_xx___________x
mov qword [rsp + 0x20], rax
lea r9, [0x1400e39f0]
mov r8, r14
lea rdx, str.PAGE
mov rcx, rsi
call fcn.14004bdd0
mov rdi, rax
mov r12d, dword [0x1400ff090]
movdqa xmm10, xmmword [0x1400e9760]
movdqa xmm9, xmmword [0x1400e97f0]
movdqa xmm7, xmmword [0x1400e96f0]
movdqa xmm6, xmmword [0x1400e9e30]
movdqa xmm8, xmmword [0x1400e96c0]
test rax, rax
jne 0x140049bd1
lea rax, str.xxx_xx_x___________x
mov qword [rsp + 0x20], rax
lea r9, [0x1400e3a20]
mov r8, r14
lea rdx, str.PAGE
mov rcx, rsi
call fcn.14004bdd0
mov rdi, rax
test rax, rax
jne 0x140049a06
movups xmm0, xmmword [0x1400e3cd8]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [str.4.b___g___f__9p__]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3cf8]
movups xmmword [rsp + 0x60], xmm0
mov eax, dword [0x1400e3d08]
mov dword [rsp + 0x70], eax
cmp r12d, 2
jl 0x1400499ba
movdqa xmmword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
movdqa xmm4, xmm10
nop word [rax + rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x1400498d0
cmp eax, 0x34
jge 0x1400497dc
movsxd rax, ebx
lea r8, [rsp + 0x40]
add r8, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x34
jl 0x1400499d0
lea rdx, [rsp + 0x40]
jmp 0x1400495b1
movups xmm0, xmmword [0x1400e3d38]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x1400e3d48]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3d58]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x1400e3d68]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x1400e3d70]
mov dword [rsp + 0x78], eax
movzx eax, word [0x1400e3d74]
mov word [rsp + 0x7c], ax
movzx eax, byte [0x1400e3d76]
mov byte [rsp + 0x7e], al
mov r8d, ebx
cmp r12d, 2
jl 0x140049b6b
movdqa xmmword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm10
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140049a80
cmp r8d, 0x3f
jge 0x140049bb0
movsxd rax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3f
jl 0x140049b80
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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]
add rdi, 7
mov dword [rbp - 0x60], ebx
lea r8, [r15 + 3]
mov r9d, 4
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.14004ad20
test al, al
jne 0x140049bfb
mov r12, 0xfffffffffffffff8
jmp 0x140049c05
movsxd r12, dword [rbp - 0x60]
dec r12
add r12, r15
mov dword [rbp - 0x60], ebx
lea r8, [r13 + 2]
mov r9d, 4
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.14004ad20
test al, al
jne 0x140049c27
mov rax, rbx
jmp 0x140049c32
movsxd rax, dword [rbp - 0x60]
add rax, 6
add rax, r13
mov qword [rbp - 0x58], rax
lea r8, [rax + 8]
mov qword [rbp - 0x10], r8
mov r9d, 8
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.14004ad20
mov dword [rbp - 0x60], ebx
lea r8, [rdi + 1]
mov r9d, 4
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.14004ad20
test al, al
jne 0x140049c74
mov qword [rsp + 0x30], rbx
jmp 0x140049c84
movsxd rax, dword [rbp - 0x60]
add rax, 5
add rax, rdi
mov qword [rsp + 0x30], rax
mov r9d, 8
mov r8, r12
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.14004ad20
mov r14, qword [rbp - 0x50]
test al, al
cmove r14, rbx
cmp r14, r12
je 0x1400495cd
mov r13, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
lea r8, [r14 + 0x10]
mov r9d, 0x10
lea rdx, [rbp - 0x38]
mov rcx, rsi
call fcn.14004ad20
test al, al
je 0x140049d65
movzx ecx, word [rbp - 0x38]
shr rcx, 1
inc rcx
mov eax, 2
mul rcx
mov rdi, rax
cmovb rdi, r13
mov rcx, rdi
call fcn.1400c9778
mov r15, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 8], r15
movzx r9d, word [rbp - 0x38]
mov r8, qword [rbp - 0x30]
mov rdx, r15
mov rcx, rsi
call fcn.14004ad20
test al, al
je 0x140049d5d
lea rcx, [rsp + 0x40]
call fcn.140047a00
cmp qword [rax + 0x18], 7
jbe 0x140049d3f
mov rax, qword [rax]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rdi, rax
lea rcx, [rsp + 0x40]
call fcn.140045850
test rdi, rdi
jne 0x140049d92
mov rcx, r15
call fcn.1400c9314
mov r9d, 8
mov r8, r14
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.14004ad20
mov r14, qword [rbp - 0x50]
test al, al
cmove r14, rbx
cmp r14, r12
jne 0x140049cc0
jmp 0x1400495cd
lea r13, [r14 - 0x10]
mov r12d, ebx
mov edi, ebx
nop dword [rax + rax]
mov qword [rbp - 0x48], rbx
movsxd r8, edi
add r8, qword [rbp - 0x10]
mov r9d, 8
lea rdx, [rbp - 0x48]
mov rcx, rsi
call fcn.14004ad20
cmp qword [rbp - 0x48], r13
je 0x140049f90
inc r12d
add edi, 8
cmp edi, 0x800
jl 0x140049da0
movups xmm0, xmmword [0x1400e3da8]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [str.4.b1___1_i_9_n]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [str.__:90]
movups xmmword [rsp + 0x60], xmm0
movzx eax, word [0x1400e3dd8]
mov word [rsp + 0x70], ax
movzx eax, byte [0x1400e3dda]
mov byte [rsp + 0x72], al
mov r9, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
cmp dword [0x1400ff090], 2
jl 0x140049f28
movdqa xmmword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm10
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x140049e40
cmp eax, 0x33
jge 0x140049f6c
movsxd rax, ebx
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, bl
sub al, cl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x33
jl 0x140049f40
lea rdx, [rsp + 0x40]
mov rcx, r9
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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]
xor bl, bl
jmp 0x14004a40f
mov rdi, qword [rbp - 0x58]
lea rax, [rdi + 1]
mov qword [rbp - 0x58], rax
lea eax, [r12*8]
movsxd rdx, eax
add rdx, qword [rbp - 0x10]
mov r9d, 8
lea r8, [rbp - 0x58]
mov rcx, rsi
call fcn.14004ad20
mov r9d, 8
mov r8, r14
lea rdx, [rbp - 0x58]
mov rcx, rsi
call fcn.14004ad20
mov rcx, qword [rbp - 0x58]
test al, al
cmove rcx, rbx
mov qword [rbp - 0x40], rcx
lea r8, [r14 + 8]
mov r9d, 8
lea rdx, [rbp - 0x58]
mov rcx, rsi
call fcn.14004ad20
mov rcx, qword [rbp - 0x58]
test al, al
cmove rcx, rbx
mov qword [rbp - 0x50], rcx
mov rdx, qword [rbp - 0x40]
add rdx, 8
mov r9d, 8
lea r8, [rbp - 0x50]
mov rcx, rsi
call fcn.14004ad20
mov r9d, 8
lea r8, [rbp - 0x40]
mov rdx, qword [rbp - 0x50]
mov rcx, rsi
call fcn.14004ad20
mov dword [rbp - 0x60], ebx
mov r9d, 4
mov r8, rdi
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.14004ad20
dec dword [rbp - 0x60]
mov r9d, 4
lea r8, [rbp - 0x60]
mov rdx, rdi
mov rcx, rsi
call fcn.14004ad20
mov word [rbp - 0x18], bx
mov r9d, 2
lea r8, [r14 - 0x20]
lea rdx, [rbp - 0x18]
mov rcx, rsi
call fcn.14004ad20
mov eax, 0xda18
cmp word [rbp - 0x18], ax
je 0x14004a263
movups xmm0, xmmword [0x1400e3ee0]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x1400e3ef0]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x1400e3f00]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x1400e3f10]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x1400e3f20]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x1400e3f30]
mov dword [rbp - 0x70], eax
movzx eax, word [0x1400e3f34]
mov word [rbp - 0x6c], ax
movzx eax, byte [0x1400e3f36]
mov byte [rbp - 0x6a], al
mov r8d, ebx
mov edi, dword [0x1400ff090]
cmp edi, 2
jl 0x14004a1fb
movdqa xmmword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm10
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x50
jl 0x14004a110
cmp r8d, 0x57
jge 0x14004a240
movsxd rax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x57
jl 0x14004a210
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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]
jmp 0x14004a27a
lea r9, [r14 - 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rsi
call fcn.14004caa0
mov edi, dword [0x1400ff090]
movups xmm0, xmmword [0x1400e3d10]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x1400e3d20]
movups xmmword [rsp + 0x50], xmm1
mov eax, dword [0x1400e3d30]
mov dword [rsp + 0x60], eax
cmp edi, 2
jl 0x14004a3a8
movdqa xmmword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x40]
mov edx, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm10
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x20
jl 0x14004a2c0
cmp eax, 0x24
jge 0x14004a3ec
movsxd rax, ebx
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x34
movzx eax, bl
sub al, dl
add al, 0x30
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x24
jl 0x14004a3c0
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14004c7f0
lea rdx, [0x14004ca60]
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 bl, 1
mov rcx, r15
call fcn.1400c9314
movzx eax, bl
jmp 0x1400495cf