Function at 0x1800247cc
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, [0x18019ae10]
mov qword [rbp + 0x5f], rax
mov qword [0x18019ae18], r13
xorps xmm0, xmm0
movups xmmword [0x18019ae20], xmm0
mov qword [0x18019ae30], r13
lea ebx, [r13 + 0xf]
mov qword [0x18019ae38], rbx
mov byte [0x18019ae20], r13b
movups xmmword [0x18019ae40], xmm0
mov qword [0x18019ae50], r13
mov qword [0x18019ae58], rbx
xor r8d, r8d
lea rdx, [0x180164c88]
lea rcx, [0x18019ae40]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov byte [0x18019ae40], r13b
xorps xmm0, xmm0
movups xmmword [0x18019ae60], xmm0
mov qword [0x18019ae70], r13
mov qword [0x18019ae78], rbx
mov byte [0x18019ae60], r13b
lea r12d, [r13 + 1]
mov byte [0x18019ae80], r12b
mov qword [0x18019ae88], r13
cmp qword [rdi + 0x18], 0x10
jb 0x1800248af
mov rsi, qword [rdi]
mov rcx, rsi
jmp 0x1800248b5
mov rcx, rdi
mov rsi, rdi
mov r15, qword [rdi + 0x10]
add r15, rcx
mov rbx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800248c9
mov rbx, qword [rdi]
cmp rbx, r15
je 0x1800248e5
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 0x1800248d1
mov rdx, rdi
lea rcx, [0x18019ae20]
call fcn.1800154d4
mov rdx, r14
lea rcx, [0x18019ae60]
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, [0x18019ae40]
call fcn.1800154d4
nop
lea rcx, [rbp - 0x41]
call fcn.180015704
mov r8, r14
mov rdx, rdi
call fcn.18001bab0
test rax, rax
je 0x18002497a
mov qword [0x18019ae10], rax
jmp 0x180024de9
mov rdx, rdi
call fcn.18001b7a8
mov qword [0x18019ae18], rax
lea rcx, [0x18019ae10]
call fcn.18002fc90
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 0x180024a2b
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 0x180024b58
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 0x180024b23
mov byte [rbp - 0x5c], r13b
mov r8, rbx
lea rdx, [rbp - 0x6d]
mov rcx, r14
call fcn.18001bfe4
test rax, rax
je 0x180024b58
mov sil, r13b
jmp 0x180024b61
mov sil, r12b
test r15b, 2
je 0x180024b71
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 0x180024cc3
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 0x180024c0a
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 0x180024c3a
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 0x180024cc3
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180024cbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180024cbe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
mov rcx, qword [0x18019ae18]
test rcx, rcx
je 0x180024e94
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180024ce0
mov rdx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
cmp byte [0x18019ae80], r13b
je 0x180024d2c
lea rcx, [0x18019ae10]
call fcn.18002f040
mov rsi, rax
mov rbx, qword [0x18019ae18]
mov r12, r15
sub r12, rbx
lea rcx, [0x18019ae10]
call fcn.18002fc90
mov rax, qword [0x18019ae18]
cmp rax, rbx
je 0x180024d2f
lea rsi, [rax + r12]
jmp 0x180024d2f
mov rsi, r15
test rsi, rsi
jne 0x180024d99
mov rsi, r15
test r15, r15
jne 0x180024d92
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180024d49
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180024d70
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180024d61
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x180024e94
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180024d7d
mov rdx, qword [r14]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x180024e94
mov byte [0x18019ae80], r13b
cmp byte [0x18019ae80], r13b
je 0x180024dcf
mov rdx, rsi
call fcn.180030218
test al, al
jne 0x180024dba
mov rsi, r15
mov byte [0x18019ae80], r13b
jmp 0x180024dc7
cmp rsi, r15
je 0x180024dc7
mov rdx, r15
call fcn.18002ea7c
mov rdx, rsi
call fcn.18002ea7c
mov r9, rsi
mov r8, r14
mov rdx, rdi
call fcn.18001b8ac
mov qword [0x18019ae10], rsi
mov esi, 0xf
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180024e1f
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x180024e1a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180024e86
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 0x180024e60
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x180024e5b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180024e8d
mov rcx, r8
call fcn.180157a14
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rsi
mov byte [r14], r13b
lea rax, [0x18019ae10]
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