Function at 0x18004eaf0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov ebx, dword [rbp + 0x58]
mov r15d, r9d
imul r13d, r9d, 0xab0
mov rax, rdx
mov rdi, rcx
mov esi, r9d
cmp r9d, r13d
ja 0x18004eee2
mov r12, qword [rbp + 0x60]
lea r9, [0x1800a20b0]
mov r14d, dword [rbp + 0x58]
lea rcx, [0x180075140]
xor r8d, r8d
lea rdx, [0x1800b9340]
cmp esi, 0x3f1c
ja 0x18004eea8
je 0x18004ee99
cmp esi, 0xfdc
ja 0x18004ed7c
je 0x18004ed3a
cmp esi, 0x1c
je 0x18004ecdb
cmp esi, 0x2f
je 0x18004ec19
cmp esi, 0x7f
je 0x18004eba2
cmp esi, 0x10f
jne 0x18004f0f7
mov ebx, dword [rdi + 0xe4]
jmp 0x18004f0f7
mov ebx, dword [rax]
mov rax, qword [rdi]
cmp byte [rax + 0xee4], 0
jne 0x18004ebc9
xor r9d, r9d
mov qword [rbp - 0x20], rax
lea r8, [rbp - 0x20]
xor ecx, ecx
lea edx, [r9 + 0x2c]
call fcn.18006d4c0
xor r8d, r8d
mov rax, qword [rbp + 0x50]
mov rdx, r8
movsxd r8, dword [rax]
test r8, r8
jle 0x18004f0df
mov r9, qword [r12]
mov r10, qword [rdi]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
mov eax, ebx
xor rcx, rax
inc rdx
movzx eax, cl
mov ecx, ebx
shr ecx, 8
mov ebx, dword [r10 + rax*4 + 0xae4]
xor ebx, ecx
cmp rdx, r8
jl 0x18004ebf0
jmp 0x18004f0df
mov rax, qword [rdi]
cmp dword [rax], 0x7f2bb701
jne 0x18004f112
cmp qword [rax + 0x80], 0
jne 0x18004eca8
mov r14, qword [rax + 0x58]
lea rdx, [rbp - 0x20]
mov qword [rax + 0x58], r8
mov r8d, 0x38
mov rcx, qword [rdi]
mov qword [rbp - 0x20], rcx
sub rcx, 0xffffffffffffff80
call fcn.1800b5bb0
test eax, eax
je 0x18004eca1
mov rax, qword [rdi]
mov rcx, qword [rax + 0x80]
test rcx, rcx
je 0x18004eca1
mov qword [rbp - 0x20], rcx
lea rax, [rbp - 0x20]
xor ecx, ecx
xor r9d, r9d
mov qword [rsp + 0x38], rcx
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov edx, 0x127
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.180062b60
mov rax, qword [rdi]
xor ecx, ecx
mov qword [rax + 0x80], rcx
mov rax, qword [rdi]
mov qword [rax + 0x58], r14
lea rax, [rbp - 0x18]
mov dword [rbp - 0x18], 0x90
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x28]
xor edx, edx
mov ecx, 0xb3
call fcn.180081490
mov r14d, eax
test eax, eax
jne 0x18004eee4
jmp 0x18004f0df
mov rax, qword [rdi]
cmp qword [rax + 0x4b0], 0
je 0x18004ecf2
mov qword [rax + 0x4d8], r9
mov rax, qword [rdi]
cmp qword [rax + 0x2d0], 0
je 0x18004ed2b
cmp byte [rax + 0x1ac], 0
je 0x18004ed24
cmp byte [rax + 0xa04], 0
je 0x18004ed24
mov qword [rax + 0x4d0], rcx
mov rax, qword [rdi]
mov byte [rax + 0x300], 0xff
jmp 0x18004f0f7
mov qword [rax + 0x4d0], rdx
mov rax, qword [rdi]
mov byte [rax + 0x300], 0xff
jmp 0x18004f0f7
mov rax, qword [rdi]
mov dword [rax + 0x304], r8d
mov rax, qword [rdi]
mov dword [rax + 0x308], 1
mov rax, qword [rdi]
mov dword [rax + 0x30c], r8d
mov rax, qword [rdi]
mov dword [rax + 0x310], 1
mov rcx, qword [rdi]
mov eax, dword [rcx + 0x1c4]
mov dword [rcx + 0x314], eax
jmp 0x18004f0f0
cmp esi, 0x1a9f
je 0x18004ee29
cmp esi, 0x1f9c
je 0x18004ee0d
cmp esi, 0x2f5c
je 0x18004edc8
cmp esi, 0x350f
jne 0x18004f0f7
mov rax, qword [rbp - 0x28]
mov dword [rax + 0x50], r8d
mov rax, qword [rbp - 0x28]
mov dword [rax + 0x20], r8d
mov rax, qword [rdi]
mov ecx, dword [rax + 0x30]
mov rax, qword [rbp - 0x28]
dec ecx
mov dword [rax + 0x2c], ecx
jmp 0x18004f0f0
mov rax, qword [rdi]
mov dword [rax + 0x320], r8d
mov rdx, qword [rdi]
mov eax, dword [rdx + 0x314]
lea ecx, [rax + rax*2]
add ecx, ecx
mov dword [rdx + 0x324], ecx
mov rcx, qword [rdi]
mov eax, dword [rcx + 0x330]
add eax, dword [rcx + 0x324]
mov dword [rcx + 0x328], eax
mov rax, qword [rdi]
mov dword [rax + 0x364], 6
jmp 0x18004f0e9
mov rax, qword [rdi]
mov dword [rax + 0x318], 6
mov rax, qword [rdi]
mov dword [rax + 0x31c], r8d
jmp 0x18004f0f7
mov rax, qword [rbp - 0x28]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x80], xmm0
mov rax, qword [rbp - 0x28]
mov dword [rax], 0x7f2bb704
mov rax, qword [rbp - 0x28]
mov rcx, qword [rdi]
mov qword [rax + 8], rcx
mov rax, qword [rdi]
mov rcx, qword [rax + 0x20]
cmp dword [rcx + 0x4c], 0
jne 0x18004ee89
mov rax, qword [rbp - 0x28]
mov ecx, 0x80
mov dword [rax + 0x40], ecx
jmp 0x18004f0f0
mov rax, qword [rbp - 0x28]
movzx ecx, word [rcx + 0x58]
mov dword [rax + 0x40], ecx
jmp 0x18004f0f0
mov rax, qword [rdi]
mov byte [rax + 0x360], 1
jmp 0x18004f0f7
cmp esi, 0x69ef
ja 0x18004f037
je 0x18004ef8a
cmp esi, 0x47ef
je 0x18004eee2
cmp esi, 0x4edc
je 0x18004ef63
cmp esi, 0x4f7f
je 0x18004eefc
cmp esi, 0x5e9c
jne 0x18004f0f7
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rax]
lea r8, [rbp - 0x10]
test eax, eax
mov ecx, 8
mov edx, 0xa7
cmovne ecx, eax
mov rax, qword [rbp - 0x28]
xor r9d, r9d
mov dword [rax + 0x30], ecx
mov rcx, qword [rbp - 0x28]
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x10], eax
mov rax, qword [rcx + 8]
lea rcx, [rbp - 8]
mov qword [rbp - 8], rax
call fcn.18004c090
mov rcx, qword [rbp - 0x28]
mov qword [rcx + 0x18], rax
mov rdx, qword [rbp - 0x28]
mov rax, qword [rdx + 8]
mov rcx, qword [rax + 0x20]
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x24], eax
mov rdx, qword [rbp - 0x28]
mov rax, qword [rdx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rdx + 0x28], ecx
jmp 0x18004f0df
mov rax, qword [rdi]
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x20], r8
xor r9d, r9d
mov r8d, 0xbd
mov qword [rbp - 0x20], rax
xor ecx, ecx
call fcn.180091150
mov ebx, eax
jmp 0x18004f0df
mov rdx, qword [rdi]
mov rax, qword [rdx + 0x20]
test byte [rax + 0x64], 0x10
je 0x18004efec
mov rax, qword [rbp - 0x28]
mov r8d, 0x90
mov qword [rbp - 0x20], rdx
lea rdx, [rbp - 0x20]
mov ecx, dword [rax + 0x20]
mov dword [rbp + 0x58], ecx
lea rcx, [rbp + 0x58]
call fcn.1800b34b0
mov rcx, qword [rbp - 0x28]
xor edx, edx
sub dword [rcx + 0x24], eax
mov r10, qword [rbp - 0x28]
mov rax, qword [rdi]
mov ecx, dword [r10 + 0x24]
mov r9d, dword [rax + 0x28]
dec ecx
mov eax, r9d
div dword [r10 + 0x40]
xor edx, edx
add eax, ecx
imul eax, dword [r10 + 0x40]
div r9d
mov dword [r10 + 0x28], eax
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x28]
lea r8, [rbp + 0x58]
mov eax, dword [rcx + 0x30]
lea r9, [rcx + 0x38]
mov dword [rbp + 0x58], eax
mov ecx, PathMakeUniqueName
mov rax, qword [rdx + 8]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
call fcn.1800832f0
mov r14d, eax
xor r8d, r8d
mov rax, qword [rbp - 0x28]
mov qword [rax + 0x60], r8
mov rax, qword [rbp - 0x28]
mov qword [rax + 0x68], r8
mov rax, qword [rbp - 0x28]
mov dword [rax + 0x70], r8d
jmp 0x18004f0e2
cmp esi, 0x845f
je 0x18004f0ad
cmp esi, 0x997f
je 0x18004eee2
cmp esi, 0x9ecf
je 0x18004f064
cmp esi, 0xb93f
je 0x18004eee2
jmp 0x18004f0f7
mov rcx, qword [rbp - 0x28]
test r14d, r14d
jne 0x18004f11c
mov rax, qword [rcx + 8]
mov rdx, qword [rax + 0x80]
test rdx, rdx
je 0x18004f08b
cmp dword [rdx + 4], r14d
je 0x18004f08b
or dword [rcx + 0x74], 1
mov rax, qword [rdi]
mov rcx, qword [rax + 0x20]
test byte [rcx + 0x64], 0x10
je 0x18004f0a0
mov rax, qword [rbp - 0x28]
or dword [rax + 0x74], 0x10
mov rax, qword [rbp - 0x28]
mov ebx, r8d
mov qword [r12], rax
jmp 0x18004f0e9
xor edx, edx
test r14d, r14d
jne 0x18004f14a
mov rcx, qword [rbp - 0x28]
xor r9d, r9d
mov eax, dword [rcx + 0x40]
lea r8, [rcx + 0x58]
mov dword [rbp - 0x30], eax
mov ecx, 0xb3
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
call fcn.180081490
mov r14d, eax
xor r8d, r8d
lea r9, [0x1800a20b0]
lea rdx, [0x1800b9340]
lea rcx, [0x180075140]
lea eax, [r15 + r15*8]
shl eax, 4
add esi, eax
cmp esi, r13d
ja 0x18004eee2
mov rax, qword [rbp + 0x48]
jmp 0x18004eb50
mov eax, 0x7f2bb701
jmp 0x18004eee4
mov qword [rsp + 0x28], r8
add rcx, 0x38
mov qword [rsp + 0x20], r8
mov r9d, 0x10b
xor r8d, r8d
xor edx, edx
call fcn.180015c80
xor ecx, ecx
mov qword [rsp + 0x28], rcx
xor edx, edx
mov qword [rsp + 0x20], rcx
jmp 0x18004f154
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r9d, 0x10b
lea rcx, [rbp - 0x28]
xor r8d, r8d
call fcn.180015c80
mov eax, r14d
jmp 0x18004eee4