Function at 0x180032eb0
Capabilities:
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 - 0x230]
sub rsp, 0x330
mov rax, qword [0x1801ab040]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rdi, rdx
mov r13, rcx
mov qword [rbp - 0x20], rdx
xor r12d, r12d
mov r14d, r12d
mov dword [rsp + 0x40], r12d
mov r8, qword [rdx + 0x10]
lea rsi, [r12 - 1]
test r8, r8
je 0x180032f77
movdqa xmm0, xmmword [0x180192b00]
movdqu xmmword [rbp + 0x100], xmm0
mov word [rbp + 0x110], 0x100
mov ecx, r12d
nop
lea eax, [rcx + 0x6b]
xor byte [rbp + rcx + 0x100], al
inc rcx
cmp rcx, 0x10
jb 0x180032f20
mov byte [rbp + 0x111], 0
lea rcx, [rbp + 0x100]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x180032f44
mov rcx, rdi
cmp qword [rdx + 0x18], 0xf
jbe 0x180032f5a
mov rcx, qword [rdx]
cmp r8, rax
jne 0x180033009
lea rdx, [rbp + 0x100]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180033009
mov dword [rsp + 0x40], 0xd315628
mov dword [rsp + 0x44], 0x13181406
mov dword [rsp + 0x48], 0x1b00102f
mov dword [rsp + 0x4c], 0x1002407
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xe
jb 0x180032fa0
mov byte [rsp + 0x4f], 0
lea rax, [rsp + 0x40]
mov rbx, rsi
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180032fc0
mov rax, qword [rdi + 0x18]
cmp rbx, rax
ja 0x180032ff9
mov r15, rdi
cmp rax, 0xf
jbe 0x180032fde
mov r15, qword [rdi]
mov qword [rdi + 0x10], rbx
mov r8, rbx
lea rdx, [rsp + 0x40]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rbx], 0
jmp 0x180033009
lea r9, [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call fcn.180017770
mov word [rsp + 0x40], 0x5c
mov byte [rsp + 0x42], 0
lea rax, [rsp + 0x40]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180033020
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18000df10
mov rbx, rax
call fcn.1800a2620
mov dword [rbp + 0x100], 0x290f2907
mov dword [rbp + 0x104], 0x2942291f
mov dword [rbp + 0x108], 0x29022909
mov dword [rbp + 0x10c], 0x2903
mov byte [rbp + 0x110], 1
mov rcx, r12
mov edx, 0x2969
nop word [rax + rax]
lea eax, [rdx + rcx]
xor word [rbp + rcx*2 + 0x100], ax
inc rcx
cmp rcx, 7
jb 0x180033080
mov byte [rbp + 0x110], 0
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8 + 0xc8a40], 0
jne 0x1800330b0
lea rdx, [rax + 0xc8a40]
mov rcx, rbx
call fcn.18000df10
mov rcx, r13
call fcn.1800169f0
mov rbx, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x168], xmm0
mov qword [rbp + 0x178], rax
mov dword [rsp + 0x40], 0xb040008
mov dword [rsp + 0x44], 0x12e0401
mov dword [rsp + 0x48], 0x61c0610
mov word [rsp + 0x4c], 3
mov byte [rsp + 0x4e], 1
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xd
jb 0x180033120
mov byte [rsp + 0x4e], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
lea rax, [rsp + 0x40]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x180033152
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x130]
call fcn.18000eea0
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x168]
mov rcx, rbx
call fcn.1800a4b80
nop
lea rcx, [rbp + 0x130]
call fcn.18000e640
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], rax
mov dword [rsp + 0x40], 0x1c0c0418
mov dword [rsp + 0x44], 0x12e140a
mov dword [rsp + 0x48], 0x61c0610
mov word [rsp + 0x4c], 3
mov byte [rsp + 0x4e], 1
mov rcx, r12
nop dword [rax + rax]
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xd
jb 0x1800331d0
mov byte [rsp + 0x4e], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rsp + 0x40]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180033200
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18000eea0
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x150]
mov rcx, rbx
call fcn.1800a4b80
nop
lea rcx, [rsp + 0x50]
call fcn.18000e640
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x118], xmm0
mov qword [rbp + 0x128], rax
mov dword [rsp + 0x40], 0xb01050d
mov word [rsp + 0x44], 0x100
mov rcx, r12
nop
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 4
jb 0x180033260
mov byte [rsp + 0x45], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
lea rax, [rsp + 0x40]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180033290
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x68]
call fcn.18000eea0
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0x118]
mov rcx, rbx
call fcn.1800a4b80
nop
lea rcx, [rbp - 0x68]
call fcn.18000e640
mov dword [rsp + 0x40], 0xf00140d
mov dword [rsp + 0x44], 0x17171901
mov dword [rsp + 0x48], 0x1a5b0000
mov dword [rsp + 0x4c], 0x1001902
mov rcx, r12
nop dword [rax]
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xe
jb 0x1800332f0
mov byte [rsp + 0x4f], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rsp + 0x40]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180033320
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18000eea0
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, qword [rbp + 0x128]
je 0x180033378
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
movdqa xmm0, xmmword [0x180192870]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
add qword [rbp + 0x120], 0x20
jmp 0x18003338a
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x118]
call fcn.180017e30
nop
lea rcx, [rsp + 0x50]
call fcn.18000e640
mov dword [rsp + 0x40], 0xb1f3334
mov dword [rsp + 0x44], 0x41f1c
mov dword [rsp + 0x48], 0x1a5b1110
mov dword [rsp + 0x4c], 0x1001902
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx + 0x6b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xe
jb 0x1800333c0
mov byte [rsp + 0x4f], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rsp + 0x40]
nop dword [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x1800333f0
mov r8, rsi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18000eea0
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, qword [rbp + 0x128]
je 0x18003344a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
movdqa xmm0, xmmword [0x180192870]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
add qword [rbp + 0x120], 0x20
jmp 0x18003345c
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x118]
call fcn.180017e30
nop
lea rcx, [rsp + 0x50]
call fcn.18000e640
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], r12
mov rdx, qword [rbp + 0x170]
sub rdx, qword [rbp + 0x168]
sar rdx, 5
movabs rax, 0x7ffffffffffffff
test rdx, rdx
je 0x180033530
cmp rdx, rax
ja 0x180033a53
lea rcx, [rbp + 0x1d0]
call fcn.180017b10
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x40], rax
mov rsi, qword [rbp + 0x168]
mov r15, qword [rbp + 0x170]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov rbx, qword [rbp + 0x1d0]
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rbx
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x110], rax
cmp rsi, r15
je 0x18003351f
nop
mov rdx, rsi
mov rcx, rbx
call fcn.180015180
add rbx, 0x20
mov qword [rbp + 0x108], rbx
add rsi, 0x20
cmp rsi, r15
jne 0x180033500
mov qword [rbp + 0x1d8], rbx
movabs rax, 0x7ffffffffffffff
mov qword [rbp + 0x1e8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1f0], xmm0
mov rdx, qword [rbp + 0x158]
sub rdx, qword [rbp + 0x150]
sar rdx, 5
test rdx, rdx
je 0x1800335e6
cmp rdx, rax
ja 0x180033a59
lea rcx, [rbp + 0x1e8]
call fcn.180017b10
lea rax, [rbp + 0x1e8]
mov qword [rsp + 0x40], rax
mov rsi, qword [rbp + 0x150]
mov r15, qword [rbp + 0x158]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov rbx, qword [rbp + 0x1e8]
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rbx
lea rax, [rbp + 0x1e8]
mov qword [rbp + 0x110], rax
cmp rsi, r15
je 0x1800335df
nop
mov rdx, rsi
mov rcx, rbx
call fcn.180015180
add rbx, 0x20
mov qword [rbp + 0x108], rbx
add rsi, 0x20
cmp rsi, r15
jne 0x1800335c0
mov qword [rbp + 0x1f0], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r12
mov rdx, qword [rbp + 0x120]
sub rdx, qword [rbp + 0x118]
sar rdx, 5
test rdx, rdx
je 0x1800336a6
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x180033a5f
lea rcx, [rbp + 0x200]
call fcn.180017b10
lea rax, [rbp + 0x200]
mov qword [rsp + 0x40], rax
mov rsi, qword [rbp + 0x118]
mov r15, qword [rbp + 0x120]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov rbx, qword [rbp + 0x200]
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rbx
lea rax, [rbp + 0x200]
mov qword [rbp + 0x110], rax
cmp rsi, r15
je 0x18003369f
nop
mov rdx, rsi
mov rcx, rbx
call fcn.180015180
add rbx, 0x20
mov qword [rbp + 0x108], rbx
add rsi, 0x20
cmp rsi, r15
jne 0x180033680
mov qword [rbp + 0x208], rbx
lea r15, [rbp + 0x1d0]
nop dword [rax]
mov rbx, qword [r15]
mov rsi, qword [r15 + 8]
cmp rbx, rsi
je 0x1800339bd
lea rdx, [r13 + 0xf0]
lea rcx, [rsp + 0x50]
call fcn.180015180
or r14d, 2
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800336e2
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rsp + 0x50]
call fcn.18000df10
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1a8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1b8], xmm1
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 0xf
mov byte [rax], cl
or r14d, 1
lea rcx, [rsp + 0x50]
call fcn.18000e640
lea rdx, [rbp + 0x1a8]
lea rcx, [rsp + 0x70]
call fcn.180015180
mov rdx, rax
lea rcx, [rbp + 0x180]
call fcn.1800251a0
nop
cmp byte [rbp + 0x1a0], 0
jne 0x180033752
jmp 0x1800339a4
lea rdx, [rbp + 0x1a8]
lea rcx, [rsp + 0x50]
call fcn.180032ca0
nop
mov rcx, qword [rax]
add rcx, 0x20
mov rdx, qword [rdi + 0x10]
mov r8, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jb 0x180033a4d
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180033796
mov r9, qword [rdi]
cmp qword [rcx + 0x18], 0xf
jbe 0x1800337a0
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x130]
call fcn.1800179f0
nop
lea rcx, [rsp + 0x50]
call fcn.180015870
xor eax, eax
mov qword [rbp + 0x100], rax
lea rax, [0x1801ab490]
mov qword [rbp + 0x108], rax
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x70]
call fcn.180018650
or r14d, 0xc
xor eax, eax
mov qword [rbp - 0x70], rax
lea edx, [rax + 2]
lea rcx, [rsp + 0x70]
call fcn.180010a30
nop
lea rcx, [rsp + 0x70]
call fcn.180012970
test al, al
je 0x180033858
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x70]
call fcn.1800125b0
nop
mov rdx, qword [rbp - 0x80]
sub rdx, qword [rax + 0x10]
cmp qword [rbp - 0x80], rdx
jb 0x180033a65
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rax, qword [rsp + 0x70]
mov qword [rbp - 0x80], rdx
xor ecx, ecx
mov word [rax + rdx*2], cx
lea rcx, [rbp - 0x48]
call fcn.180015900
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x70]
call fcn.180012e60
nop
lea rcx, [rsp + 0x70]
call fcn.180015900
cmp dword [rbp + 0x100], 0
jne 0x18003396d
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
cmova rdx, qword [rbp + 0x130]
lea rcx, [rbp - 0x10]
call fcn.180015700
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x14], edx
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x180033927
cmp byte [rbp + 0x1a0], 0
je 0x180033a47
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x190]
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
nop
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x14], edx
lea rcx, [rbp - 8]
call fcn.180014280
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x98]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x40]
call fcn.180016ac0
nop
lea rcx, [rbp + 0x130]
call fcn.18000e640
nop
cmp byte [rbp + 0x1a0], 0
je 0x1800339a4
lea rcx, [rbp + 0x180]
call fcn.18000e640
nop
lea rcx, [rbp + 0x1a8]
call fcn.18000e640
add rbx, 0x20
cmp rbx, rsi
jne 0x1800336c0
add r15, 0x18
lea rax, [rbp + 0x218]
cmp r15, rax
jne 0x1800336b0
lea r9, [fcn.180014b60]
mov edx, 0x18
lea r8d, [rdx - 0x15]
lea rcx, [rbp + 0x1d0]
call fcn.1800cb120
nop
lea rcx, [rbp + 0x118]
call fcn.180015870
nop
lea rcx, [rbp + 0x150]
call fcn.180015870
nop
lea rcx, [rbp + 0x168]
call fcn.180015870
nop
mov rcx, rdi
call fcn.18000e640
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1800cac00
mov rbx, qword [rsp + 0x380]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800104a0
nop
call fcn.18000ad30
nop
call fcn.18000e880
nop
call fcn.18000e880
nop
call fcn.18000e880
nop
call fcn.180015c50
int3