Function at 0x1800333c0
Capabilities:
Check if file exists
Copy file
Encode data using xor
Get file attributes

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xf0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x18015f460]
xor rax, rsp
mov qword [rsp + 0xe0], rax
movzx esi, r8b
mov rbx, rcx
xor ecx, ecx
call fcn.1800ca7e8
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x90], cl
xor eax, eax
mov qword [rsp + 0x91], rax
mov qword [rsp + 0x99], rax
mov qword [rsp + 0xa1], rax
mov qword [rsp + 0xa9], rax
mov qword [rsp + 0xb1], rax
mov qword [rsp + 0xb9], rax
mov qword [rsp + 0xc1], rax
mov qword [rsp + 0xc9], rax
lea r9d, [rcx + 0x40]
mov r8, rbx
lea edx, [rcx + 0x41]
lea rcx, [rsp + 0x90]
call fcn.18002fa70
mov byte [rsp + 0xb0], 0
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
call fcn.180031c30
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x38]
call fcn.180031d70
nop
lea rcx, [rsp + 0x60]
call fcn.180002b30
mov rbx, rax
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1800334cb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800334c7
test al, 0x10
jne 0x1800334cb
mov bl, 1
jmp 0x1800334cd
xor bl, bl
lea rcx, [rsp + 0x38]
call fcn.180002b30
mov rdi, rax
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1800334fd
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800334f9
test al, 0x10
jne 0x1800334fd
mov al, 1
jmp 0x1800334ff
xor al, al
test sil, sil
jne 0x1800335fb
test bl, bl
jne 0x180033578
test al, al
je 0x1800335fb
lea rcx, [rsp + 0x60]
call fcn.180002b30
mov rbx, rax
lea rcx, [rsp + 0x38]
call fcn.180002b30
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x180033564
lea rcx, [rsp + 0x38]
call fcn.180002b10
nop
lea rcx, [rsp + 0x60]
call fcn.180002b10
mov eax, 0x111
jmp 0x1800336a1
lea rcx, [rsp + 0x60]
call fcn.180002b30
mov rcx, rax
call fcn.180033bd0
jmp 0x1800335df
test al, al
jne 0x1800335df
lea rcx, [rsp + 0x38]
call fcn.180002b30
mov rbx, rax
lea rcx, [rsp + 0x60]
call fcn.180002b30
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x1800335cc
lea rcx, [rsp + 0x38]
call fcn.180002b10
nop
lea rcx, [rsp + 0x60]
call fcn.180002b10
mov eax, 0x111
jmp 0x1800336a1
lea rcx, [rsp + 0x38]
call fcn.180002b30
mov rcx, rax
call fcn.180033bd0
nop
lea rcx, [rsp + 0x38]
call fcn.180002b10
nop
lea rcx, [rsp + 0x60]
call fcn.180002b10
xor eax, eax
jmp 0x1800336a1
xor ebx, ebx
mov rax, rbx
xor byte [rsp + rax + 0x20], 0xb7
inc rax
cmp rax, 0x10
jl 0x180033600
lea rcx, [rsp + 0x60]
call fcn.180002b30
mov rdi, rax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1800239c0
test eax, eax
jne 0x180033687
mov rcx, rdi
call fcn.180033bd0
lea rcx, [rsp + 0x38]
call fcn.180002b30
mov rdi, rax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1800239c0
test eax, eax
je 0x180033665
mov ebx, 0x111
jmp 0x18003366e
mov rcx, rdi
call fcn.180033bd0
nop
lea rcx, [rsp + 0x38]
call fcn.180002b10
nop
lea rcx, [rsp + 0x60]
call fcn.180002b10
mov eax, ebx
jmp 0x1800336a1
lea rcx, [rsp + 0x38]
call fcn.180002b10
nop
lea rcx, [rsp + 0x60]
call fcn.180002b10
mov eax, 0x111
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1800c9b90
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret