Function at 0x14007c5e0
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.14002ef70
sub rsp, rax
mov r14, r9
mov rbx, r8
mov r13, rdx
test r9, r9
jne 0x14007c62d
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, [0x1402284e0]
mov qword [rsp + 0x1118], r15
call fcn.140091190
lea rdx, [rbp + 0x10]
call fcn.140059810
test al, al
je 0x14007c6ae
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14007c6ae
cmp dword [rbx + 0x10], 0
jbe 0x14007c6ae
lea rdx, str..exe
call fcn.1400308bc
test rax, rax
je 0x14007c6ae
sub rax, qword [rbx + 8]
sar rax, 1
test eax, eax
jle 0x14007c6ae
lea r9, [rbp + 0x10]
mov rdx, r14
lea r8, [rbp + 0x1080]
call fcn.1400908a0
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 0x14007cc43
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.140070f90
cmp byte [rbp - 0x18], 0
lea r9, [0x1401f1e70]
mov r13d, 0x78
lea r12d, [r13 - 0x40]
lea r14d, [r13 - 0x38]
jne 0x14007c95a
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 0x14007c855
mov ecx, dword [rbp - 0x6c]
lea eax, [r15*8]
add edx, eax
mov dword [rbp - 0x70], edx
cmp edx, eax
jae 0x14007c793
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 0x14007c816
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 0x14007c7d6
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.140070710
lea eax, [rbx + 0x3f]
cmp eax, r15d
jae 0x14007c80b
lea rdi, [0x1401f1e70]
mov edx, ebx
lea rcx, [rbp - 0x80]
add rdx, rdi
call fcn.140070710
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, r15d
jb 0x14007c7f2
xor edi, edi
lea r9, [0x1401f1e70]
jmp 0x14007c818
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 0x14007c852
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 0x14007c935
mov ecx, edx
add edx, r14d
shr ecx, 3
and ecx, 0x3f
mov dword [rbp - 0x70], edx
cmp edx, r14d
jae 0x14007c875
inc dword [rbp - 0x6c]
mov ebx, r14d
sub ebx, ecx
cmp ebx, 8
ja 0x14007c8f4
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 0x14007c8bb
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.140070710
lea eax, [rbx + 0x3f]
cmp eax, 8
jae 0x14007c8f0
mov eax, ebx
lea rdx, [rbp + 0x1060]
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140070710
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, 8
jb 0x14007c8d0
xor ecx, ecx
jmp 0x14007c8f6
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 0x14007c935
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.1400713a0
cmp byte [rbp - 0x18], 0
jne 0x14007cbc7
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 0x14007cabc
lea eax, [r12*8]
add edx, eax
mov dword [rbp - 0x70], edx
cmp edx, eax
mov edx, dword [rbp - 0x6c]
jae 0x14007c9fa
inc edx
mov eax, r12d
lea r13, [0x1401f1e70]
shr eax, 0x1d
mov ebx, r14d
add edx, eax
sub ebx, ecx
mov dword [rbp - 0x6c], edx
cmp r12d, ebx
jb 0x14007ca7d
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 0x14007ca44
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.140070710
lea eax, [rbx + 0x3f]
cmp eax, r12d
jae 0x14007ca79
nop dword [rax]
mov edx, ebx
lea rcx, [rbp - 0x80]
add rdx, r13
call fcn.140070710
add ebx, r14d
lea eax, [rbx + 0x3f]
cmp eax, r12d
jb 0x14007ca60
xor ecx, ecx
jmp 0x14007ca7f
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 0x14007cab9
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 0x14007cba7
mov ecx, edx
add edx, r14d
shr ecx, 3
and ecx, 0x3f
mov dword [rbp - 0x70], edx
cmp edx, r14d
jae 0x14007cadc
inc dword [rbp - 0x6c]
sub r14d, ecx
cmp r14d, 8
ja 0x14007cb65
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 0x14007cb20
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.140070710
lea eax, [r14 + 0x3f]
cmp eax, 8
jae 0x14007cb61
nop word [rax + rax]
mov eax, r14d
lea rdx, [rsp + 0x70]
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140070710
add r14d, 0x40
lea eax, [r14 + 0x3f]
cmp eax, 8
jb 0x14007cb40
xor ecx, ecx
jmp 0x14007cb68
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 0x14007cba7
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 0x14007cc09
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 8]
jne 0x14007cc09
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 0x14007ce69
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 0x14007cc86
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 0x14007cc86
xor esi, esi
jmp 0x14007cce4
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14007cca2
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 0x14007cdf3
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 0x14007cdf3
mov eax, esi
mov dword [rbp + 0x1078], eax
test r12d, r12d
je 0x14007cd20
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 0x14007cd1a
mov eax, esi
mov dword [rbp + 0x1078], eax
jmp 0x14007cd20
mov eax, dword [rbp + 0x1078]
lock add qword [0x1401f3d68], rax
mov eax, dword [rbp + 0x1080]
cmp dword [rbp + 0x1078], eax
je 0x14007cdc2
mov qword [rsp + 0x60], rsi
lea rax, [0x14021a0b0]
mov qword [rsp + 0x58], rsi
lea r9, [0x140214c2a]
mov qword [rsp + 0x50], rsi
lea r8, [0x140214b2a]
mov qword [rsp + 0x48], rax
lea rcx, [0x140214a00]
lea rax, [0x140219fb0]
mov edx, 1
mov qword [rsp + 0x40], rax
lea rax, str.Install_Fail_File_Write
mov qword [rsp + 0x38], rax
lea rax, [0x140214c7a]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140058730
cmp rdi, 0xffffffffffffffff
je 0x14007cdb3
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 0x14007ce56
cmp rdi, 0xffffffffffffffff
je 0x14007cdd1
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, [0x1402284e0]
call fcn.140091190
mov al, 1
jmp 0x14007ce69
mov qword [rsp + 0x60], rsi
lea rax, [0x14021a0b0]
mov qword [rsp + 0x58], rsi
lea r9, [0x140214c2a]
mov qword [rsp + 0x50], rsi
lea r8, [0x140214b2a]
mov qword [rsp + 0x48], rax
lea rcx, [0x140214a00]
lea rax, [0x140219fb0]
mov edx, 1
mov qword [rsp + 0x40], rax
lea rax, str.Install_Fail_File_Write_Open
mov qword [rsp + 0x38], rax
lea rax, [0x140214c7a]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140058730
xor al, al
cmp rdi, 0xffffffffffffffff
je 0x14007ce69
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