Function at 0x180001432
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1f0], 0xfffffffffffffffe
mov rax, qword [0x1800a8030]
movabs rdx, 0xa009f9e473d14115
mov rax, qword [rax + rdx]
lea rdi, [rcx + 0x58]
mov qword [rbp + 0x1e8], rcx
cmp qword [rcx + 0x70], 8
mov rcx, rdi
jb 0x18000148d
mov rcx, qword [rbp + 0x1e8]
mov rcx, qword [rcx + 0x58]
mov rsi, qword [rax + 0x18]
call fcn.180083d44
movabs rcx, 0xa009f9e473d14141
add rcx, qword [0x1800a8038]
call fcn.18001f520
movabs rax, 0xa009f9e473d140f5
mov rdx, qword [0x1800a8040]
add rdx, rax
lea rcx, [rbp + 0x1a0]
call fcn.180008deb
lea rbx, [rbp + 0x1c0]
lea r8, [rbp + 0x1a0]
mov rcx, rbx
mov rdx, rdi
call fcn.180002138
cmp qword [rbp + 0x1d8], 8
jb 0x1800014f6
mov rbx, qword [rbp + 0x1c0]
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x48]
mov rdx, rbx
mov r8d, 2
mov r9d, 0x40
call fcn.180008e4a
mov rax, qword [rbp + 0x1d8]
cmp rax, 8
jb 0x180001537
mov rcx, qword [rbp + 0x1c0]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], 0
mov rax, qword [rbp + 0x1b8]
cmp rax, 8
jb 0x180001577
mov rcx, qword [rbp + 0x1a0]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov rax, qword [rbp - 0x48]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffb8
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::good_void_const___ptr64]
test al, al
je 0x1800020bf
test rsi, rsi
je 0x180001726
mov rax, qword [rbp + 0x1e8]
movsxd rax, dword [rax + 0xc]
mov byte [rbp + 0xc0], 5
mov qword [rbp + 0xc8], rax
mov rax, qword [0x1800a80d8]
movabs rcx, 0xbd7025830cb39c48
mov rax, qword [rax + rcx]
mov rdi, qword [rax + rsi + 0x18]
vxorps xmm0, xmm0, xmm0
lea rbx, [rbp + 0x1a0]
vmovups ymmword [rbx], ymm0
mov rcx, rdi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rbx
mov rdx, rdi
mov r8, rax
call fcn.1800058e4
cmp byte [0x1800acdd2], 0
jne 0x180001648
mov rdx, qword [0x1800a8038]
movabs rax, 0xa009f9e473d1416c
add rax, rdx
movabs rcx, 0xa009f9e473d14189
add rcx, rdx
xor edx, edx
lea r8, [0x1800acdb8]
mov r9b, byte [rax + rdx]
xor r9b, byte [rcx + rdx]
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0x1a
jne 0x18000162c
mov byte [0x1800acdd2], 1
mov rdi, qword [0x1800a8048]
movabs rax, 0xa009f9e473d140f5
add rdi, rax
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rbp + 0x1a0]
mov rdx, rdi
mov r8, rax
call fcn.180006940
mov rcx, qword [rbp + 0x1e8]
add rcx, 0x78
vmovups ymm0, ymmword [rax]
lea rdx, [rbp + 0x1c0]
vmovups ymmword [rdx], ymm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
vzeroupper
call fcn.1800022b2
lea rcx, [rbp + 0xc8]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x1800016ed
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x1d8], 0xf
mov byte [rbp + 0x1c0], 0
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0x10
jb 0x180001726
mov rcx, qword [rbp + 0x1a0]
inc rdx
call fcn.18000506c
mov rcx, qword [rbp + 0x1e8]
call fcn.18007c144
lea rcx, [rbp + 0x1c0]
mov qword [rcx], rax
mov qword [rbp + 0x148], 0
mov byte [rbp + 0x140], 3
call fcn.18000b0ca
mov qword [rbp + 0x148], rax
mov rax, qword [rbp + 0x1e8]
lea rdi, [rax + 0x78]
movabs rcx, 0xa009f9e473d141b7
add rcx, qword [0x1800a8038]
call fcn.18001f570
mov rdx, qword [0x1800a8050]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x148]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
lea rcx, [rax + 1]
call fcn.18007c144
lea rcx, [rbp + 0x1c0]
mov qword [rcx], rax
mov qword [rbp + 0x158], 0
mov byte [rbp + 0x150], 3
call fcn.18000b0ca
mov qword [rbp + 0x158], rax
movabs rcx, 0xa009f9e473d141e1
add rcx, qword [0x1800a8038]
call fcn.18001f590
mov rdx, qword [0x1800a8058]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x158]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
lea rcx, [rax + 2]
call fcn.18007c144
lea rcx, [rbp + 0x1c0]
mov qword [rcx], rax
mov qword [rbp + 0x168], 0
mov byte [rbp + 0x160], 3
call fcn.18000b0ca
mov qword [rbp + 0x168], rax
movabs rcx, 0xa009f9e473d1421c
add rcx, qword [0x1800a8038]
call fcn.18001f5c0
mov rdx, qword [0x1800a8060]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x168]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movzx eax, byte [rax + 8]
mov byte [rbp + 0xd0], 4
mov qword [rbp + 0xd8], rax
movabs rcx, 0xa009f9e473d14262
add rcx, qword [0x1800a8038]
call fcn.18001f5f0
mov rdx, qword [0x1800a8068]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0xd8]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movzx eax, byte [rax + 3]
mov byte [rbp + 0xe0], 4
mov qword [rbp + 0xe8], rax
movabs rcx, 0xa009f9e473d14296
add rcx, qword [0x1800a8038]
call fcn.18001f620
mov rdx, qword [0x1800a8070]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0xe8]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movzx eax, byte [rax + 9]
mov byte [rbp + 0xf0], 4
mov qword [rbp + 0xf8], rax
movabs rcx, 0xa009f9e473d142d0
add rcx, qword [0x1800a8038]
call fcn.18001f670
mov rdx, qword [0x1800a8078]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0xf8]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
vcvtss2sd xmm0, xmm0, dword [rax + 4]
mov byte [rbp + 0x100], 7
vmovsd qword [rbp + 0x108], xmm0
movabs rcx, 0xa009f9e473d14306
add rcx, qword [0x1800a8038]
call fcn.18001f6a0
mov rdx, qword [0x1800a8080]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x108]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movsxd rax, dword [rax + 0x18]
mov byte [rbp + 0x110], 5
mov qword [rbp + 0x118], rax
cmp byte [0x1800ace7c], 0
jne 0x180001b0b
mov rdx, qword [0x1800a8038]
movabs rax, 0xa009f9e473d1433f
add rax, rdx
movabs rcx, 0xa009f9e473d1435b
add rcx, rdx
xor edx, edx
lea r8, [0x1800ace63]
mov r9b, byte [rax + rdx]
xor r9b, byte [rcx + rdx]
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0x19
jne 0x180001aef
mov byte [0x1800ace7c], 1
mov rdx, qword [0x1800a8088]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x118]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movsxd rax, dword [rax + 0x1c]
mov byte [rbp + 0x120], 5
mov qword [rbp + 0x128], rax
movabs rcx, 0xa009f9e473d1438c
add rcx, qword [0x1800a8038]
call fcn.18001f6e0
mov rdx, qword [0x1800a8090]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x128]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
movsxd rax, dword [rax + 0x14]
mov byte [rbp + 0x130], 5
mov qword [rbp + 0x138], rax
cmp byte [0x1800aceb3], 0
jne 0x180001c47
mov rdx, qword [0x1800a8038]
movabs rax, 0xa009f9e473d143ec
add rax, rdx
movabs rcx, 0xa009f9e473d143d8
add rcx, rdx
xor edx, edx
movabs r8, 0xcccccccccccccccd
lea r9, [0x1800ace99]
mulx r10, r10, r8
shr r10, 2
and r10, 0xfffffffffffffffc
lea r10, [r10 + r10*4]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1a
jne 0x180001c14
mov byte [0x1800aceb3], 1
mov rdx, qword [0x1800a8098]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
lea rcx, [rbp + 0x138]
mov dl, byte [rax]
mov r8b, byte [rcx - 8]
mov byte [rax], r8b
mov byte [rcx - 8], dl
mov r8, qword [rax + 8]
mov r9, qword [rcx]
mov qword [rax + 8], r9
mov qword [rcx], r8
call fcn.180007e10
mov rax, qword [rbp + 0x1e8]
mov rsi, qword [rax + 0x28]
mov rbx, qword [rsi]
lea rax, [rbp + 0x1a0]
mov qword [rax], rbx
lea r15, [rbp + 0x1c0]
movabs r13, 0x4ec4ec4ec4ec4ec5
lea r14, [0x1800aceb4]
cmp rbx, rsi
je 0x180001dc8
movsxd rax, dword [rbx + 0x28]
mov byte [rbp + 0x170], 5
mov qword [rbp + 0x178], rax
cmp byte [0x1800aced2], 0
jne 0x180001d2c
mov rax, qword [0x1800a8038]
movabs rcx, 0xa009f9e473d1443d
add rcx, rax
movabs rdx, 0xa009f9e473d14423
add rax, rdx
xor edx, edx
mulx r8, r8, r13
shr r8, 3
imul r8, r8, 0xffffffffffffffe6
add r8, rax
mov r8b, byte [rdx + r8]
xor r8b, byte [rcx + rdx]
mov byte [rdx + r14], r8b
inc rdx
cmp rdx, 0x1e
jne 0x180001d00
mov byte [0x1800aced2], 1
mov rdx, qword [0x1800a80a0]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
mov r12, rax
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.180006aa4
mov rcx, r12
mov rdx, r15
call fcn.1800022b2
mov dl, byte [rax]
mov cl, byte [rbp + 0x170]
mov byte [rax], cl
mov byte [rbp + 0x170], dl
mov rcx, qword [rax + 8]
mov r8, qword [rbp + 0x178]
mov qword [rax + 8], r8
mov qword [rbp + 0x178], rcx
lea rcx, [rbp + 0x178]
call fcn.180007e10
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180001db0
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
lea rcx, [rbp + 0x1a0]
call fcn.18000849e
mov rbx, qword [rbp + 0x1a0]
jmp 0x180001cb9
mov rax, qword [rbp + 0x1e8]
mov rsi, qword [rax + 0x38]
mov rbx, qword [rsi]
lea rax, [rbp + 0x1a0]
mov qword [rax], rbx
lea r15, [rbp + 0x1c0]
movabs r13, 0x8888888888888889
lea r14, [0x1800aced3]
cmp rbx, rsi
je 0x180001f07
movsxd rax, dword [rbx + 0x28]
mov byte [rbp + 0x180], 5
mov qword [rbp + 0x188], rax
cmp byte [0x1800acef2], 0
jne 0x180001e6b
mov rax, qword [0x1800a8038]
movabs rcx, 0xa009f9e473d1448a
add rcx, rax
movabs rdx, 0xa009f9e473d1446c
add rax, rdx
xor edx, edx
mulx r8, r8, r13
shr r8, 4
imul r8, r8, 0xffffffffffffffe2
add r8, rax
mov r8b, byte [rdx + r8]
xor r8b, byte [rcx + rdx]
mov byte [rdx + r14], r8b
inc rdx
cmp rdx, 0x1f
jne 0x180001e3f
mov byte [0x1800acef2], 1
mov rdx, qword [0x1800a80a8]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
mov r12, rax
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.180006aa4
mov rcx, r12
mov rdx, r15
call fcn.1800022b2
mov dl, byte [rax]
mov cl, byte [rbp + 0x180]
mov byte [rax], cl
mov byte [rbp + 0x180], dl
mov rcx, qword [rax + 8]
mov r8, qword [rbp + 0x188]
mov qword [rax + 8], r8
mov qword [rbp + 0x188], rcx
lea rcx, [rbp + 0x188]
call fcn.180007e10
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180001eef
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
lea rcx, [rbp + 0x1a0]
call fcn.18000849e
mov rbx, qword [rbp + 0x1a0]
jmp 0x180001df8
mov rax, qword [rbp + 0x1e8]
mov r12, qword [rax + 0x48]
mov rsi, qword [r12]
lea rax, [rbp + 0x1a0]
mov qword [rax], rsi
lea r14, [rbp + 0x1c0]
movabs r13, 0xe38e38e38e38e38f
lea rbx, [0x1800acef3]
cmp rsi, r12
je 0x18000204e
movsxd rax, dword [rsi + 0x28]
mov byte [rbp + 0x190], 5
mov qword [rbp + 0x198], rax
cmp byte [0x1800acf17], 0
jne 0x180001fb2
mov rax, qword [0x1800a8038]
movabs rcx, 0xa009f9e473d144d9
add rcx, rax
movabs rdx, 0xa009f9e473d144c7
add rax, rdx
xor edx, edx
mulx r8, r8, r13
shr r8, 3
and r8, 0xfffffffffffffffe
lea r8, [r8 + r8*8]
mov r9, rax
sub r9, r8
mov r8b, byte [r9 + rdx]
xor r8b, byte [rcx + rdx]
mov byte [rdx + rbx], r8b
inc rdx
cmp rdx, 0x24
jne 0x180001f7f
mov byte [0x1800acf17], 1
mov rdx, qword [0x1800a80b0]
movabs rax, 0xa009f9e473d140f5
add rdx, rax
mov rcx, rdi
call fcn.18000250a
mov r15, rax
mov rdx, qword [rsi + 0x20]
mov rcx, r14
call fcn.180006aa4
mov rcx, r15
mov rdx, r14
call fcn.1800022b2
mov dl, byte [rax]
mov cl, byte [rbp + 0x190]
mov byte [rax], cl
mov byte [rbp + 0x190], dl
mov rcx, qword [rax + 8]
mov r8, qword [rbp + 0x198]
mov qword [rax + 8], r8
mov qword [rbp + 0x198], rcx
lea rcx, [rbp + 0x198]
call fcn.180007e10
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180002036
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
lea rcx, [rbp + 0x1a0]
call fcn.18000849e
mov rsi, qword [rbp + 0x1a0]
jmp 0x180001f38
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea rsi, [rbp + 0x1c0]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xffffffff
mov r9b, 0x20
call fcn.18000271a
mov r8, qword [rbp + 0x1d0]
cmp qword [rbp + 0x1d8], 0x10
jb 0x18000208e
mov rsi, qword [rbp + 0x1c0]
lea rcx, [rbp - 0x48]
mov rdx, rsi
call fcn.18000e7ab
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x1800020b6
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
lea rcx, [rbp - 0x48]
call fcn.18000290e
lea rsi, [rbp + 0x60]
mov rax, qword [rsi - 0xa8]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x48], rcx
mov rax, qword [rsi - 0xa8]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [rbp + rax - 0x4c], ecx
lea rcx, [rbp - 0x40]
call fcn.180006b22
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
nop
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret