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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x1800c2040]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov rsi, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rcx
mov qword [rsp + 0x68], rcx
xor r12d, r12d
mov dword [rsp + 0x60], r12d
cmp byte [0x1800c3cfa], r12b
jne 0x180081561
mov r14, qword [rcx]
add r14, 0xd0
mov r13, qword [0x1800c4678]
mov rbx, qword [r13 + 8]
mov r15, r13
cmp byte [rbx + 0x19], r12b
jne 0x18008102b
mov rsi, qword [r14 + 0x10]
mov r12, qword [r14 + 0x18]
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
mov rdx, r14
cmp r12, 0xf
jbe 0x180080fd0
mov rdx, qword [r14]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x180080fde
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180081005
cmp rdi, rsi
jae 0x180080ffd
mov eax, 0xffffffff
jmp 0x180081005
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x180081012
mov rbx, qword [rbx + 0x10]
jmp 0x180081018
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180080fc0
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
xor r12d, r12d
cmp byte [r15 + 0x19], 0
jne 0x180081541
lea r8, [r15 + 0x20]
mov rdx, r14
call fcn.180010140
test al, al
jne 0x180081541
cmp r15, r13
je 0x180081541
mov r8, r14
lea rdx, [rsp + 0x30]
call fcn.180081ef0
mov rcx, qword [rax]
cmp dword [rcx + 0x40], 5
jl 0x180081541
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
cmp rdx, r8
jne 0x1800810b3
movdqa xmm0, xmmword [0x1800aeb90]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
jmp 0x1800810c1
sub r8, rdx
lea rcx, [rsp + 0x40]
call fcn.18000fb90
nop
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.180014c00
nop
lea rcx, [rsp + 0x40]
call fcn.18000f7e0
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x30]
lea rcx, [0x180a4e608]
call fcn.180082080
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x180081126
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.18000f6a0
add qword [rbx + 0x48], 0x20
jmp 0x180081136
lea r8, [rbp - 0x48]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036500
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1800ac4f8]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0x70]
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 + 0x60], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x20], r13
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx - 0x24], edx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
mov r9d, 2
mov r8, qword [rbp - 0x38]
lea rcx, [rbp - 0x10]
call fcn.180081db0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x20]
call fcn.18002cf00
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x1800814f1
nop dword [rax + rax]
lea r15, [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
seta al
mov r8, qword [rbp - 0x68]
cmova r15, r8
mov r14, qword [rbp - 0x58]
add r15, r14
lea rcx, [rbp - 0x68]
test al, al
je 0x18008126f
mov rbx, r8
lea rsi, [r8 + r14]
jmp 0x180081277
lea rsi, [rcx + r14]
lea rbx, [rbp - 0x68]
cmp rbx, rsi
je 0x1800812de
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180081295
inc rbx
cmp rbx, rsi
jne 0x180081280
mov rdx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x58]
mov r8, qword [rbp - 0x68]
cmp rbx, rsi
je 0x1800812de
lea rdi, [rbx + 1]
cmp rdi, rsi
je 0x1800812d9
nop
movsx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x1800812c5
movzx eax, byte [rdi]
mov byte [rbx], al
inc rbx
inc rdi
cmp rdi, rsi
jne 0x1800812b0
mov rdx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x58]
mov r8, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x68]
lea rax, [rbp - 0x68]
cmp rdx, 0xf
seta cl
cmova rax, r8
mov rdx, rbx
sub rdx, rax
sub r15, rbx
mov rax, r14
sub rax, rdx
cmp rax, r15
cmovb r15, rax
lea rax, [rbp - 0x68]
test cl, cl
cmovne rax, r8
lea rcx, [rax + rdx]
sub r14, r15
mov r8, r14
sub r8, rdx
inc r8
lea rdx, [rcx + r15]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [0x1800af8e0]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x100352e
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x30]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x12
jb 0x180081350
mov byte [rsp + 0x53], 0
lea rcx, [rsp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x180081371
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova rcx, qword [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rdx, r14
call fcn.180017ea0
cmp rax, 0xffffffffffffffff
je 0x1800813ea
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rbp - 0x78]
lea rcx, [0x180a4e618]
call fcn.180082080
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x1800813da
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.18000f6a0
add qword [rbx + 0x48], 0x20
jmp 0x1800813ea
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036500
mov dword [rsp + 0x30], 0x545b4364
mov dword [rsp + 0x34], 0x72445053
mov dword [rsp + 0x38], 0x4f545c4e
mov word [rsp + 0x3c], 0x100
mov rcx, r12
nop dword [rax]
lea eax, [rcx + 0x30]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xc
jb 0x180081410
mov byte [rsp + 0x3d], 0
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x180081431
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova rcx, qword [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov rdx, qword [rbp - 0x58]
call fcn.180017ea0
cmp rax, 0xffffffffffffffff
je 0x1800814ac
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x78]
lea rcx, [0x180a4e618]
call fcn.180082080
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x18008149c
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.18000f6a0
add qword [rbx + 0x48], 0x20
jmp 0x1800814ac
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036500
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x20]
call fcn.18002cf00
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x180081240
mov rsi, qword [rsp + 0x70]
lea rcx, [rbp - 0x68]
call fcn.18000f7e0
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x20], r13
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx - 0x24], edx
lea rcx, [rbp - 0x10]
call fcn.180081c10
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call fcn.18000f7e0
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x78]
call fcn.180081ef0
mov rcx, qword [rax]
inc dword [rcx + 0x40]
lea rdx, [rsi + 8]
jmp 0x180081570
add rdx, 8
mov rax, qword [rsi]
cmp rax, qword [rdx]
je 0x180081570
mov qword [rdx], rax
mov eax, dword [0x1800c3f08]
add eax, 5
mov ecx, dword [0x1800c3ef8]
cmp ecx, eax
jne 0x1800815d6
cmp byte [0x1800c3cfb], 0
je 0x1800815d6
mov rcx, qword [rsi]
cmp rcx, qword [rdx]
je 0x180081597
mov qword [rdx], rcx
lea r8, [0x1800c2190]
mov r9, qword [0x1800c21a0]
cmp qword [0x1800c21a8], 0xf
jbe 0x1800815b6
mov r8, qword [0x1800c2190]
add r9, r8
sub r9, r8
mov rdx, rcx
mov rcx, rsi
call fcn.180082210
mov byte [0x1800c3cfb], 0
inc dword [0x1800c3ef8]
jmp 0x1800815de
inc ecx
mov dword [0x1800c3ef8], ecx
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180099e40
mov rbx, qword [rsp + 0x230]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret