Function at 0x1800240fc
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, [0x18019b0d0]
mov qword [rbp + 0x5f], rax
mov qword [0x18019b0d8], r13
xorps xmm0, xmm0
movups xmmword [0x18019b0e0], xmm0
mov qword [0x18019b0f0], r13
lea ebx, [r13 + 0xf]
mov qword [0x18019b0f8], rbx
mov byte [0x18019b0e0], r13b
movups xmmword [0x18019b100], xmm0
mov qword [0x18019b110], r13
mov qword [0x18019b118], rbx
xor r8d, r8d
lea rdx, [0x180164c88]
lea rcx, [0x18019b100]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov byte [0x18019b100], r13b
xorps xmm0, xmm0
movups xmmword [0x18019b120], xmm0
mov qword [0x18019b130], r13
mov qword [0x18019b138], rbx
mov byte [0x18019b120], r13b
lea r12d, [r13 + 1]
mov byte [0x18019b140], r12b
mov qword [0x18019b148], r13
cmp qword [rdi + 0x18], 0x10
jb 0x1800241df
mov rsi, qword [rdi]
mov rcx, rsi
jmp 0x1800241e5
mov rcx, rdi
mov rsi, rdi
mov r15, qword [rdi + 0x10]
add r15, rcx
mov rbx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800241f9
mov rbx, qword [rdi]
cmp rbx, r15
je 0x180024215
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 0x180024201
mov rdx, rdi
lea rcx, [0x18019b0e0]
call fcn.1800154d4
mov rdx, r14
lea rcx, [0x18019b120]
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, [0x18019b100]
call fcn.1800154d4
nop
lea rcx, [rbp - 0x41]
call fcn.180015704
mov r8, r14
mov rdx, rdi
call fcn.18001bab0
test rax, rax
je 0x1800242aa
mov qword [0x18019b0d0], rax
jmp 0x180024719
mov rdx, rdi
call fcn.18001b7a8
mov qword [0x18019b0d8], rax
lea rcx, [0x18019b0d0]
call fcn.18002e3dc
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 0x18002435b
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 0x180024488
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 0x180024453
mov byte [rbp - 0x5c], r13b
mov r8, rbx
lea rdx, [rbp - 0x6d]
mov rcx, r14
call fcn.18001bfe4
test rax, rax
je 0x180024488
mov sil, r13b
jmp 0x180024491
mov sil, r12b
test r15b, 2
je 0x1800244a1
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 0x1800245f3
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 0x18002453a
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 0x18002456a
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 0x1800245f3
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800245ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800245ee
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
mov rcx, qword [0x18019b0d8]
test rcx, rcx
je 0x1800247c4
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180024610
mov rdx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
cmp byte [0x18019b140], r13b
je 0x18002465c
lea rcx, [0x18019b0d0]
call fcn.18002d78c
mov rsi, rax
mov rbx, qword [0x18019b0d8]
mov r12, r15
sub r12, rbx
lea rcx, [0x18019b0d0]
call fcn.18002e3dc
mov rax, qword [0x18019b0d8]
cmp rax, rbx
je 0x18002465f
lea rsi, [rax + r12]
jmp 0x18002465f
mov rsi, r15
test rsi, rsi
jne 0x1800246c9
mov rsi, r15
test r15, r15
jne 0x1800246c2
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180024679
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1800246a0
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180024691
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x1800247c4
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1800246ad
mov rdx, qword [r14]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x1800247c4
mov byte [0x18019b140], r13b
cmp byte [0x18019b140], r13b
je 0x1800246ff
mov rdx, rsi
call fcn.18002e964
test al, al
jne 0x1800246ea
mov rsi, r15
mov byte [0x18019b140], r13b
jmp 0x1800246f7
cmp rsi, r15
je 0x1800246f7
mov rdx, r15
call fcn.18002d1c8
mov rdx, rsi
call fcn.18002d1c8
mov r9, rsi
mov r8, r14
mov rdx, rdi
call fcn.18001b8ac
mov qword [0x18019b0d0], rsi
mov esi, 0xf
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x18002474f
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18002474a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800247b6
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 0x180024790
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x18002478b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800247bd
mov rcx, r8
call fcn.180157a14
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rsi
mov byte [r14], r13b
lea rax, [0x18019b0d0]
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