Function at 0x180002410
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 [0x18004ec22], 0
jne 0x1800025cb
mov rax, qword [0x18004d4e0]
movabs rcx, 0x57640729d81d2aa5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2a88
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18004ec1d], cl
movabs rcx, 0x57640729d81d2aa6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2a89
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18004ec1e], cl
movabs rcx, 0x57640729d81d2aa7
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2a8a
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18004ec1f], cl
movabs rcx, 0x57640729d81d2aa8
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2a8b
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
mov edx, r8d
xor dl, 0x89
mov r9d, ecx
xor r9b, 0x89
xor r8b, 0x76
and r8b, r9b
xor cl, 0x76
and cl, dl
or cl, r8b
mov byte [0x18004ec20], cl
movabs rcx, 0x57640729d81d2aa9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2a8c
movzx eax, byte [rax + rdx]
mov edx, eax
not dl
or dl, cl
not cl
or cl, al
mov eax, edx
xor al, 0x89
mov r8d, ecx
xor r8b, 0x89
xor dl, 0x76
and dl, r8b
xor cl, 0x76
and cl, al
or cl, dl
mov byte [0x18004ec21], cl
mov byte [0x18004ec22], 1
movabs rax, 0x57640729d81d281e
mov rbx, qword [0x18004d4e8]
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
mov byte [rbp + 0x1a1], 1
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x118], rcx
lea rdi, [rbp + 0x90]
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180013420
cmp byte [0x18004ec0a], 0
jne 0x180002700
mov rax, qword [0x18004d4e0]
movabs rcx, 0x57640729d81d29b5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29c7
xor cl, byte [rax + rdx]
mov byte [0x18004ec04], cl
movabs rcx, 0x57640729d81d29b6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29c8
xor cl, byte [rax + rdx]
mov byte [0x18004ec05], cl
movabs rcx, 0x57640729d81d29b7
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29c9
xor cl, byte [rax + rdx]
mov byte [0x18004ec06], cl
movabs rcx, 0x57640729d81d29b8
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29ca
xor cl, byte [rax + rdx]
mov byte [0x18004ec07], cl
movabs rcx, 0x57640729d81d29b9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29cb
xor cl, byte [rax + rdx]
mov byte [0x18004ec08], cl
movabs rcx, 0x57640729d81d29ba
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d29cc
xor cl, byte [rax + rdx]
mov byte [0x18004ec09], cl
mov byte [0x18004ec0a], 1
mov rbx, qword [0x18004d4f0]
movabs rax, 0x57640729d81d281e
add rbx, rax
xorps xmm6, xmm6
movaps xmmword [rbp + 0xb0], xmm6
movaps xmmword [rbp + 0xc0], xmm6
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0x130], rcx
mov rdx, rbx
mov r8, rax
call fcn.180013420
lea rbx, [rbp + 0xd0]
movabs rcx, 0x57640729d81d29e5
add rcx, qword [0x18004d4e0]
call fcn.180034cf0
mov r14, qword [0x18004d4f8]
movabs rax, 0x57640729d81d281e
add r14, rax
movaps xmmword [rbp + 0xd0], xmm6
movaps xmmword [rbp + 0xe0], 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.180013420
lea rax, [rbp + 0xf0]
movaps xmmword [rbp + 0x150], xmm6
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0xb0]
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 r12, [rbp + 0x10]
mov edx, 2
mov r9, r12
call fcn.18000cd60
movaps xmmword [rbp - 0x60], xmm6
movaps xmmword [rbp - 0x50], xmm6
mov r8, qword [rbp + 0xa0]
cmp qword [rbp + 0xa8], 0x10
jb 0x18000281e
mov rdi, qword [rbp + 0x90]
mov byte [rbp + 0x1a7], 1
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x188], rcx
mov rdx, rdi
call fcn.180013620
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.18000cd60
lea rsi, [rbp - 0x28]
cmp byte [0x18004ec28], 0
jne 0x1800029ac
mov rax, qword [0x18004d4e0]
movabs rcx, 0x57640729d81d2adf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2ac6
mov r8d, ecx
xor r8b, 0xab
xor cl, 0x54
or cl, r8b
xor r8b, cl
not cl
or cl, r8b
xor cl, byte [rax + rdx]
xor cl, 0x54
mov byte [0x18004ec23], cl
movabs rcx, 0x57640729d81d2ae0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2ac7
mov r8d, ecx
xor r8b, 0xab
xor cl, 0x54
or cl, r8b
xor r8b, cl
not cl
or cl, r8b
xor cl, byte [rax + rdx]
xor cl, 0x54
mov byte [0x18004ec24], cl
movabs rcx, 0x57640729d81d2ae1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2ac8
mov r8d, ecx
xor r8b, 0xab
xor cl, 0x54
or cl, r8b
xor r8b, cl
not cl
or cl, r8b
xor cl, byte [rax + rdx]
xor cl, 0x54
mov byte [0x18004ec25], cl
movabs rcx, 0x57640729d81d2ae2
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2ac9
mov r8d, ecx
xor r8b, 0xab
xor cl, 0x54
or cl, r8b
xor r8b, cl
not cl
or cl, r8b
xor cl, byte [rax + rdx]
xor cl, 0x54
mov byte [0x18004ec26], cl
movabs rcx, 0x57640729d81d2ae3
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2aca
mov r8d, ecx
xor r8b, 0xab
xor cl, 0x54
or cl, r8b
xor r8b, cl
not cl
or cl, r8b
xor cl, byte [rax + rdx]
xor cl, 0x54
mov byte [0x18004ec27], cl
mov byte [0x18004ec28], 1
mov rbx, qword [0x18004d500]
movabs rax, 0x57640729d81d281e
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.180013420
cmp byte [0x18004ec17], 0
movabs r15, 0x57640729d81d281e
jne 0x180002af5
mov rdx, qword [0x18004d4e0]
movabs rax, 0x57640729d81d2a19
add rax, rdx
movabs rcx, 0x57640729d81d2a36
add rcx, rdx
xor edx, edx
lea r8, [0x18004ec12]
nop dword [rax]
movzx r9d, byte [rcx + rdx]
movzx r11d, byte [rax + rdx]
mov r14d, r11d
not r14b
mov r10d, r11d
xor r10b, 0x40
and r10b, r14b
mov ebx, r11d
and bl, 0x37
mov esi, r11d
and sil, 0x40
and r14b, 0x88
or sil, r14b
xor r14b, 0xa9
and r10b, 0xc8
or r10b, r14b
mov r14d, r11d
xor r14b, 0x33
and r14b, bl
and r11b, 0x33
xor r11b, r14b
lea r14d, [rsi + 0x12]
xor r14b, bl
xor r14b, 0x52
or sil, bl
xor sil, 0xbf
or sil, r14b
xor r10b, r11b
xor r10b, 0x56
mov ebx, r10d
and bl, 0xfd
and r11b, 2
or r11b, bl
xor r11b, sil
xor r11b, 2
or r10b, sil
not r10b
or r10b, r11b
mov r11d, r9d
xor r11b, 0x37
xor r9b, r10b
xor r9b, 0xc8
and r9b, r10b
or r11b, r10b
not r11b
or r11b, r9b
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 5
jne 0x180002a40
mov byte [0x18004ec17], 1
mov rbx, qword [0x18004d508]
add rbx, r15
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], r12
mov rcx, r12
mov rdx, rbx
mov r8, rax
call fcn.180013420
lea rbx, [rbp + 0x30]
cmp byte [0x18004ec1c], 0
jne 0x180002c1e
mov rdx, qword [0x18004d4e0]
movabs rax, 0x57640729d81d2a59
add rax, rdx
movabs rcx, 0x57640729d81d2a6d
add rcx, rdx
xor edx, edx
lea r8, [0x18004ec18]
nop word cs:[rax + rax]
movzx esi, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r14d, esi
xor r14b, 0x20
and r14b, sil
mov r9d, r10d
xor r9b, 0xdb
mov r15d, r9d
and r15b, 0x68
xor r15b, 0x48
mov r11d, r9d
and r11b, 0x94
and r9b, 0x6b
xor r9b, 0x23
or r9b, r15b
or r11b, r9b
xor r11b, 0x6f
and r10b, 0x68
mov r15d, r14d
xor r15b, sil
and r14b, 0x48
and r15b, 0x20
mov r12d, esi
and r12b, 0x97
or r12b, r14b
or r12b, r15b
mov r14d, esi
xor r14b, 0x68
xor sil, 0x97
or sil, r14b
xor r12b, 0x68
mov r14d, r12d
xor r14b, sil
or r12b, sil
not r12b
or r12b, r14b
mov esi, r9d
not sil
and sil, r10b
xor sil, r12b
xor r9b, r11b
and r9b, r10b
xor r9b, r11b
xor r9b, sil
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 4
jne 0x180002b70
mov byte [0x18004ec1c], 1
mov r14, qword [0x18004d510]
movabs rax, 0x57640729d81d281e
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.180013420
lea rbx, [rbp + 0x50]
cmp byte [0x18004ec2d], 0
jne 0x180002cfc
mov rax, qword [0x18004d4e0]
movabs rcx, 0x57640729d81d2af9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2b13
xor cl, byte [rax + rdx]
mov byte [0x18004ec29], cl
movabs rcx, 0x57640729d81d2afa
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2b14
xor cl, byte [rax + rdx]
mov byte [0x18004ec2a], cl
movabs rcx, 0x57640729d81d2afb
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2b15
xor cl, byte [rax + rdx]
mov byte [0x18004ec2b], cl
movabs rcx, 0x57640729d81d2afc
movzx ecx, byte [rax + rcx]
movabs rdx, 0x57640729d81d2b16
xor cl, byte [rax + rdx]
mov byte [0x18004ec2c], cl
mov byte [0x18004ec2d], 1
mov r14, qword [0x18004d518]
movabs rax, 0x57640729d81d281e
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 + 0x148], rbx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.180013420
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.18000cd60
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 0x180002da5
mov rdi, qword [rbp + 0xf0]
mov byte [rbp + 0x1a6], 1
mov rdx, rdi
call fcn.180013620
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.18000cd60
movaps xmmword [rbp + 0x190], xmm6
mov ecx, 0x58
call fcn.180039c00
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.180014920
mov esi, 0x38
mov edi, 0xe0
movabs r14, 0xa4f159043787e726
movabs r12, 0x57640729d81d281e
nop word cs:[rax + rax]
lea rcx, [rsi + rbp]
add rcx, 0xffffffffffffffa0
call fcn.180003cc0
test rsi, rsi
mov eax, 0x50
cmove rax, rdi
add rax, qword [0x18004d520]
mov rax, qword [r12 + rax]
add rax, r14
jmp rax