Function at 0x14007dc30
Capabilities:
Check if file exists
Delete file
Get file attributes
Hash data with md5
Set file attributes
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push r13
push r14
lea rbp, [rsp - 0x1038]
mov eax, 0x1138
call fcn.14002f320
sub rsp, rax
mov r14, r9
mov rbx, r8
mov r13, rdx
test r9, r9
jne 0x14007dc7d
xor al, al
add rsp, 0x1138
pop r14
pop r13
pop rbx
pop rbp
ret
mov r9, qword [r8 + 8]
lea rdx, str.Install
mov qword [rsp + 0x1130], rsi
lea r8, str.Extract_file__s
mov qword [rsp + 0x1120], r12
lea rcx, [0x140229810]
mov qword [rsp + 0x1118], r15
call fcn.140092000
lea rdx, [rbp + 0x10]
call fcn.140059d20
test al, al
je 0x14007dcfe
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14007dcfe
cmp dword [rbx + 0x10], 0
jbe 0x14007dcfe
lea rdx, str..exe
call fcn.140030c6c
test rax, rax
je 0x14007dcfe
sub rax, qword [rbx + 8]
sar rax, 1
test eax, eax
jle 0x14007dcfe
lea r9, [rbp + 0x10]
mov rdx, r14
lea r8, [rbp + 0x1080]
call fcn.140091780
mov rcx, qword [r13 + 8]
lea r15, [r13 + 8]
mov qword [rsp + 0x1128], rdi
mov rsi, r15
mov qword [rsp + 0x70], r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r12d, dword [rbp + 0x1080]
xor edx, edx
cmp eax, 0xffffffff
je 0x14007e293
xor eax, eax
lea rdi, [rbp - 0x68]
mov ecx, reloc.WS2_32.dll_recv
rep stosd dword [rdi], eax
lea rdi, [rbp - 0x28]
mov ecx, 4
rep stosd dword [rdi], eax
mov qword [rbp - 0x70], rdx
lea rcx, [rbp - 0x80]
mov rdx, r13
mov byte [rbp - 0x18], al
mov dword [rbp - 0x80], 0x67452301
mov dword [rbp - 0x7c], 0xefcdab89
mov dword [rbp - 0x78], 0x98badcfe
mov dword [rbp - 0x74], 0x10325476
call fcn.140072600
cmp byte [rbp - 0x18], 0
lea r9, [0x1401f2e70]
mov r13d, 0x78
lea r12d, [r13 - 0x40]
lea r14d, [r13 - 0x38]
jne 0x14007dfaa
mov edx, dword [rbp - 0x70]
lea rdi, [rbp + 0x1060]
lea rsi, [rbp - 0x70]
mov ecx, 2
rep movsd dword [rdi], dword [rsi]
mov edi, edx
mov eax, r13d
shr edi, 3
mov r15d, r12d
and edi, 0x3f
sub eax, edi
sub r15d, edi
cmp edi, r12d
cmovae r15d, eax
cmp r15d, 1
jb 0x14007dea5
mov ecx, dword [rbp - 0x6c]
lea eax, [r15*8]
add edx, eax
mov dword [rbp - 0x70], edx
cmp edx, eax
jae 0x14007dde3
inc ecx
mov eax, r15d
mov ebx, r14d
shr eax, 0x1d
sub ebx, edi
add ecx, eax
mov dword [rbp - 0x6c], ecx
cmp r15d, ebx
jb 0x14007de66
mov eax, edi
lea r8, [rbp - 0x68]
add r8, rax
mov ecx, ebx
shr rcx, 2
mov rdi, r8
mov rsi, r9
mov edx, ebx
rep movsd dword [rdi], dword [rsi]
mov ecx, ebx
and ecx, 3
je 0x14007de26
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r9]
lea rdi, [r8 + rdx]
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call fcn.140071d80
lea eax, [rbx + 0x3f]
cmp eax, r15d
jae 0x14007de5b
lea rdi, [0x1401f2e70]
mov edx, ebx
lea rcx, [rbp - 0x80]
add rdx, rdi
call fcn.140071d80
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, r15d
jb 0x14007de42
xor edi, edi
lea r9, [0x1401f2e70]
jmp 0x14007de68
xor ebx, ebx
sub r15d, ebx
mov eax, edi
mov r8d, ebx
add r8, r9
mov ecx, r15d
shr rcx, 2
lea r9, [rbp - 0x68]
add r9, rax
mov edx, r15d
mov rdi, r9
mov rsi, r8
rep movsd dword [rdi], dword [rsi]
mov ecx, r15d
and ecx, 3
je 0x14007dea2
and rdx, 0xfffffffffffffffc
lea rsi, [r8 + rdx]
lea rdi, [r9 + rdx]
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbp - 0x70]
cmp byte [rbp - 0x18], 0
jne 0x14007df85
mov ecx, edx
add edx, r14d
shr ecx, 3
and ecx, 0x3f
mov dword [rbp - 0x70], edx
cmp edx, r14d
jae 0x14007dec5
inc dword [rbp - 0x6c]
mov ebx, r14d
sub ebx, ecx
cmp ebx, 8
ja 0x14007df44
mov eax, ecx
lea r8, [rbp - 0x68]
add r8, rax
mov ecx, ebx
shr rcx, 2
lea rsi, [rbp + 0x1060]
mov rdi, r8
mov edx, ebx
rep movsd dword [rdi], dword [rsi]
mov ecx, ebx
and ecx, 3
je 0x14007df0b
and rdx, 0xfffffffffffffffc
lea rsi, [rbp + 0x1060]
add rsi, rdx
lea rdi, [r8 + rdx]
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call fcn.140071d80
lea eax, [rbx + 0x3f]
cmp eax, 8
jae 0x14007df40
mov eax, ebx
lea rdx, [rbp + 0x1060]
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140071d80
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, 8
jb 0x14007df20
xor ecx, ecx
jmp 0x14007df46
xor ebx, ebx
mov edx, 8
mov eax, ebx
sub edx, ebx
lea r8, [rbp + 0x1060]
add r8, rax
lea r9, [rbp - 0x68]
mov eax, ecx
mov rsi, r8
add r9, rax
mov ecx, edx
shr rcx, 2
mov rdi, r9
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x14007df85
and rdx, 0xfffffffffffffffc
lea rsi, [r8 + rdx]
lea rdi, [r9 + rdx]
rep movsb byte [rdi], byte [rsi]
mov r15, qword [rsp + 0x70]
lea rdi, [rbp - 0x28]
lea rsi, [rbp - 0x80]
mov ecx, 4
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbp - 0x68]
mov ecx, reloc.WS2_32.dll_recv
xor eax, eax
rep stosd dword [rdi], eax
mov byte [rbp - 0x18], 1
mov r8d, dword [rbp + 0x1080]
lea rdi, [rbp - 0x10]
mov rdx, qword [rbp + 0x1078]
lea rsi, [rbp - 0x28]
mov ecx, 4
rep movsd dword [rdi], dword [rsi]
lea rcx, [rbp - 0x80]
mov byte [rbp - 0x18], 0
mov qword [rbp - 0x70], 0
mov dword [rbp - 0x80], 0x67452301
mov dword [rbp - 0x7c], 0xefcdab89
mov dword [rbp - 0x78], 0x98badcfe
mov dword [rbp - 0x74], 0x10325476
call fcn.140072a10
cmp byte [rbp - 0x18], 0
jne 0x14007e217
mov edx, dword [rbp - 0x70]
lea rdi, [rsp + 0x70]
lea rsi, [rbp - 0x70]
mov ecx, 2
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
shr ecx, 3
and ecx, 0x3f
sub r13d, ecx
sub r12d, ecx
cmp ecx, 0x38
cmovae r12d, r13d
cmp r12d, 1
jb 0x14007e10c
lea eax, [r12*8]
add edx, eax
mov dword [rbp - 0x70], edx
cmp edx, eax
mov edx, dword [rbp - 0x6c]
jae 0x14007e04a
inc edx
mov eax, r12d
lea r13, [0x1401f2e70]
shr eax, 0x1d
mov ebx, r14d
add edx, eax
sub ebx, ecx
mov dword [rbp - 0x6c], edx
cmp r12d, ebx
jb 0x14007e0cd
mov eax, ecx
lea r8, [rbp - 0x68]
add r8, rax
mov ecx, ebx
shr rcx, 2
mov rdi, r8
mov rsi, r13
mov edx, ebx
rep movsd dword [rdi], dword [rsi]
mov ecx, ebx
and ecx, 3
je 0x14007e094
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r13]
lea rdi, [r8 + rdx]
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call fcn.140071d80
lea eax, [rbx + 0x3f]
cmp eax, r12d
jae 0x14007e0c9
nop dword [rax]
mov edx, ebx
lea rcx, [rbp - 0x80]
add rdx, r13
call fcn.140071d80
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, r12d
jb 0x14007e0b0
xor ecx, ecx
jmp 0x14007e0cf
xor ebx, ebx
mov eax, ecx
lea r9, [rbp - 0x68]
sub r12d, ebx
mov r8d, ebx
add r8, r13
mov ecx, r12d
shr rcx, 2
add r9, rax
mov rdi, r9
mov edx, r12d
mov rsi, r8
rep movsd dword [rdi], dword [rsi]
mov ecx, r12d
and ecx, 3
je 0x14007e109
and rdx, 0xfffffffffffffffc
lea rsi, [r8 + rdx]
lea rdi, [r9 + rdx]
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbp - 0x70]
cmp byte [rbp - 0x18], 0
jne 0x14007e1f7
mov ecx, edx
add edx, r14d
shr ecx, 3
and ecx, 0x3f
mov dword [rbp - 0x70], edx
cmp edx, r14d
jae 0x14007e12c
inc dword [rbp - 0x6c]
sub r14d, ecx
cmp r14d, 8
ja 0x14007e1b5
mov eax, ecx
lea r8, [rbp - 0x68]
add r8, rax
mov ecx, r14d
shr rcx, 2
lea rsi, [rsp + 0x70]
mov rdi, r8
mov edx, r14d
rep movsd dword [rdi], dword [rsi]
mov ecx, r14d
and ecx, 3
je 0x14007e170
and rdx, 0xfffffffffffffffc
lea rsi, [rsp + 0x70]
add rsi, rdx
lea rdi, [r8 + rdx]
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call fcn.140071d80
lea eax, [r14 + 0x3f]
cmp eax, 8
jae 0x14007e1b1
nop word [rax + rax]
mov eax, r14d
lea rdx, [rsp + 0x70]
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140071d80
add r14d, 0x40
lea eax, [r14 + 0x3f]
cmp eax, 8
jb 0x14007e190
xor ecx, ecx
jmp 0x14007e1b8
xor r14d, r14d
mov edx, 8
mov eax, r14d
sub edx, r14d
lea r8, [rsp + 0x70]
add r8, rax
lea r9, [rbp - 0x68]
mov eax, ecx
mov rsi, r8
add r9, rax
mov ecx, edx
shr rcx, 2
mov rdi, r9
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x14007e1f7
and rdx, 0xfffffffffffffffc
lea rsi, [r8 + rdx]
lea rdi, [r9 + rdx]
rep movsb byte [rdi], byte [rsi]
lea rdi, [rbp - 0x28]
mov ecx, 4
lea rsi, [rbp - 0x80]
xor eax, eax
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbp - 0x68]
mov ecx, reloc.WS2_32.dll_recv
rep stosd dword [rdi], eax
mov byte [rbp - 0x18], 1
mov rax, qword [rbp - 0x10]
lea rdi, [rbp]
lea rsi, [rbp - 0x28]
mov ecx, 4
rep movsd dword [rdi], dword [rsi]
cmp rax, qword [rbp]
jne 0x14007e259
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 8]
jne 0x14007e259
xor eax, eax
lea rdi, [rbp - 0x28]
mov ecx, 4
rep stosd dword [rdi], eax
lea rdi, [rbp - 0x80]
mov ecx, 4
rep stosd dword [rdi], eax
mov al, 1
jmp 0x14007e4b9
mov r13, qword [rbp + 0x1068]
lea rdi, [rbp - 0x28]
mov rbx, qword [rbp + 0x1070]
xor eax, eax
mov r14, qword [rbp + 0x1078]
mov ecx, 4
mov r12d, dword [rbp + 0x1080]
xor edx, edx
rep stosd dword [rdi], eax
lea rdi, [rbp - 0x80]
mov ecx, 4
rep stosd dword [rdi], eax
lea rsi, [r13 + 8]
mov rcx, qword [r15]
mov rdi, 0xffffffffffffffff
test rcx, rcx
je 0x14007e2d6
mov qword [rsp + 0x30], rdx
lea r8d, [rdi + 4]
mov dword [rsp + 0x28], 0x80
mov edx, 0x40000000
xor r9d, r9d
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14007e2d6
xor esi, esi
jmp 0x14007e334
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14007e2f2
mov rcx, qword [rsi]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [rsi]
xor esi, esi
test rcx, rcx
je 0x14007e443
mov qword [rsp + 0x30], rsi
lea r8d, [rsi + 3]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14007e443
mov eax, esi
mov dword [rbp + 0x1078], eax
test r12d, r12d
je 0x14007e370
lea r9, [rbp + 0x1078]
mov qword [rsp + 0x20], rsi
mov r8d, r12d
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14007e36a
mov eax, esi
mov dword [rbp + 0x1078], eax
jmp 0x14007e370
mov eax, dword [rbp + 0x1078]
lock add qword [0x1401f4d68], rax
mov eax, dword [rbp + 0x1080]
cmp dword [rbp + 0x1078], eax
je 0x14007e412
mov qword [rsp + 0x60], rsi
lea rax, [0x14021b140]
mov qword [rsp + 0x58], rsi
lea r9, [0x140215c3a]
mov qword [rsp + 0x50], rsi
lea r8, [0x140215b3a]
mov qword [rsp + 0x48], rax
lea rcx, [0x140215a10]
lea rax, [0x14021b040]
mov edx, 1
mov qword [rsp + 0x40], rax
lea rax, str.Install_Fail_File_Write
mov qword [rsp + 0x38], rax
lea rax, [0x140215c8a]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140058af0
cmp rdi, 0xffffffffffffffff
je 0x14007e403
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, 0xffffffffffffffff
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14007e4a6
cmp rdi, 0xffffffffffffffff
je 0x14007e421
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9, qword [rbx + 8]
lea r8, str.Extract_file__s_done
lea rdx, str.Install
lea rcx, [0x140229810]
call fcn.140092000
mov al, 1
jmp 0x14007e4b9
mov qword [rsp + 0x60], rsi
lea rax, [0x14021b140]
mov qword [rsp + 0x58], rsi
lea r9, [0x140215c3a]
mov qword [rsp + 0x50], rsi
lea r8, [0x140215b3a]
mov qword [rsp + 0x48], rax
lea rcx, [0x140215a10]
lea rax, [0x14021b040]
mov edx, 1
mov qword [rsp + 0x40], rax
lea rax, str.Install_Fail_File_Write_Open
mov qword [rsp + 0x38], rax
lea rax, [0x140215c8a]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140058af0
xor al, al
cmp rdi, 0xffffffffffffffff
je 0x14007e4b9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rdi, qword [rsp + 0x1128]
mov r12, qword [rsp + 0x1120]
mov rsi, qword [rsp + 0x1130]
mov r15, qword [rsp + 0x1118]
add rsp, 0x1138
pop r14
pop r13
pop rbx
pop rbp
ret