Function at 0x180008480
Capabilities:
Check if file exists
Print debug messages
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x27b8]
mov eax, 0x28b8
call fcn.1800112f0
sub rsp, rax
mov rax, qword [0x1800444d0]
xor rax, rsp
mov qword [rbp + 0x27a0], rax
mov rbx, rcx
xor edx, edx
lea rcx, [rbp + 0x7a0]
mov r8d, 0x800
call fcn.180013050
xor edx, edx
lea rcx, [rbp + 0xfa0]
mov r8d, 0x800
call fcn.180013050
lea rdi, [rbp + 0x27e8]
call fcn.180001e40
mov r9d, 0x3ff
mov qword [rsp + 0x30], rdi
xor esi, esi
lea rdx, [rbp + 0x7a0]
mov qword [rsp + 0x28], rsi
mov rcx, qword [rax]
lea r8d, [r9 + 1]
mov qword [rsp + 0x20], rbx
call fcn.180018984
lea r8, [rbp + 0x7a0]
mov word [rbp + 0xf9e], si
lea rdx, str._zip__s_n
lea rcx, [rbp + 0xfa0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0xfa0]
mov word [rbp + 0x179e], si
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edx, edx
lea rcx, [rbp + 0x380]
mov r8d, 0x208
call fcn.180013050
lea r8, [0x18002e128]
mov edx, 0x104
lea rcx, [rbp + 0x380]
call fcn.18001999c
lea r9, str.PuddingZip
lea r8, [rbp + 0x380]
lea rdx, str._s_s.log
lea rcx, [rbp + 0x170]
call fcn.1800083c0
xor edx, edx
lea rcx, [rbp + 0x590]
mov r8d, 0x208
call fcn.180013050
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
call fcn.180013050
mov r8d, 0x104
lea rdx, [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
or rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], si
jne 0x1800085e7
test rax, rax
je 0x1800087dd
mov edx, 0x5c
lea rcx, [rsp + 0x60]
call fcn.18001468c
lea rcx, [rbp + 0x170]
mov word [rax], si
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1800087dd
mov qword [rsp + 0x28b0], r14
lea rcx, [rsp + 0x60]
mov rax, rbx
cmp word [rcx + rax*2 + 2], si
lea rax, [rax + 1]
jne 0x180008630
lea r8, [rsp + 0x62]
mov edx, 0x104
lea r8, [r8 + rax*2]
lea rcx, [rbp + 0x590]
call fcn.18001999c
lea r9, [rbp + 0x590]
lea r8, [rbp + 0x380]
lea rdx, str._s_s.txt
lea rcx, [rbp + 0x170]
call fcn.1800083c0
xor ecx, ecx
call fcn.180019064
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
call fcn.180019e10
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r14d, eax
test rdi, rdi
je 0x1800087d5
xor edx, edx
lea rcx, [rbp + 0x17a0]
mov r8d, 0x1000
call fcn.180013050
mov r9d, dword [rdi + 0x10]
lea rax, [rbp + 0x7a0]
mov r8d, dword [rdi + 0x14]
lea rdx, str.__d__02d__02d__02d:_02d:_02d___d_:_s
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x17a0]
mov eax, dword [rdi]
inc r9d
mov dword [rsp + 0x40], r14d
add r8d, 0x76c
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 8]
mov dword [rsp + 0x28], eax
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x20], eax
call fcn.180008420
lea rcx, [rbp + 0x170]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov r14d, 1
lea rdx, [0x18002e168]
test eax, eax
lea rcx, [rbp + 0x170]
cmovne esi, r14d
call fcn.180019ae8
mov rdi, rax
test rax, rax
je 0x1800087d5
test esi, esi
jne 0x180008760
mov eax, 0xfeff
lea r8d, [r14 + 1]
mov r9, rdi
mov word [rsp + 0x54], ax
mov edx, r14d
lea rcx, [rsp + 0x54]
call fcn.180019584
lea rax, [rbp + 0x17a0]
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x180008770
add ebx, ebx
lea rcx, [rbp + 0x17a0]
movsxd r8, ebx
mov r9, rdi
mov rdx, r14
call fcn.180019584
mov eax, 0xd
lea rcx, [rsp + 0x50]
mov r9, rdi
mov word [rsp + 0x50], ax
mov rdx, r14
lea r8d, [rax - 0xb]
call fcn.180019584
mov eax, 0xa
lea rcx, [rsp + 0x50]
mov r9, rdi
mov word [rsp + 0x50], ax
mov rdx, r14
lea r8d, [rax - 8]
call fcn.180019584
mov rcx, rdi
call fcn.1800192d8
mov r14, qword [rsp + 0x28b0]
mov rcx, qword [rbp + 0x27a0]
xor rcx, rsp
call fcn.1800112b0
add rsp, 0x28b8
pop rdi
pop rsi
pop rbx
pop rbp
ret