Function at 0x180079e00
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xc8
lea eax, [r9 - 0xc]
mov r12, rcx
mov dword [rbp - 0x59], eax
cmp r9d, eax
jbe case.0x180079e90.4
movzx r14d, byte [rbp + 0x77]
lea eax, [r9 - 0xb0]
mov r13, qword [rbp - 0x19]
lea r9, [0x180000000]
mov esi, dword [rbp + 0x77]
xor edi, edi
movzx ebx, byte [rbp + 0x77]
mov edx, dword [rbp - 0x59]
mov dword [rbp - 0x71], eax
mov ecx, dword [rbp - 0x71]
mov eax, dword [rbp + 0x77]
mov qword [rbp - 0x31], r14
nop
cmp ecx, 0x30
ja case.default.0x180079e90
mov eax, dword [rbp - 0x71]
movzx eax, byte [r9 + rax + 0x7a42c]
mov ecx, dword [r9 + rax*4 + 0x7a3fc]
add rcx, r9
jmp rcx
mov rax, qword [r12]
sub rax, qword [r8]
mov qword [rbp - 9], rax
jmp case.0x180079e90.11
test r12, r12
je 0x18007a38d
mov r9, qword [r12]
test r9, r9
je 0x18007a38d
movzx eax, byte [r9]
and al, 0xc
cmp al, 0xc
je 0x18007a38d
xor edx, edx
mov qword [rsp + 0x20], rdi
xor ecx, ecx
mov r8d, ILFree
call fcn.1800278c0
mov r8, qword [rbp + 0x6f]
mov rcx, rax
mov qword [rbp - 0x49], rax
cmp rax, qword [r8]
jae 0x18007a2f9
mov r15d, 0x6d
mov dword [rbp - 0x51], r15d
nop dword [rax + rax]
cmp r15d, 0x274
ja 0x18007a0f7
je 0x18007a088
cmp r15d, 0x6d
je 0x180079fee
cmp r15d, 0x11a
je 0x180079f68
cmp r15d, 0x1c7
jne 0x18007a229
mov rax, qword [r12]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x3b]
call fcn.18006c520
mov rbx, rax
test esi, esi
jle 0x180079f60
mov rax, qword [rbp + 0x7f]
movzx eax, byte [rax]
mov byte [rbp - 0x6d], al
jmp 0x18007a221
mov rax, qword [r8]
lea rdx, [rbp - 0x31]
mov rsi, qword [rbp - 0x21]
lea rcx, [rbp - 0x51]
xor r9d, r9d
mov qword [rbp - 0x51], rsi
mov qword [rbp - 0x31], rax
lea r8d, [r9 + 0x49]
call fcn.18005d190
test al, al
jne 0x180079f96
mov rax, qword [rbp + 0x6f]
add qword [rax], rsi
mov rax, qword [r12]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x3f]
call fcn.18005aad0
mov rdx, qword [rbp + 0x6f]
lea rcx, [rbp - 0x51]
mov r14, rax
mov qword [rbp - 0x31], rax
xor r9d, r9d
mov qword [rsp + 0x28], rdi
mov rax, qword [rdx]
xor edx, edx
mov qword [rbp - 0x51], rax
mov rax, qword [r12]
lea r8d, [r9 + 0x6d]
mov qword [rsp + 0x20], rax
call fcn.180012ef0
mov rsi, rax
jmp 0x18007a221
mov rax, qword [r12]
test byte [rax], 1
je 0x18007a051
mov r15d, 0x79
nop dword [rax]
cmp r15d, 0x79
je 0x18007a024
cmp r15d, 0x2f44
je 0x18007a01e
cmp r15d, 0x5e0f
je case.0x180079e90.4
jmp 0x18007a039
mov qword [rbp - 0x41], rcx
jmp 0x18007a039
mov rcx, qword [r12]
xor edx, edx
mov r8d, 0x12a
call fcn.180058ec0
mov rcx, qword [rbp - 0x49]
add r15d, 0x2ecb
cmp r15d, 0x8c61
jbe 0x18007a000
mov r15d, dword [rbp - 0x51]
mov r8, qword [rbp + 0x6f]
mov rax, qword [r8]
lea rdx, [rbp - 0x51]
mov r8d, PathYetAnotherMakeUniqueName
mov qword [rbp - 0x21], rax
lea rcx, [rbp - 0x21]
mov qword [rbp - 0x51], 0x19
call fcn.180013970
mov ecx, 0xf4240
cmp rax, rcx
cmovb rcx, rax
mov qword [rbp - 0x21], rcx
jmp 0x18007a221
mov r9, qword [r12]
xor r8d, r8d
mov edx, 0xec
xor ecx, ecx
call fcn.180065970
mov rdx, qword [rbp + 0x6f]
lea r9, [rbp - 0x51]
mov rcx, rax
mov byte [rbp - 0x61], r14b
mov qword [rbp - 0x39], rcx
lea r8, [rbp - 0x69]
lea rcx, [rbp - 0x39]
mov dword [rsp + 0x20], 0x104
mov rax, qword [rdx]
lea rdx, [rbp - 0x61]
mov qword [rbp - 0x51], rax
mov rax, qword [rbp + 0x7f]
movzx eax, byte [rax]
mov byte [rbp - 0x69], al
call fcn.180062890
mov rcx, qword [r12]
mov rdx, rax
mov rax, qword [rbp + 0x67]
mov rax, qword [rax]
add rdx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov r13, rax
jmp 0x18007a221
cmp r15d, 0x321
je 0x18007a1d9
cmp r15d, 0x3ce
je 0x18007a14a
cmp r15d, 0x47b
jne 0x18007a229
mov rax, qword [r8]
lea r9, [rbp - 0x39]
mov rdx, qword [r12]
xor r8d, r8d
mov qword [rsp + 0x30], rdi
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x39], rax
mov dword [rsp + 0x20], 0x9d
call fcn.180080030
jmp 0x18007a221
mov qword [r12], r13
test esi, esi
jle 0x18007a229
mov rdi, qword [rbp - 0x11]
mov r15d, 0x58
movzx r12d, byte [rbp - 0x6d]
mov r14, qword [rbp + 0x7f]
nop dword [rax]
mov eax, r15d
sub eax, 0x56
je 0x18007a1b4
sub eax, 1
je 0x18007a19b
cmp eax, 1
jne 0x18007a1c0
movzx edi, byte [r13 + 1]
lea rcx, [r12 + r13]
movzx edx, bl
mov r8d, edi
add rdx, r13
call sub.VCRUNTIME140.dll_memmove
jmp 0x18007a1c0
and byte [r13], 0xf7
or byte [r13], 4
movzx eax, byte [r14]
mov byte [r13 + 1], al
mov byte [r13 + 2], 0
jmp 0x18007a1c0
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], rdi
dec r15d
cmp r15d, 0x55
ja 0x18007a170
mov r14, qword [rbp - 0x31]
mov r12, qword [rbp + 0x5f]
mov qword [rbp - 0x11], rdi
xor edi, edi
jmp 0x18007a21d
test r13, r13
jne 0x18007a229
mov r15d, PathYetAnotherMakeUniqueName
cmp r15d, 0x47
je 0x18007a1fc
cmp r15d, 0xa8a
jne 0x18007a20d
mov rax, qword [rbp - 0x49]
jmp 0x18007a3e8
mov rcx, qword [r12]
xor edx, edx
mov r8d, 0x12a
call fcn.180058ec0
add r15d, 0xa43
cmp r15d, 0x1486
jbe 0x18007a1e4
mov r15d, dword [rbp - 0x51]
mov r8, qword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
add r15d, 0xad
mov dword [rbp - 0x51], r15d
cmp r15d, 0x528
jb 0x180079f00
jmp 0x18007a2f9
mov qword [rbp - 0x29], rdi
jmp case.0x180079e90.11
mov eax, PathMakeUniqueName
cmp eax, 0x2c
je 0x18007a392
add eax, 0x87
cmp eax, 0xb3
jb 0x18007a254
mov rcx, qword [rbp + 7]
xorps xmm0, xmm0
add rcx, qword [rbp - 0x19]
je 0x18007a3b3
xorps xmm1, xmm1
mov rax, rcx
sub rax, qword [rbp - 9]
cvtsi2sd xmm0, rcx
cvtsi2sd xmm1, rax
mulsd xmm1, qword [0x1800961a0]
divsd xmm1, xmm0
movsd qword [rbp - 0x41], xmm1
jmp case.0x180079e90.11
mov r15, qword [rbp - 0x29]
test r15, r15
je case.0x180079e90.11
xor r9d, r9d
mov qword [rbp - 0x39], r15
lea r8, [rbp - 0x39]
mov dword [rsp + 0x20], 0x7f
xor edx, edx
xor ecx, ecx
call fcn.1800514b0
mov rdx, qword [rbp + 0x6f]
lea r9, [rbp - 0x49]
lea r8, [rbp - 0x51]
mov qword [rbp - 1], rax
mov qword [rbp - 0x51], r15
mov dword [rsp + 0x20], 0x87
mov rcx, qword [rdx]
lea rdx, [rbp - 1]
mov qword [rbp - 0x49], rcx
mov rcx, r12
call fcn.180053210
mov r8, qword [rbp + 0x6f]
lea r9, [0x180000000]
mov edx, dword [rbp - 0x59]
mov ecx, dword [rbp - 0x71]
mov eax, dword [rbp + 0x77]
dec eax
dec ecx
mov dword [rbp + 0x77], eax
mov dword [rbp - 0x71], ecx
cmp eax, edx
ja 0x180079e70
jmp case.0x180079e90.4
mov rax, qword [r12 + 0x10]
sub rax, qword [r8 + 0x10]
mov qword [rbp + 7], rax
mov rax, qword [r12 + 8]
sub rax, qword [r8 + 8]
mov qword [rbp - 0x19], rax
jmp case.0x180079e90.11
mov r9, qword [r12]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
mov r8d, ILFree
call fcn.1800278c0
mov qword [rbp - 0x41], rax
jmp 0x18007a2f5
mov rdx, qword [r8]
mov ecx, 1
cmp rcx, rdx
jae 0x18007a300
mov r15, qword [rbp - 0x29]
nop dword [rax + rax]
mov rax, qword [r12 + rcx*8 - 8]
xor rax, qword [r12 + rcx*8]
inc rcx
or r15, rax
cmp rcx, rdx
jb 0x18007a370
mov qword [rbp - 0x29], r15
jmp 0x18007a300
mov rax, rdi
jmp 0x18007a3e8
movsx ecx, byte [r12]
movsx eax, byte [r8]
sub ecx, eax
jns 0x18007a3a8
mov dword [rbp - 0x41], 0xffffffff
jmp case.0x180079e90.4
test ecx, ecx
setg dil
mov dword [rbp - 0x41], edi
jmp case.0x180079e90.4
movsd qword [rbp - 0x41], xmm0
jmp case.0x180079e90.4
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rdx, r12
xor ecx, ecx
mov dword [rsp + 0x20], 0xfb
call fcn.18004e790
mov byte [rbp - 0x41], al
mov rax, qword [rbp - 0x41]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret