Function at 0x1800201a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r14, r9
mov esi, r8d
mov r13, rdx
mov rbx, rcx
cmp byte [0x1800469aa], 0
jne 0x1800203b8
mov rax, qword [0x180044a20]
movabs rcx, 0x4ac28f816c8b04b9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d1
xor cl, byte [rax + rdx]
mov byte [0x18004699c], cl
movabs rcx, 0x4ac28f816c8b04ba
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d2
xor cl, byte [rax + rdx]
mov byte [0x18004699d], cl
movabs rcx, 0x4ac28f816c8b04bb
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d3
xor cl, byte [rax + rdx]
mov byte [0x18004699e], cl
movabs rcx, 0x4ac28f816c8b04bc
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d4
xor cl, byte [rax + rdx]
mov byte [0x18004699f], cl
movabs rcx, 0x4ac28f816c8b04bd
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d5
xor cl, byte [rax + rdx]
mov byte [0x1800469a0], cl
movabs rcx, 0x4ac28f816c8b04be
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d6
xor cl, byte [rax + rdx]
mov byte [0x1800469a1], cl
movabs rcx, 0x4ac28f816c8b04bf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d7
xor cl, byte [rax + rdx]
mov byte [0x1800469a2], cl
movabs rcx, 0x4ac28f816c8b04c0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d8
xor cl, byte [rax + rdx]
mov byte [0x1800469a3], cl
movabs rcx, 0x4ac28f816c8b04c1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04d9
xor cl, byte [rax + rdx]
mov byte [0x1800469a4], cl
movabs rcx, 0x4ac28f816c8b04c2
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04da
xor cl, byte [rax + rdx]
mov byte [0x1800469a5], cl
movabs rcx, 0x4ac28f816c8b04c3
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04db
xor cl, byte [rax + rdx]
mov byte [0x1800469a6], cl
movabs rcx, 0x4ac28f816c8b04c4
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04dc
xor cl, byte [rax + rdx]
mov byte [0x1800469a7], cl
movabs rcx, 0x4ac28f816c8b04c5
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04dd
xor cl, byte [rax + rdx]
mov byte [0x1800469a8], cl
movabs rcx, 0x4ac28f816c8b04c6
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b04de
xor cl, byte [rax + rdx]
mov byte [0x1800469a9], cl
mov byte [0x1800469aa], 1
xorps xmm0, xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13], xmm0
lea rcx, [0x18004699c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180020d26
mov rdi, rax
cmp rax, 0xf
ja 0x180020406
mov qword [r13 + 0x10], rdi
mov qword [r13 + 0x18], 0xf
lea rdx, [0x18004699c]
mov rcx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r13
jmp 0x18002046a
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x18002043c
lea rcx, [r12 + 0x28]
call fcn.180033070
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x180020449
lea rcx, [r12 + 1]
call fcn.180033070
mov r15, rax
mov qword [r13], r15
mov qword [r13 + 0x10], rdi
mov qword [r13 + 0x18], r12
lea rdx, [0x18004699c]
mov rcx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r15
mov byte [rdi], 0
mov r15, qword [r14 + 0x10]
movabs rdi, 0x4ac28f816c8ada39
test r15, r15
mov qword [rbp - 0x10], r13
je 0x180020628
mov byte [rbp - 0x50], 0x20
cmp byte [0x1800469ba], 0
jne 0x180020529
movabs rax, 0x4ac28f816c8b04fb
add rax, qword [0x180044a20]
xor ecx, ecx
lea rdx, [0x1800469ab]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rcx + 0x13]
mov r10d, r8d
not r10b
and r10b, r9b
not r9b
mov r11d, r9d
xor r11b, r8b
or r10b, r11b
or r9b, r8b
xor r9b, r10b
mov byte [rcx + rdx], r9b
cmp rcx, 0xe
je 0x180020522
movzx r8d, byte [rax + rcx + 1]
movzx r9d, byte [rax + rcx + 0x14]
mov r10d, r8d
not r10b
and r10b, r9b
not r9b
mov r11d, r9d
xor r11b, r8b
or r10b, r11b
or r9b, r8b
xor r9b, r10b
mov byte [rcx + rdx + 1], r9b
add rcx, 2
jmp 0x1800204c0
mov byte [0x1800469ba], 1
mov r12, qword [0x180044a30]
add r12, rdi
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 0xf
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rdx, [r15 + rax]
inc rdx
cmp rdx, 0x10
jb 0x180020570
lea rcx, [rbp - 0x30]
call fcn.180017490
mov qword [rbp - 0x20], 0
lea r15, [rbp - 0x30]
lea r9, [rbp - 0x50]
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.1800287c0
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x180020595
mov r15, qword [rbp - 0x30]
mov r9, qword [rbp - 0x10]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1800205c1
mov qword [rsp + 0x20], r8
mov rcx, r9
mov rdx, r8
mov r9, r15
call fcn.180015470
jmp 0x1800205e5
lea r14, [rcx + r8]
mov qword [r9 + 0x10], r14
mov r12, r9
cmp rax, 0x10
jb 0x1800205d5
mov r12, qword [r9]
add rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov byte [r12 + r14], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x180020624
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002061f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020d2b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov r13, qword [rbp - 0x10]
cmp byte [0x1800469be], 0
jne 0x180020718
mov rax, qword [0x180044a20]
movabs rcx, 0x4ac28f816c8b0557
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b053a
movzx edx, byte [rax + rdx]
mov r8d, ecx
and r8b, 0x80
and cl, 0x7f
or r8b, 0x71
xor r8b, cl
xor r8b, 0xe
lea ecx, [rdx - 0x80]
or cl, r8b
xor dl, r8b
xor dl, 0x7f
and dl, r8b
not cl
or cl, dl
mov byte [0x1800469bb], cl
movabs rcx, 0x4ac28f816c8b0558
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b053b
movzx edx, byte [rax + rdx]
mov r8d, ecx
and r8b, 0x80
and cl, 0x7f
or r8b, 0x71
xor r8b, cl
xor r8b, 0xe
lea ecx, [rdx - 0x80]
or cl, r8b
xor dl, r8b
xor dl, 0x7f
and dl, r8b
not cl
or cl, dl
mov byte [0x1800469bc], cl
movabs rcx, 0x4ac28f816c8b0559
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b053c
movzx eax, byte [rax + rdx]
mov edx, ecx
and dl, 0x80
and cl, 0x7f
or dl, 0x71
xor dl, cl
xor dl, 0xe
lea ecx, [rax - 0x80]
or cl, dl
xor al, dl
xor al, 0x7f
and al, dl
not cl
or cl, al
mov byte [0x1800469bd], cl
mov byte [0x1800469be], 1
mov r14, qword [0x180044a38]
add r14, rdi
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x180020752
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rax
mov r9, r14
call fcn.180015470
jmp 0x18002077c
mov r15, rax
add r15, rcx
mov qword [r13 + 0x10], r15
mov r12, r13
cmp rdx, 0x10
jb 0x180020769
mov r12, qword [r13]
add rcx, r12
mov rdx, r14
mov r8, rax
call sub.VCRUNTIME140.dll_memmove
mov byte [r12 + r15], 0
mov ecx, dword [rbx + 0x40]
cmp ecx, 0xe
jne 0x180020894
mov byte [rbp - 1], 0x27
lea rcx, [rbx + 0x48]
lea rdx, [rbp - 0x50]
call fcn.180020f00
mov rax, qword [rbx + 0xb8]
mov qword [rbp - 0x58], rax
cmp byte [0x1800469ce], 0
jne 0x18002082b
mov rdx, qword [0x180044a20]
movabs rax, 0x4ac28f816c8b0570
add rax, rdx
movabs rcx, 0x4ac28f816c8b0587
add rcx, rdx
xor edx, edx
lea r8, [0x1800469bf]
nop word [rax + rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
not r11b
and r11b, r10b
not r10b
and r10b, r9b
mov r9d, r11d
xor r9b, 0x32
mov ebx, r10d
xor bl, 0x32
xor r11b, 0xcd
and r11b, bl
xor r10b, 0xcd
and r10b, r9b
or r10b, r11b
mov byte [rdx + r8], r10b
inc rdx
cmp rdx, 0xf
jne 0x1800207e0
mov byte [0x1800469ce], 1
mov r8, qword [0x180044a40]
add r8, rdi
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
lea rbx, [rbp - 0x30]
lea rdx, [rbp - 0x58]
lea r9, [rbp - 0x50]
mov rcx, rbx
call fcn.18002a8a0
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x180020861
mov rbx, qword [rbp - 0x30]
mov r9, qword [rbp - 0x10]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1800209e7
mov qword [rsp + 0x20], r8
mov rcx, r9
mov rdx, r8
mov r9, rbx
call fcn.180015470
jmp 0x180020a0b
call fcn.18002a9e0
mov qword [rbp - 0x50], rax
cmp byte [0x1800469db], 0
jne 0x180020957
mov rdx, qword [0x180044a20]
movabs rax, 0x4ac28f816c8b05ae
add rax, rdx
movabs rcx, 0x4ac28f816c8b05cd
add rcx, rdx
xor edx, edx
lea r8, [0x1800469cf]
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, 0x20
and r10b, r9b
mov r11d, r9d
and r11b, 0x20
mov ebx, r10d
and bl, 0xa9
xor bl, r11b
mov r11d, r9d
and r11b, 0x56
mov r14d, r11d
xor r14b, 0x66
xor bl, 0x30
and r10b, 0x20
or r10b, bl
xor r11b, 0x99
and r11b, bl
not r10b
and r10b, r14b
or r10b, r11b
mov r11d, r9d
xor r11b, 0xa9
xor r9b, 0x56
or r9b, r11b
not r9b
or r9b, r10b
xor r9b, byte [rcx + rdx]
xor r9b, 0x56
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xc
jne 0x1800208e0
mov byte [0x1800469db], 1
mov rdx, qword [0x180044a48]
add rdx, rdi
lea rbx, [rbp - 0x30]
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.180027370
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x180020980
mov rbx, qword [rbp - 0x30]
mov r9, qword [rbp - 0x10]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1800209ac
mov qword [rsp + 0x20], r8
mov rcx, r9
mov rdx, r8
mov r9, rbx
call fcn.180015470
jmp 0x1800209d0
lea r14, [rcx + r8]
mov qword [r9 + 0x10], r14
mov r15, r9
cmp rax, 0x10
jb 0x1800209c0
mov r15, qword [r9]
add rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r15 + r14], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x180020a9d
mov rcx, qword [rbp - 0x30]
jmp 0x180020a6c
lea r14, [rcx + r8]
mov qword [r9 + 0x10], r14
mov r15, r9
cmp rax, 0x10
jb 0x1800209fb
mov r15, qword [r9]
add rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r15 + r14], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x180020a4a
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180020a45
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020d2b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x180020a9d
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180020a98
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020d2b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp - 0x10]
test esi, esi
je 0x180020d12
mov ecx, esi
call fcn.18002a9e0
mov qword [rbp - 0x50], rax
cmp byte [0x1800469e8], 0
jne 0x180020c5b
mov rax, qword [0x180044a20]
movabs rcx, 0x4ac28f816c8b05f8
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0613
xor cl, byte [rax + rdx]
mov byte [0x1800469dc], cl
movabs rcx, 0x4ac28f816c8b05f9
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0614
xor cl, byte [rax + rdx]
mov byte [0x1800469dd], cl
movabs rcx, 0x4ac28f816c8b05fa
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0615
xor cl, byte [rax + rdx]
mov byte [0x1800469de], cl
movabs rcx, 0x4ac28f816c8b05fb
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0616
xor cl, byte [rax + rdx]
mov byte [0x1800469df], cl
movabs rcx, 0x4ac28f816c8b05fc
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0617
xor cl, byte [rax + rdx]
mov byte [0x1800469e0], cl
movabs rcx, 0x4ac28f816c8b05fd
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0618
xor cl, byte [rax + rdx]
mov byte [0x1800469e1], cl
movabs rcx, 0x4ac28f816c8b05fe
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b0619
xor cl, byte [rax + rdx]
mov byte [0x1800469e2], cl
movabs rcx, 0x4ac28f816c8b05ff
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b061a
xor cl, byte [rax + rdx]
mov byte [0x1800469e3], cl
movabs rcx, 0x4ac28f816c8b0600
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b061b
xor cl, byte [rax + rdx]
mov byte [0x1800469e4], cl
movabs rcx, 0x4ac28f816c8b0601
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b061c
xor cl, byte [rax + rdx]
mov byte [0x1800469e5], cl
movabs rcx, 0x4ac28f816c8b0602
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b061d
xor cl, byte [rax + rdx]
mov byte [0x1800469e6], cl
movabs rcx, 0x4ac28f816c8b0603
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4ac28f816c8b061e
xor cl, byte [rax + rdx]
mov byte [0x1800469e7], cl
mov byte [0x1800469e8], 1
add rdi, qword [0x180044a50]
lea rsi, [rbp - 0x30]
lea r8, [rbp - 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.180027370
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x180020c84
mov rsi, qword [rbp - 0x30]
mov r9, qword [rbp - 0x10]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x180020cb0
mov qword [rsp + 0x20], r8
mov rcx, r9
mov rdx, r8
mov r9, rsi
call fcn.180015470
jmp 0x180020cd3
lea rdi, [rcx + r8]
mov qword [r9 + 0x10], rdi
mov rbx, r9
cmp rax, 0x10
jb 0x180020cc4
mov rbx, qword [r9]
add rcx, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x180020d0e
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180020d09
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020d2b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp - 0x10]
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.18000b930
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3