Function at 0x1800024b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1b0], xmm6
mov qword [rbp + 0x1a8], 0xfffffffffffffffe
mov r13, rcx
cmp byte [0x18004bbe8], 0
jne 0x1800025d7
mov rdx, qword [0x18004a4c0]
movabs rax, 0x9f9163e45bffcae9
add rax, rdx
movabs rcx, 0x9f9163e45bffcb07
add rcx, rdx
xor edx, edx
lea r8, [0x18004bbe3]
nop word [rax + rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r14d, r10d
not r14b
mov edi, r9d
and dil, 4
mov ebx, r10d
or bl, 4
mov esi, ebx
not sil
and r14b, 0xfb
mov r11d, r10d
xor r11b, 4
or r11b, r14b
mov r14d, r9d
and r14b, 0xfb
or dil, 0x12
xor dil, r14b
xor dil, 0xe9
mov r14d, r9d
xor r14b, 4
xor r9b, 0xfb
or r9b, r14b
not r9b
or r9b, dil
mov edi, ebx
xor dil, 0x8e
and dil, r10b
mov r14d, esi
and r14b, 0x8a
mov r15d, edi
and r15b, 0xbb
xor r15b, r14b
and dil, 0x40
or dil, r15b
xor dil, r11b
xor dil, 0x8e
and sil, 0x10
and r10b, 0xeb
or r10b, sil
xor r10b, r11b
xor r10b, 0x14
and r11b, bl
or r11b, r10b
not r11b
or r11b, dil
xor r11b, r9b
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 5
jne 0x180002520
mov byte [0x18004bbe8], 1
movabs rax, 0x9f9163e45bffc866
mov rbx, qword [0x18004a4c8]
add rbx, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0xd0], xmm0
movaps xmmword [rbp + 0xe0], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov byte [rbp + 0x1a1], 1
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x118], rcx
lea rdi, [rbp + 0xd0]
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.1800118c0
cmp byte [0x18004bbd0], 0
jne 0x18000270c
mov rax, qword [0x18004a4c0]
movabs rcx, 0x9f9163e45bffca0d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca2b
xor cl, byte [rax + rdx]
mov byte [0x18004bbca], cl
movabs rcx, 0x9f9163e45bffca0e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca2c
xor cl, byte [rax + rdx]
mov byte [0x18004bbcb], cl
movabs rcx, 0x9f9163e45bffca0f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca2d
xor cl, byte [rax + rdx]
mov byte [0x18004bbcc], cl
movabs rcx, 0x9f9163e45bffca10
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca2e
xor cl, byte [rax + rdx]
mov byte [0x18004bbcd], cl
movabs rcx, 0x9f9163e45bffca11
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca2f
xor cl, byte [rax + rdx]
mov byte [0x18004bbce], cl
movabs rcx, 0x9f9163e45bffca12
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca30
xor cl, byte [rax + rdx]
mov byte [0x18004bbcf], cl
mov byte [0x18004bbd0], 1
mov rbx, qword [0x18004a4d0]
movabs rax, 0x9f9163e45bffc866
add rbx, rax
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
lea rcx, [rbp + 0x90]
mov qword [rbp + 0x130], rcx
mov rdx, rbx
mov r8, rax
call fcn.1800118c0
lea rbx, [rbp + 0xb0]
cmp byte [0x18004bbd7], 0
jne 0x180002842
mov rdx, qword [0x18004a4c0]
movabs rax, 0x9f9163e45bffca49
add rax, rdx
movabs rcx, 0x9f9163e45bffca68
add rcx, rdx
xor edx, edx
lea r8, [0x18004bbd1]
movzx r10d, byte [rcx + rdx]
mov r11d, r10d
not r11b
and r11b, 0x13
mov r12d, r10d
xor r12b, 0xec
or r11b, r12b
mov r9d, r10d
or r9b, 0xec
mov r15d, r10d
and r15b, 1
mov esi, r9d
and sil, 0x52
or sil, r15b
lea r14d, [rsi + 4]
and r12b, 0x80
and r10b, 0x28
or r10b, r12b
mov r12d, r9d
and r12b, 0x96
or r12b, r15b
or r12b, 0x68
xor r12b, r11b
and r9b, r11b
and r11b, 0x57
or r10b, 0x13
xor r10b, r11b
mov r11d, r10d
xor r11b, 0x93
xor sil, 0xfb
and sil, r11b
xor r10b, 0x44
and r10b, r14b
or r10b, sil
or r9b, r12b
not r9b
or r9b, r10b
mov r10d, r9d
and r10b, 0xe4
or r10b, 0x11
and r9b, 0x1b
xor r9b, byte [rax + rdx]
xor r9b, r10b
xor r9b, 2
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 6
jne 0x180002790
mov byte [0x18004bbd7], 1
mov r14, qword [0x18004a4d8]
movabs rax, 0x9f9163e45bffc866
add r14, rax
xorps xmm6, xmm6
movups xmmword [rbx + 0x10], xmm6
movups xmmword [rbx], xmm6
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x130], rbx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.1800118c0
lea rax, [rbp + 0xd0]
movaps xmmword [rbp + 0x150], xmm6
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x90]
mov qword [rbp + 0xf0], rax
mov byte [rbp + 0x1a3], 1
lea rax, [rbp - 0x60]
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x150]
lea r8, [rbp + 0xf0]
lea r14, [rbp + 0x10]
mov edx, 2
mov r9, r14
call fcn.18000ae50
xorps xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov r8, qword [rbp + 0xe0]
cmp qword [rbp + 0xe8], 0x10
jb 0x1800028fc
mov rdi, qword [rbp + 0xd0]
mov byte [rbp + 0x1a7], 1
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x188], rcx
mov rdx, rdi
call fcn.180011ba0
lea rcx, [rbp - 0x40]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 0
lea r9, [rbp + 0x158]
mov rdx, qword [rbp + 0x158]
sub rdx, qword [rbp + 0x150]
sar rdx, 5
lea r8, [rbp + 0x150]
call fcn.18000ae50
lea rsi, [rbp - 0x28]
cmp byte [0x18004bbee], 0
jne 0x180002b95
mov rax, qword [0x18004a4c0]
movabs rcx, 0x9f9163e45bffcb3f
movzx ecx, byte [rax + rcx]
mov r8d, ecx
not r8b
movabs rdx, 0x9f9163e45bffcb27
movzx edx, byte [rax + rdx]
mov r9d, r8d
and r9b, 0x22
mov r10d, ecx
and r10b, 0x99
or r10b, r9b
xor r10b, 0x22
and r10b, r8b
and r8b, 0xab
and cl, 0x54
or cl, r8b
xor cl, 0x10
or cl, r10b
mov r8d, edx
xor r8b, 0xbb
mov r9d, edx
and r9b, 0x97
xor r9b, 4
xor dl, 0x2c
and dl, r8b
or dl, r9b
xor dl, cl
xor dl, 0x97
mov byte [0x18004bbe9], dl
movabs rcx, 0x9f9163e45bffcb40
movzx ecx, byte [rax + rcx]
mov r8d, ecx
not r8b
movabs rdx, 0x9f9163e45bffcb28
movzx edx, byte [rax + rdx]
mov r9d, r8d
and r9b, 0x22
mov r10d, ecx
and r10b, 0x99
or r10b, r9b
xor r10b, 0x22
and r10b, r8b
and r8b, 0xab
and cl, 0x54
or cl, r8b
xor cl, 0x10
or cl, r10b
mov r8d, edx
xor r8b, 0xbb
mov r9d, edx
and r9b, 0x97
xor r9b, 4
xor dl, 0x2c
and dl, r8b
or dl, r9b
xor dl, cl
xor dl, 0x97
mov byte [0x18004bbea], dl
movabs rcx, 0x9f9163e45bffcb41
movzx ecx, byte [rax + rcx]
mov r8d, ecx
not r8b
movabs rdx, 0x9f9163e45bffcb29
movzx edx, byte [rax + rdx]
mov r9d, r8d
and r9b, 0x22
mov r10d, ecx
and r10b, 0x99
or r10b, r9b
xor r10b, 0x22
and r10b, r8b
and r8b, 0xab
and cl, 0x54
or cl, r8b
xor cl, 0x10
or cl, r10b
mov r8d, edx
xor r8b, 0xbb
mov r9d, edx
and r9b, 0x97
xor r9b, 4
xor dl, 0x2c
and dl, r8b
or dl, r9b
xor dl, cl
xor dl, 0x97
mov byte [0x18004bbeb], dl
movabs rcx, 0x9f9163e45bffcb42
movzx ecx, byte [rax + rcx]
mov r8d, ecx
not r8b
movabs rdx, 0x9f9163e45bffcb2a
movzx edx, byte [rax + rdx]
mov r9d, r8d
and r9b, 0x22
mov r10d, ecx
and r10b, 0x99
or r10b, r9b
xor r10b, 0x22
and r10b, r8b
and r8b, 0xab
and cl, 0x54
or cl, r8b
xor cl, 0x10
or cl, r10b
mov r8d, edx
xor r8b, 0xbb
mov r9d, edx
and r9b, 0x97
xor r9b, 4
xor dl, 0x2c
and dl, r8b
or dl, r9b
xor dl, cl
xor dl, 0x97
mov byte [0x18004bbec], dl
movabs rcx, 0x9f9163e45bffcb43
movzx ecx, byte [rax + rcx]
mov edx, ecx
not dl
movabs r8, 0x9f9163e45bffcb2b
movzx eax, byte [rax + r8]
mov r8d, edx
and r8b, 0x22
mov r9d, ecx
and r9b, 0x99
or r9b, r8b
xor r9b, 0x22
and r9b, dl
and dl, 0xab
and cl, 0x54
or cl, dl
xor cl, 0x10
or cl, r9b
mov edx, eax
xor dl, 0xbb
mov r8d, eax
and r8b, 0x97
xor r8b, 4
xor al, 0x2c
and al, dl
or al, r8b
xor al, cl
xor al, 0x97
mov byte [0x18004bbed], al
mov byte [0x18004bbee], 1
mov rbx, qword [0x18004a4e0]
movabs rax, 0x9f9163e45bffc866
add rbx, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
movaps xmmword [rbp + 0x100], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov byte [rbp + 0x1a7], 1
mov qword [rbp + 0x188], rsi
lea rdi, [rbp + 0xf0]
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.1800118c0
cmp byte [0x18004bbdd], 0
jne 0x180002ca5
mov rax, qword [0x18004a4c0]
movabs rcx, 0x9f9163e45bffca7f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca90
xor cl, byte [rax + rdx]
mov byte [0x18004bbd8], cl
movabs rcx, 0x9f9163e45bffca80
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca91
xor cl, byte [rax + rdx]
mov byte [0x18004bbd9], cl
movabs rcx, 0x9f9163e45bffca81
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca92
xor cl, byte [rax + rdx]
mov byte [0x18004bbda], cl
movabs rcx, 0x9f9163e45bffca82
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca93
xor cl, byte [rax + rdx]
mov byte [0x18004bbdb], cl
movabs rcx, 0x9f9163e45bffca83
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffca94
xor cl, byte [rax + rdx]
mov byte [0x18004bbdc], cl
mov byte [0x18004bbdd], 1
mov rbx, qword [0x18004a4e8]
movabs rax, 0x9f9163e45bffc866
add rbx, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x148], r14
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.1800118c0
lea rbx, [rbp + 0x30]
cmp byte [0x18004bbe2], 0
jne 0x180002d84
mov rax, qword [0x18004a4c0]
movabs rcx, 0x9f9163e45bffcaac
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcac6
xor cl, byte [rax + rdx]
mov byte [0x18004bbde], cl
movabs rcx, 0x9f9163e45bffcaad
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcac7
xor cl, byte [rax + rdx]
mov byte [0x18004bbdf], cl
movabs rcx, 0x9f9163e45bffcaae
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcac8
xor cl, byte [rax + rdx]
mov byte [0x18004bbe0], cl
movabs rcx, 0x9f9163e45bffcaaf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcac9
xor cl, byte [rax + rdx]
mov byte [0x18004bbe1], cl
mov byte [0x18004bbe2], 1
mov r14, qword [0x18004a4f0]
movabs rax, 0x9f9163e45bffc866
add r14, rax
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
mov qword [rbp + 0x148], rbx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.1800118c0
lea rbx, [rbp + 0x50]
cmp byte [0x18004bbf3], 0
jne 0x180002e62
mov rax, qword [0x18004a4c0]
movabs rcx, 0x9f9163e45bffcb60
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcb74
xor cl, byte [rax + rdx]
mov byte [0x18004bbef], cl
movabs rcx, 0x9f9163e45bffcb61
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcb75
xor cl, byte [rax + rdx]
mov byte [0x18004bbf0], cl
movabs rcx, 0x9f9163e45bffcb62
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcb76
xor cl, byte [rax + rdx]
mov byte [0x18004bbf1], cl
movabs rcx, 0x9f9163e45bffcb63
movzx ecx, byte [rax + rcx]
movabs rdx, 0x9f9163e45bffcb77
xor cl, byte [rax + rdx]
mov byte [0x18004bbf2], cl
mov byte [0x18004bbf3], 1
mov r14, qword [0x18004a4f8]
movabs rax, 0x9f9163e45bffc866
add r14, rax
movups xmmword [rbx + 0x10], xmm6
movups xmmword [rbx], xmm6
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rbp + 0x148], rbx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.1800118c0
lea rax, [rbp + 0x70]
movaps xmmword [rbp + 0x170], xmm6
mov qword [rbp + 0x180], 0
mov qword [rbp + 0x190], rax
lea rax, [rbp + 0x10]
mov qword [rbp + 0x78], rax
mov byte [rbp + 0x1a5], 1
lea rcx, [rbp + 0x170]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x190]
mov edx, 3
call fcn.18000ae50
xorps xmm0, xmm0
lea rcx, [rbp - 0x28]
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx], xmm0
mov r8, qword [rbp + 0x100]
cmp qword [rbp + 0x108], 0x10
jb 0x180002f08
mov rdi, qword [rbp + 0xf0]
mov byte [rbp + 0x1a6], 1
mov rdx, rdi
call fcn.180011ba0
lea rcx, [rbp - 8]
movups xmmword [rbp - 8], xmm6
mov qword [rbp + 8], 0
lea r9, [rbp + 0x178]
mov rdx, qword [rbp + 0x178]
sub rdx, qword [rbp + 0x170]
sar rdx, 5
lea r8, [rbp + 0x170]
call fcn.18000ae50
movaps xmmword [rbp + 0x190], xmm6
mov ecx, 0x58
call fcn.180037690
lea r8, [rbp + 0x10]
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 rdx, [rbp - 0x60]
call fcn.1800130b0
mov esi, 0x38
movabs rdi, 0x9f9163e45bffc8c6
movabs r14, 0xf1f962fafd85d70d
movabs r12, 0x9f9163e45bffc866
nop dword [rax]
lea rcx, [rsi + rbp]
add rcx, 0xffffffffffffffa0
call fcn.180003e10
xor eax, eax
test rsi, rsi
sete al
shl rax, 5
add rax, qword [0x18004a500]
mov rax, qword [rdi + rax]
add rax, r14
jmp rax