Function at 0x180002480
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b0], 0xfffffffffffffffe
mov r15, rcx
cmp byte [0x18004582e], 0
jne 0x180002582
mov rdx, qword [0x180044440]
movabs rax, 0x3b9b32163ab55dad
add rax, rdx
movabs rcx, 0x3b9b32163ab55dc2
add rcx, rdx
xor edx, edx
lea r8, [0x180045829]
movzx r10d, byte [rcx + rdx]
mov ebx, r10d
not bl
movzx r9d, byte [rax + rdx]
mov r11d, r10d
and r11b, 0xe2
mov esi, r10d
xor sil, 0xa0
and sil, r11b
not r11b
mov edi, r10d
and dil, 0x1d
mov r14d, r10d
or r14b, 0xe2
xor dil, 0x85
and dil, r14b
and bl, 5
or bl, dil
xor r14b, r11b
and r11b, 0xb0
or r11b, sil
xor r11b, bl
xor r10b, 0xe2
or r10b, r14b
xor r11b, 0xd7
mov ebx, r11d
and bl, 0xfd
and sil, 2
or sil, bl
xor sil, r10b
xor sil, 2
or r11b, r10b
not r11b
or r11b, sil
mov r10d, r9d
xor r10b, 0x1d
xor r9b, 0xe2
or r9b, r10b
not r9b
or r9b, r10b
xor r9b, r11b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 5
jne 0x1800024e0
mov byte [0x18004582e], 1
movabs rsi, 0x3b9b32163ab55b38
mov rbx, qword [0x180044448]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18000354f
mov rdi, rax
cmp rax, 0xf
ja 0x1800025e2
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
lea rcx, [rbp + 0x50]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbp
add rdi, 0x50
jmp 0x18000266c
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
lea rax, [rbp - 0x58]
cmp rsi, 0xfff
jb 0x18000262b
lea rcx, [rsi + 0x28]
mov byte [rbp + 0x1ae], 1
mov qword [rbp + 0x178], rax
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180002645
lea rcx, [rsi + 1]
mov byte [rbp + 0x1ae], 1
mov qword [rbp + 0x178], rax
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs rsi, 0x3b9b32163ab55b38
mov byte [rdi], 0
movabs rcx, 0x3b9b32163ab55ccd
add rcx, qword [0x180044440]
call fcn.18002f9a0
mov rbx, qword [0x180044450]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x130], xmm0
movaps xmmword [rbp + 0x140], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180003566
mov rdi, rax
cmp rax, 0xf
ja 0x1800026ed
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], 0xf
lea rcx, [rbp + 0x130]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbp
add rdi, 0x130
jmp 0x18000277c
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002732
lea rcx, [rsi + 0x28]
lea rax, [rbp + 0x130]
mov qword [rbp + 0x188], rax
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x18000274c
lea rcx, [rsi + 1]
lea rax, [rbp + 0x130]
mov qword [rbp + 0x188], rax
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs rsi, 0x3b9b32163ab55b38
mov byte [rdi], 0
lea r14, [rbp + 0x150]
movabs rcx, 0x3b9b32163ab55d00
add rcx, qword [0x180044440]
call fcn.18002fa70
mov rbx, qword [0x180044458]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x150], xmm0
movaps xmmword [rbp + 0x160], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180003579
mov rdi, rax
cmp rax, 0xf
ja 0x1800027e5
mov qword [rbp + 0x160], rdi
mov qword [rbp + 0x168], 0xf
jmp 0x18000284b
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002823
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x188], r14
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180002836
lea rcx, [rsi + 1]
mov qword [rbp + 0x188], r14
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x160], rdi
mov qword [rbp + 0x168], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
mov byte [rdi], 0
lea rax, [rbp + 0x170]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x110], rax
mov byte [rbp + 0x1aa], 1
lea rdi, [rbp - 0x58]
mov qword [rbp + 0x38], rdi
lea rcx, [rbp + 0xd0]
lea r8, [rbp + 0x110]
lea r12, [rbp + 0x70]
mov edx, 2
mov r9, r12
call fcn.18000a2b0
mov byte [rbp + 0x1af], 1
mov qword [rbp + 0x180], rdi
lea rdx, [rbp + 0x50]
lea r8, [rbp + 0xd0]
mov rcx, rdi
call fcn.180003ce0
cmp byte [0x180045834], 0
movabs rsi, 0x3b9b32163ab55b38
jne 0x1800029c3
mov rdx, qword [0x180044440]
movabs rax, 0x3b9b32163ab55ddf
add rax, rdx
movabs rcx, 0x3b9b32163ab55df5
add rcx, rdx
xor edx, edx
lea r8, [0x18004582f]
nop dword [rax]
movzx r10d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
mov r11d, r10d
xor r11b, 0xd
and r11b, r10b
mov ebx, r10d
and bl, 0xd
xor bl, 0x5f
and r11b, 0x2d
or r11b, bl
mov ebx, r10d
and bl, 0xd2
xor bl, r11b
xor bl, 0x8d
mov r11d, r10d
xor r11b, 0x2d
xor r10b, 0xd2
or r10b, r11b
not r10b
or r10b, bl
mov r11d, r9d
xor r11b, 0x2d
xor r9b, 0xd2
or r9b, r11b
xor r11b, r9b
not r9b
or r9b, r11b
mov r11d, r10d
and r11b, 0x40
and r10b, 0xbf
or r11b, 3
xor r11b, r10b
mov r10d, r11d
xor r10b, 0xbc
mov ebx, r9d
xor bl, 0xbf
xor r11b, 0x43
and r11b, bl
xor r9b, 0x40
and r9b, r10b
or r9b, r11b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 5
jne 0x180002920
mov byte [0x180045834], 1
mov rbx, qword [0x180044460]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x110], xmm0
movaps xmmword [rbp + 0x120], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180003585
mov rdi, rax
cmp rax, 0xf
ja 0x180002a2b
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], 0xf
lea rcx, [rbp + 0x110]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbp
add rdi, 0x110
jmp 0x180002ac2
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002a74
lea rcx, [rsi + 0x28]
mov byte [rbp + 0x1af], 1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x180], rax
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180002a92
lea rcx, [rsi + 1]
mov byte [rbp + 0x1af], 1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x180], rax
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs rsi, 0x3b9b32163ab55b38
mov byte [rdi], 0
movabs rcx, 0x3b9b32163ab55d3e
add rcx, qword [0x180044440]
call fcn.18002fb70
mov rbx, qword [0x180044468]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x80], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18000359c
mov rdi, rax
cmp rax, 0xf
ja 0x180002b3a
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], 0xf
lea rcx, [rbp + 0x70]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbp
add rdi, 0x70
jmp 0x180002bbc
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002b78
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x1a0], r12
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180002b8b
lea rcx, [rsi + 1]
mov qword [rbp + 0x1a0], r12
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs rsi, 0x3b9b32163ab55b38
lea r12, [rbp + 0x70]
mov byte [rdi], 0
lea r14, [rbp + 0x90]
movabs rcx, 0x3b9b32163ab55d7b
add rcx, qword [0x180044440]
call fcn.18002fbe0
mov rbx, qword [0x180044470]
add rbx, rsi
xorps xmm0, xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0xa0], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800035a8
mov rdi, rax
cmp rax, 0xf
ja 0x180002c39
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 0xf
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
jmp 0x180002cbe
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002c77
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x1a0], r14
call fcn.180033070
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180002c8a
lea rcx, [rsi + 1]
mov qword [rbp + 0x1a0], r14
call fcn.180033070
mov r14, rax
mov qword [rbp + 0x90], r14
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], rsi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
movabs rsi, 0x3b9b32163ab55b38
lea r12, [rbp + 0x70]
mov byte [rdi], 0
lea rbx, [rbp + 0xb0]
cmp byte [0x180045839], 0
jne 0x180002d67
mov rax, qword [0x180044440]
movabs rcx, 0x3b9b32163ab55e14
movzx ecx, byte [rax + rcx]
movabs rdx, 0x3b9b32163ab55e2a
xor cl, byte [rax + rdx]
mov byte [0x180045835], cl
movabs rcx, 0x3b9b32163ab55e15
movzx ecx, byte [rax + rcx]
movabs rdx, 0x3b9b32163ab55e2b
xor cl, byte [rax + rdx]
mov byte [0x180045836], cl
movabs rcx, 0x3b9b32163ab55e16
movzx ecx, byte [rax + rcx]
movabs rdx, 0x3b9b32163ab55e2c
xor cl, byte [rax + rdx]
mov byte [0x180045837], cl
movabs rcx, 0x3b9b32163ab55e17
movzx ecx, byte [rax + rcx]
movabs rdx, 0x3b9b32163ab55e2d
xor cl, byte [rax + rdx]
mov byte [0x180045838], cl
mov byte [0x180045839], 1
mov r14, qword [0x180044478]
add r14, rsi
xorps xmm0, xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800035b4
mov rdi, rax
cmp rax, 0xf
ja 0x180002dba
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], 0xf
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbx
jmp 0x180002e35
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180002df8
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x1a0], rbx
call fcn.180033070
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180002e0b
lea rcx, [rsi + 1]
mov qword [rbp + 0x1a0], rbx
call fcn.180033070
mov rbx, rax
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rsi
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbx
lea r12, [rbp + 0x70]
mov byte [rdi], 0
lea rax, [rbp + 0xd0]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x18], r12
mov byte [rbp + 0x1ac], 1
lea rcx, [rbp + 0xf0]
lea r8, [rbp + 0x18]
lea r9, [rbp + 0x190]
mov edx, 3
call fcn.18000a2b0
mov byte [rbp + 0x1ad], 1
lea rdx, [rbp + 0x110]
lea r8, [rbp + 0xf0]
lea rcx, [rbp - 0x20]
call fcn.180003ce0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x190], xmm0
mov ecx, 0x58
call fcn.180033070
mov rdi, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x190]
lea r8, [rbp - 0x58]
mov rdx, rax
call fcn.18000cd50
lea rcx, [rbp + 0x190]
mov rdx, rdi
lea r8, [rbp - 0x20]
call fcn.18000cd50
mov esi, 0x38
mov edi, 0x38
movabs rbx, 0x3b9b32163ab55b38
nop dword [rax]
lea rcx, [rdi + rbp]
add rcx, 0xffffffffffffffa8
call fcn.180003e10
test rdi, rdi
mov eax, 0x90
cmove rax, rsi
add rax, qword [0x180044480]
mov rax, qword [rbx + rax]
movabs rcx, 0x814a1c8f220e63f4
add rax, rcx
jmp rax
mov byte [rbp + 0x1ae], 1
lea rax, [rbp - 0x58]
mov qword [rbp + 0x178], rax
call fcn.18000b930
lea rax, [rbp + 0x130]
mov qword [rbp + 0x188], rax
call fcn.18000b930
mov qword [rbp + 0x188], r14
call fcn.18000b930
mov byte [rbp + 0x1af], 1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x180], rax
call fcn.18000b930
mov qword [rbp + 0x1a0], r12
call fcn.18000b930
mov qword [rbp + 0x1a0], r14
call fcn.18000b930
mov qword [rbp + 0x1a0], rbx
call fcn.18000b930
int3