Function at 0x14008b1d0
Capabilities:
Copy file
Move file
Read file on windows

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x500
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov rsi, rcx
mov rcx, qword [rcx + 0x298]
add rcx, 0x1254
lea rdx, [0x1400e8ea0]
call fcn.1400c1f80
test eax, eax
je 0x14008b241
mov rcx, qword [rsi + 0x298]
add rcx, 0x1358
lea rdx, [0x1400e8e90]
call fcn.1400c1f80
test eax, eax
jne 0x14008be01
mov rdx, qword [rsi + 0x298]
add rdx, 0x1690
xor ebx, ebx
cmp byte [rdx], bl
je 0x14008b3d0
lea rcx, [rsp + 0x60]
call fcn.14002b3b0
nop
cmp qword [rsp + 0x60], rbx
je 0x14008b3c6
lea rcx, [rsp + 0x60]
call fcn.14002afd0
test eax, eax
je 0x14008b3c6
lea rcx, [rsp + 0x60]
call fcn.14002aff0
lea rcx, [rsp + 0x3e0]
call fcn.140092d60
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008b2b1
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b2f0
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx + 0x1254]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b340
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14008b3c6
mov r9d, 2
xor r8d, r8d
lea edx, [r9 - 6]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x48]
mov r8d, 4
lea rdx, [rsp + 0x4c]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x60]
call fcn.14002b1d0
mov rcx, qword [rsi + 0x298]
add rcx, 0x1254
lea rdx, [rsp + 0x40]
sub rdx, rcx
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
add rcx, 1
test al, al
jne 0x14008b3f0
nop
lea rdx, [0x1400fd6a4]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
je 0x14008b469
lea rdx, [0x1400fd6a0]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
je 0x14008b469
lea rdx, [0x1400fd69c]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
je 0x14008b469
lea rdx, [0x1400fd698]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
je 0x14008b469
lea rdx, [0x1400e8ea0]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
jne 0x14008b4e5
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x40], dil
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x41], dil
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x42], dil
mov byte [rsp + 0x43], 0
jmp 0x14008b400
mov rcx, qword [rsi + 0x298]
add rcx, 0x1358
lea rdx, [rsp + 0x44]
sub rdx, rcx
nop
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
add rcx, 1
test al, al
jne 0x14008b500
nop
lea rdx, [0x1400fd6a4]
lea rcx, [rsp + 0x44]
call fcn.1400c1f80
test eax, eax
je 0x14008b579
lea rdx, [0x1400fd6a0]
lea rcx, [rsp + 0x40]
call fcn.1400c1f80
test eax, eax
je 0x14008b579
lea rdx, [0x1400fd69c]
lea rcx, [rsp + 0x44]
call fcn.1400c1f80
test eax, eax
je 0x14008b579
lea rdx, [0x1400fd698]
lea rcx, [rsp + 0x44]
call fcn.1400c1f80
test eax, eax
je 0x14008b579
lea rdx, [0x1400e8e90]
lea rcx, [rsp + 0x44]
call fcn.1400c1f80
test eax, eax
jne 0x14008b5f5
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x44], dil
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x45], dil
call fcn.1400c2ab0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x46], dil
mov byte [rsp + 0x47], 0
jmp 0x14008b510
mov rdx, rsi
lea rcx, [rsp + 0x3e0]
call fcn.140012a90
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008b620
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b660
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x2d0], al
add rcx, 1
test al, al
jne 0x14008b690
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rdx + rcx + 0x1254]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b6c0
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x40]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b6f0
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008b733
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008b760
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b7a0
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x2d0], al
add rcx, 1
test al, al
jne 0x14008b7d0
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rdx + rcx + 0x1358]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b800
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x44]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b830
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008b873
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
mov rdx, rsi
lea rcx, [rsp + 0x3e0]
call fcn.140042830
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008b8b0
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b8f0
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x2d0], al
add rcx, 1
test al, al
jne 0x14008b920
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rdx + rcx + 0x1254]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b950
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x40]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008b980
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008b9c3
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008b9f0
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008ba30
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x2d0], al
add rcx, 1
test al, al
jne 0x14008ba60
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rdx + rcx + 0x1358]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008ba90
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x44]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bac0
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008bb03
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
lea rcx, [rsp + 0x3e0]
call fcn.140092d60
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008bb40
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bb80
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x2d0], al
add rcx, 1
test al, al
jne 0x14008bbb0
mov rdx, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rdx + rcx + 0x1254]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bbe0
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x40]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bc10
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008bc53
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
mov rdx, qword [rsi + 0x298]
add rdx, 0xe44
lea rcx, [rsp + 0x1c0]
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x14008bc80
lea rcx, [rsp + 0x1c0]
call fcn.1400b3390
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x3e0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bcc0
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400e8c38]
mov word [rdi - 1], ax
nop
nop
movzx eax, byte [rsp + rbx + 0x1c0]
mov byte [rsp + rbx + 0x2d0], al
add rbx, 1
test al, al
jne 0x14008bcf0
mov r8, qword [rsi + 0x298]
lea rdi, [rsp + 0x1c0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor edx, edx
movzx eax, byte [r8 + rdx + 0x1358]
mov byte [rdi + rdx - 1], al
add rdx, 1
test al, al
jne 0x14008bd20
lea rdi, [rsp + 0x2d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x44]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008bd50
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x14008bd93
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.1400b8880
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi + 0x298]
add rcx, 0x1254
nop
nop
nop
movzx eax, byte [rdx]
mov byte [rcx], al
add rdx, 1
add rcx, 1
test al, al
jne 0x14008bdc0
lea rdx, [rsp + 0x44]
mov rcx, qword [rsi + 0x298]
add rcx, 0x1358
nop
nop
nop
movzx eax, byte [rdx]
mov byte [rcx], al
add rdx, 1
add rcx, 1
test al, al
jne 0x14008bdf0
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.1400c2a20
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret