Function at 0x180023348
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xb8
mov qword [rbp - 1], 0xfffffffffffffffe
mov r14, r8
mov rdi, rdx
xor r13d, r13d
mov dword [rbp + 0x77], r13d
lea rax, [0x18019b1d0]
mov qword [rbp + 0x5f], rax
mov qword [0x18019b1d8], r13
xorps xmm0, xmm0
movups xmmword [0x18019b1e0], xmm0
mov qword [0x18019b1f0], r13
lea ebx, [r13 + 0xf]
mov qword [0x18019b1f8], rbx
mov byte [0x18019b1e0], r13b
movups xmmword [0x18019b200], xmm0
mov qword [0x18019b210], r13
mov qword [0x18019b218], rbx
xor r8d, r8d
lea rdx, [0x180164c88]
lea rcx, [0x18019b200]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov byte [0x18019b200], r13b
xorps xmm0, xmm0
movups xmmword [0x18019b220], xmm0
mov qword [0x18019b230], r13
mov qword [0x18019b238], rbx
mov byte [0x18019b220], r13b
lea r12d, [r13 + 1]
mov byte [0x18019b240], r12b
mov qword [0x18019b248], r13
cmp qword [rdi + 0x18], 0x10
jb 0x18002342b
mov rsi, qword [rdi]
mov rcx, rsi
jmp 0x180023431
mov rcx, rdi
mov rsi, rdi
mov r15, qword [rdi + 0x10]
add r15, rcx
mov rbx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180023445
mov rbx, qword [rdi]
cmp rbx, r15
je 0x180023461
sub rsi, rbx
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx + rsi], al
add rbx, r12
cmp rbx, r15
jne 0x18002344d
mov rdx, rdi
lea rcx, [0x18019b1e0]
call fcn.1800154d4
mov rdx, r14
lea rcx, [0x18019b220]
call fcn.1800154d4
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r12
mov esi, 0xf
mov qword [rbp - 9], rsi
mov r8, r12
lea rdx, [0x180164cb8]
lea rcx, [rbp - 0x21]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov byte [rbp - 0x20], r13b
lea r8, [rbp - 0x21]
mov rdx, rdi
lea rcx, [rbp - 0x41]
call fcn.18001d72c
nop
mov rdx, qword [rax + 8]
sub rdx, 0x20
lea rcx, [0x18019b200]
call fcn.1800154d4
nop
lea rcx, [rbp - 0x41]
call fcn.180015704
mov r8, r14
mov rdx, rdi
call fcn.18001bab0
test rax, rax
je 0x1800234f6
mov qword [0x18019b1d0], rax
jmp 0x180023965
mov rdx, rdi
call fcn.18001b7a8
mov qword [0x18019b1d8], rax
lea rcx, [0x18019b1d0]
call fcn.18002b274
mov dword [rbp - 0x59], 0x2e
mov eax, dword [rbp - 0x59]
xor al, 0x47
mov byte [rbp - 0x55], al
mov eax, dword [rbp - 0x59]
add al, r12b
xor al, 0x6c
mov byte [rbp - 0x54], al
mov eax, dword [rbp - 0x59]
add al, 2
xor al, 0x6f
mov byte [rbp - 0x53], al
mov eax, dword [rbp - 0x59]
add al, 3
xor al, 0x62
mov byte [rbp - 0x52], al
mov eax, dword [rbp - 0x59]
add al, 4
xor al, 0x61
mov byte [rbp - 0x51], al
mov eax, dword [rbp - 0x59]
add al, 5
xor al, 0x6c
mov byte [rbp - 0x50], al
mov eax, dword [rbp - 0x59]
add al, 6
xor al, 0x41
mov byte [rbp - 0x4f], al
mov eax, dword [rbp - 0x59]
add al, 7
xor al, 0x64
mov byte [rbp - 0x4e], al
mov eax, dword [rbp - 0x59]
add al, 8
xor al, 0x64
mov byte [rbp - 0x4d], al
mov eax, dword [rbp - 0x59]
add al, 9
xor al, 0x41
mov byte [rbp - 0x4c], al
mov eax, dword [rbp - 0x59]
add al, 0xa
xor al, 0x74
mov byte [rbp - 0x4b], al
mov eax, dword [rbp - 0x59]
add al, 0xb
xor al, 0x6f
mov byte [rbp - 0x4a], al
mov eax, dword [rbp - 0x59]
add al, 0xc
xor al, 0x6d
mov byte [rbp - 0x49], al
xor eax, eax
mov byte [rbp - 0x48], al
mov al, byte [rbp - 0x55]
mov r15d, r12d
mov rdx, r13
mov al, byte [rbp + rdx - 0x55]
mov ecx, dword [rbp - 0x59]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x55], cl
add rdx, r12
cmp rdx, 0xd
jb 0x1800235a7
mov byte [rbp - 0x48], r13b
xor r8d, r8d
lea rdx, [rbp - 0x55]
mov rcx, r14
call fcn.18001bfe4
or rbx, 0xffffffffffffffff
test rax, rax
je 0x1800236d4
mov dword [rbp - 0x71], 0x38
mov eax, dword [rbp - 0x71]
xor al, 0x47
mov byte [rbp - 0x6d], al
mov eax, dword [rbp - 0x71]
add al, r12b
xor al, 0x6c
mov byte [rbp - 0x6c], al
mov eax, dword [rbp - 0x71]
add al, 2
xor al, 0x6f
mov byte [rbp - 0x6b], al
mov eax, dword [rbp - 0x71]
add al, 3
xor al, 0x62
mov byte [rbp - 0x6a], al
mov eax, dword [rbp - 0x71]
add al, 4
xor al, 0x61
mov byte [rbp - 0x69], al
mov eax, dword [rbp - 0x71]
add al, 5
xor al, 0x6c
mov byte [rbp - 0x68], al
mov eax, dword [rbp - 0x71]
add al, 6
xor al, 0x47
mov byte [rbp - 0x67], al
mov eax, dword [rbp - 0x71]
add al, 7
xor al, 0x65
mov byte [rbp - 0x66], al
mov eax, dword [rbp - 0x71]
add al, 8
xor al, 0x74
mov byte [rbp - 0x65], al
mov eax, dword [rbp - 0x71]
add al, 9
xor al, 0x41
mov byte [rbp - 0x64], al
mov eax, dword [rbp - 0x71]
add al, 0xa
xor al, 0x74
mov byte [rbp - 0x63], al
mov eax, dword [rbp - 0x71]
add al, 0xb
xor al, 0x6f
mov byte [rbp - 0x62], al
mov eax, dword [rbp - 0x71]
add al, 0xc
xor al, 0x6d
mov byte [rbp - 0x61], al
mov eax, dword [rbp - 0x71]
add al, 0xd
xor al, 0x4e
mov byte [rbp - 0x60], al
mov eax, dword [rbp - 0x71]
add al, 0xe
xor al, 0x61
mov byte [rbp - 0x5f], al
mov eax, dword [rbp - 0x71]
add al, sil
xor al, 0x6d
mov byte [rbp - 0x5e], al
mov eax, dword [rbp - 0x71]
add al, 0x10
xor al, 0x65
mov byte [rbp - 0x5d], al
xor eax, eax
mov byte [rbp - 0x5c], al
mov al, byte [rbp - 0x6d]
lea r15d, [rbx + 4]
mov rdx, r13
mov al, byte [rbp + rdx - 0x6d]
mov ecx, dword [rbp - 0x71]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x6d], cl
add rdx, r12
cmp rdx, 0x11
jb 0x18002369f
mov byte [rbp - 0x5c], r13b
mov r8, rbx
lea rdx, [rbp - 0x6d]
mov rcx, r14
call fcn.18001bfe4
test rax, rax
je 0x1800236d4
mov sil, r13b
jmp 0x1800236dd
mov sil, r12b
test r15b, 2
je 0x1800236ed
xor edx, edx
lea r8d, [rdx + 0x12]
lea rcx, [rbp - 0x6d]
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor edx, edx
lea r8d, [rdx + 0xe]
lea rcx, [rbp - 0x55]
call qword [sym.imp.VCRUNTIME140.dll_memset]
test sil, sil
je 0x18002383f
mov dword [rsp + 0x20], 0x74
mov eax, dword [rsp + 0x20]
xor al, 0x75
mov byte [rbp - 0x7d], al
mov eax, dword [rsp + 0x20]
add al, r12b
xor al, 0x73
mov byte [rbp - 0x7c], al
mov eax, dword [rsp + 0x20]
add al, 2
xor al, 0x65
mov byte [rbp - 0x7b], al
mov eax, dword [rsp + 0x20]
add al, 3
xor al, 0x72
mov byte [rbp - 0x7a], al
mov eax, dword [rsp + 0x20]
add al, 4
xor al, 0x33
mov byte [rbp - 0x79], al
mov eax, dword [rsp + 0x20]
add al, 5
xor al, 0x32
mov byte [rbp - 0x78], al
mov eax, dword [rsp + 0x20]
add al, 6
xor al, 0x2e
mov byte [rbp - 0x77], al
mov eax, dword [rsp + 0x20]
add al, 7
xor al, 0x64
mov byte [rbp - 0x76], al
mov eax, dword [rsp + 0x20]
add al, 8
xor al, 0x6c
mov byte [rbp - 0x75], al
mov eax, dword [rsp + 0x20]
add al, 9
xor al, 0x6c
mov byte [rbp - 0x74], al
xor eax, eax
mov byte [rbp - 0x73], al
mov al, byte [rbp - 0x7d]
mov rdx, r13
mov al, byte [rbp + rdx - 0x7d]
mov ecx, dword [rsp + 0x20]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x7d], cl
add rdx, r12
cmp rdx, 0xa
jb 0x180023786
mov byte [rbp - 0x73], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x31], xmm1
lea rax, [rbp - 0x7d]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1800237b6
mov r8, rbx
lea rdx, [rbp - 0x7d]
lea rcx, [rbp - 0x41]
call fcn.18000c7ac
nop
xor edx, edx
lea r8d, [rdx + 0xb]
lea rcx, [rbp - 0x7d]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rcx, qword [rbp - 0x41]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r8, rax
lea rdx, [rbp - 0x41]
call fcn.1800150f8
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x18002383f
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002383a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002383a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
mov rcx, qword [0x18019b1d8]
test rcx, rcx
je 0x180023a10
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x18002385c
mov rdx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
cmp byte [0x18019b240], r13b
je 0x1800238a8
lea rcx, [0x18019b1d0]
call fcn.18002a624
mov rsi, rax
mov rbx, qword [0x18019b1d8]
mov r12, r15
sub r12, rbx
lea rcx, [0x18019b1d0]
call fcn.18002b274
mov rax, qword [0x18019b1d8]
cmp rax, rbx
je 0x1800238ab
lea rsi, [rax + r12]
jmp 0x1800238ab
mov rsi, r15
test rsi, rsi
jne 0x180023915
mov rsi, r15
test r15, r15
jne 0x18002390e
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800238c5
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1800238ec
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800238dd
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x180023a10
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1800238f9
mov rdx, qword [r14]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x180023a10
mov byte [0x18019b240], r13b
cmp byte [0x18019b240], r13b
je 0x18002394b
mov rdx, rsi
call fcn.18002b7fc
test al, al
jne 0x180023936
mov rsi, r15
mov byte [0x18019b240], r13b
jmp 0x180023943
cmp rsi, r15
je 0x180023943
mov rdx, r15
call fcn.18002a060
mov rdx, rsi
call fcn.18002a060
mov r9, rsi
mov r8, r14
mov rdx, rdi
call fcn.18001b8ac
mov qword [0x18019b1d0], rsi
mov esi, 0xf
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x18002399b
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x180023996
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a02
mov rcx, r8
call fcn.180157a14
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rsi
mov byte [rdi], r13b
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1800239dc
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x1800239d7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a09
mov rcx, r8
call fcn.180157a14
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rsi
mov byte [r14], r13b
lea rax, [0x18019b1d0]
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800a9ce8
int3