Function at 0x7ff61ac22c50
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

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 - 0x588]
sub rsp, 0x660
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x7ff61b637500]
xor rax, rsp
mov qword [rbp + 0x540], rax
xor r12d, r12d
mov dword [rsp + 0x40], r12d
movdqa xmm0, xmmword [0x7ff61ad01450]
movdqu xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [0x7ff61ad01280]
movdqu xmmword [rbp + 0x80], xmm1
mov dword [rbp + 0x90], 0x687a7e77
mov dword [rbp + 0x94], 0x7a6c3b7e
mov dword [rbp + 0x98], 0x353b6f72
mov word [rbp + 0x9c], 0x3535
xor eax, eax
mov byte [rbp + 0x9e], al
mov ecx, r12d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x71], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x72], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x73], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x74], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x75], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x76], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x77], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x78], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x79], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7a], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7b], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7c], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7d], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7e], al
movzx eax, byte [rbp + 0x70]
xor byte [rbp + rcx + 0x7f], al
add rcx, 0xf
cmp rcx, 0x2d
jb 0x7ff61ac22cf0
mov byte [rbp + 0x9e], r12b
lea r9, [rbp + 0x71]
lea r8, [0x7ff61ad2f04c]
mov edx, 0x100
lea rcx, [0x7ff61b6406b0]
call fcn.7ff61ab13520
lea rax, [0x7ff61acff4f0]
mov qword [0x7ff61b6407b0], rax
mov dword [0x7ff61b640b68], r12d
mov dword [0x7ff61b640bb0], r12d
mov dword [0x7ff61b640bb4], 0x43160000
mov dword [0x7ff61b640bbc], r12d
movss xmm6, dword [0x7ff61acf0378]
mov dword [0x7ff61b640bb8], 0x42200000
mov rdi, qword [0x7ff61b6373f0]
lea rax, [0x7ff61ad33d58]
mov qword [rsp + 0x70], rax
lea rax, [0x7ff61ad30ed0]
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 8]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x40], 1
xor r8d, r8d
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x70]
call qword [sym.imp.msvcp140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [0x7ff61acff598]
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x78]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, [0x7ff61acfeb40]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x10], r12
mov dword [rbp - 8], r12d
lea rdx, [0x7ff61b6407d0]
lea rcx, [rbp - 0x80]
call fcn.7ff61ab334c0
mov rcx, rax
lea rdx, [0x7ff61acff904]
call fcn.7ff61ab334c0
mov rcx, rax
lea rdx, [0x7ff61b6408d0]
call fcn.7ff61ab334c0
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x78]
call fcn.7ff61ab2d3e0
nop
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rdx, qword [rbp + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x7ff61ac22ed0
lea rcx, [rsp + 0x48]
call fcn.7ff61ab34420
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0x400
lea r8, [rbp + 0x140]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.7ff61ac34f90
mov edi, eax
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x7ff61ac22f50
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff61ac22f4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff61ac22f4b
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff61ac580a8
test edi, edi
jne 0x7ff61ac23246
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], r12
lea rax, [rbp + 0x140]
inc rbx
cmp byte [rax + rbx], 0
jne 0x7ff61ac22f77
mov r8, rbx
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xa0]
call fcn.7ff61ab34420
nop
lea r10, [rbp + 0xa0]
mov rdi, qword [rbp + 0xa0]
mov r14, qword [rbp + 0xb8]
cmp r14, 0xf
cmova r10, rdi
lea r11, [rbp + 0xa0]
cmova r11, rdi
mov rsi, qword [rbp + 0xb0]
add r11, rsi
lea r9, [rbp + 0xa0]
cmp r14, 0xf
cmova r9, rdi
cmp r9, r11
je 0x7ff61ac23017
sub r10, r9
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
mov byte [r10 + r9], cl
inc r9
cmp r9, r11
jne 0x7ff61ac22fe0
mov r14, qword [rbp + 0xb8]
mov rsi, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xa0]
mov rbx, qword [0x7ff61b640a78]
mov r15, qword [0x7ff61b640a80]
cmp rbx, r15
je 0x7ff61ac2306f
nop word [rax + rax]
mov rax, qword [rbx + 0x10]
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x7ff61ac23041
mov r9, qword [rbx]
lea rcx, [rbp + 0xa0]
cmp r14, 0xf
cmova rcx, rdi
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.7ff61ac157c0
cmp rax, 0xffffffffffffffff
jne 0x7ff61ac230b7
add rbx, 0x48
cmp rbx, r15
jne 0x7ff61ac23030
mov dword [rbp + 0xc0], 0x2d2b0d0a
mov word [rbp + 0xc4], 0x5d5b
lea r15, [rbp + 0xc0]
nop dword [rax]
lea rax, [rbp + 0xa0]
cmp r14, 0xf
seta cl
cmova rax, rdi
lea r14, [rsi + rax]
lea rax, [rbp + 0xa0]
test cl, cl
je 0x7ff61ac230e8
lea rbx, [rsi + rdi]
jmp 0x7ff61ac230f3
lea rcx, [rbx + 0x20]
cmp qword [rcx + 0x18], 0xf
jbe 0x7ff61ac230c5
mov rcx, qword [rcx]
lea rax, [0x7ff61acfaffc]
lea rdx, [0x7ff61acff4f4]
cmp byte [rbx + 0x40], 0
cmovne rdx, rax
movaps xmm2, xmm6
call fcn.7ff61ac2b380
jmp 0x7ff61ac231f9
lea rbx, [rsi + rax]
lea rdi, [rbp + 0xa0]
movzx esi, byte [r15]
movzx r8d, sil
mov rdx, rbx
mov rcx, rdi
call fcn.7ff61ac55100
mov r10, rax
cmp rax, rbx
je 0x7ff61ac2312c
inc rax
cmp rax, rbx
je 0x7ff61ac2312c
movzx ecx, byte [rax]
cmp cl, sil
je 0x7ff61ac23124
mov byte [r10], cl
inc r10
inc rax
cmp rax, rbx
jne 0x7ff61ac23116
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
seta r8b
cmova rcx, qword [rbp + 0xa0]
mov r9, r10
sub r9, rcx
sub r14, r10
mov rsi, qword [rbp + 0xb0]
mov rax, rsi
sub rax, r9
cmp rax, r14
cmovb r14, rax
lea rcx, [rbp + 0xa0]
test r8b, r8b
cmovne rcx, qword [rbp + 0xa0]
add rcx, r9
sub rsi, r14
mov r8, rsi
sub r8, r9
inc r8
lea rdx, [rcx + r14]
call sub.VCRUNTIME140.dll_memcpy_1
mov qword [rbp + 0xb0], rsi
inc r12d
inc r15
cmp r12d, 6
jae 0x7ff61ac231b4
mov r14, qword [rbp + 0xb8]
mov rdi, qword [rbp + 0xa0]
jmp 0x7ff61ac23090
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova r9, qword [rbp + 0xa0]
lea r8, [0x7ff61acff910]
mov edx, 0x64
lea rcx, [rbp + 0xd0]
call fcn.7ff61ab13520
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xd0]
xor ecx, ecx
call qword [sym.imp.user32.dll_MessageBoxA]
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x7ff61ac2351a
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff61ac2323c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff61ac2323c
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff61ac580a8
jmp 0x7ff61ac2351a
cmp edi, 2
jne 0x7ff61ac233c2
movdqa xmm1, xmmword [0x7ff61ad01240]
movdqa xmm2, xmmword [0x7ff61ad01250]
mov cl, 0xa
mov dl, 6
mov r8b, 0x43
mov r10b, 0x54
mov bl, 0x49
mov r14b, 0x16
mov r15b, 0x5e
mov r12b, 0x12
mov r13b, 0x13
movzx esi, dl
movzx edi, r10b
movzx r11d, r10b
movdqu xmmword [rbp + 0x80], xmm2
movdqu xmmword [rbp + 0x70], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r9d, xmm1
xor al, r9b
mov byte [rbp + 0x71], al
xor byte [rbp + 0x72], r9b
xor byte [rbp + 0x73], r9b
xor byte [rbp + 0x74], r9b
xor byte [rbp + 0x75], r9b
xor byte [rbp + 0x76], r9b
xor byte [rbp + 0x77], r9b
xor byte [rbp + 0x78], r9b
xor byte [rbp + 0x79], r9b
xor byte [rbp + 0x7a], r9b
xor byte [rbp + 0x7b], r9b
xor byte [rbp + 0x7c], r9b
xor byte [rbp + 0x7d], r9b
xor byte [rbp + 0x7e], r9b
xor byte [rbp + 0x7f], r9b
movd eax, xmm2
xor al, r9b
mov byte [rbp + 0x80], al
xor byte [rbp + 0x81], r9b
xor byte [rbp + 0x82], r9b
xor byte [rbp + 0x83], r9b
xor byte [rbp + 0x84], r9b
xor byte [rbp + 0x85], r9b
xor byte [rbp + 0x86], r9b
xor byte [rbp + 0x87], r9b
xor byte [rbp + 0x88], r9b
xor byte [rbp + 0x89], r9b
xor byte [rbp + 0x8a], r9b
xor byte [rbp + 0x8b], r9b
xor byte [rbp + 0x8c], r9b
xor byte [rbp + 0x8d], r9b
xor byte [rbp + 0x8e], r9b
xor byte [rbp + 0x8f], r9b
xor cl, r9b
mov byte [rbp + 0x90], cl
xor dl, r9b
mov byte [rbp + 0x91], dl
xor r8b, r9b
mov byte [rbp + 0x92], r8b
xor r10b, r9b
xor r11b, r9b
xor bl, r9b
xor dil, r9b
mov byte [rbp + 0x96], dil
xor sil, r9b
mov byte [rbp + 0x97], sil
xor r14b, r9b
mov byte [rbp + 0x98], r14b
xor r15b, r9b
mov byte [rbp + 0x99], r15b
xor r12b, r9b
mov byte [rbp + 0x9a], r12b
xor r13b, r9b
mov byte [rbp + 0x9b], r13b
mov byte [rbp + 0x9c], 0
jmp 0x7ff61ac234f2
cmp edi, 5
jne 0x7ff61ac233f4
movdqa xmm1, xmmword [0x7ff61ad00d50]
movdqa xmm2, xmmword [0x7ff61ad00d30]
mov cl, 0x4d
mov dl, 0x41
mov r8b, 4
mov r10b, 0x13
mov bl, 0xe
mov r14b, 0x51
mov r15b, 0x19
mov r12b, 0x54
mov r13b, 0x56
jmp 0x7ff61ac23277
movdqa xmm1, xmmword [0x7ff61ad01010]
movdqu xmmword [rbp + 0x70], xmm1
movdqa xmm2, xmmword [0x7ff61ad01020]
movdqu xmmword [rbp + 0x80], xmm2
mov dl, 0x7a
mov r8b, 0x39
mov r9b, 0x32
mov r10b, 0x3f
mov r11b, 0x3b
mov bl, 0x2e
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp + 0x71], al
xor byte [rbp + 0x72], cl
xor byte [rbp + 0x73], cl
xor byte [rbp + 0x74], cl
xor byte [rbp + 0x75], cl
xor byte [rbp + 0x76], cl
xor byte [rbp + 0x77], cl
xor byte [rbp + 0x78], cl
xor byte [rbp + 0x79], cl
xor byte [rbp + 0x7a], cl
xor byte [rbp + 0x7b], cl
xor byte [rbp + 0x7c], cl
xor byte [rbp + 0x7d], cl
xor byte [rbp + 0x7e], cl
xor byte [rbp + 0x7f], cl
movd eax, xmm2
xor al, cl
mov byte [rbp + 0x80], al
xor byte [rbp + 0x81], cl
xor byte [rbp + 0x82], cl
xor byte [rbp + 0x83], cl
xor byte [rbp + 0x84], cl
xor byte [rbp + 0x85], cl
xor byte [rbp + 0x86], cl
xor byte [rbp + 0x87], cl
xor byte [rbp + 0x88], cl
xor byte [rbp + 0x89], cl
xor byte [rbp + 0x8a], cl
xor byte [rbp + 0x8b], cl
xor byte [rbp + 0x8c], cl
xor byte [rbp + 0x8d], cl
xor byte [rbp + 0x8e], cl
xor byte [rbp + 0x8f], cl
xor dl, cl
mov byte [rbp + 0x90], dl
xor r8b, cl
mov byte [rbp + 0x91], r8b
xor r9b, cl
mov byte [rbp + 0x92], r9b
xor r10b, cl
xor r11b, cl
xor bl, cl
mov byte [rbp + 0x96], 0
mov byte [rbp + 0x93], r10b
mov byte [rbp + 0x94], r11b
mov byte [rbp + 0x95], bl
movaps xmm2, xmm6
lea rdx, [0x7ff61acff4f4]
lea rcx, [rbp + 0x71]
call fcn.7ff61ac2b380
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [0x7ff61acff598]
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x78]
call fcn.7ff61ab2a360
lea rcx, [rbp - 0x70]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 8]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rbp + 0x540]
xor rcx, rsp
call fcn.7ff61ac57d50
lea r11, [rsp + 0x660]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret