Function at 0x180003640
Capabilities:
Delete file
Get disk information
Move file
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1fe0]
mov eax, 0x20e0
call fcn.18001bba0
sub rsp, rax
mov rax, qword [0x180054038]
xor rax, rsp
mov qword [rbp + 0x1fd0], rax
mov r15d, r8d
mov r14, rdx
mov rbx, rcx
mov qword [rbp - 0x60], rcx
xor r13d, r13d
mov esi, r13d
movups xmm0, xmmword [str.CymulatePlace]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [0x18004b478]
movsd qword [rbp - 0x40], xmm0
mov eax, dword [0x18004b480]
mov dword [rbp - 0x38], eax
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp - 0x30]
call fcn.18001db50
mov rcx, qword [rbx + 0x10]
movabs r12, 0x7ffffffffffffffe
mov rax, r12
sub rax, rcx
cmp rax, 5
jb 0x180003c22
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800036e6
mov r9, qword [rbx]
mov qword [rsp + 0x30], 5
lea rax, str.__new
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.180009210
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180003787
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003782
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003c28
call fcn.18001b0b0
movdqa xmm0, xmmword [0x18004c930]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r13w
cmp rdi, 0xffffffffffffffff
jne 0x1800037d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x180056768]
mov r10, qword [rcx]
mov r9d, eax
lea r8d, [rdi + 3]
lea rdx, str.SwapMethod___RIPlace:_CreateFileW_failed__d
call qword [r10 + 0x10]
lea r14, str.__new
jmp 0x180003afd
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x58]
mov r8d, r15d
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x180003827
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov r9d, esi
mov r8d, 2
lea rdx, str.SwapMethod___RIPlace:_WriteFile_failed__d
call qword [rax + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r14, str.__new
jmp 0x180003afd
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call fcn.180021c84
mov rdi, rax
nop word [rax + rax]
mov r8d, 0xfff
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x18000387d
xor ecx, ecx
call fcn.180021c84
sub rax, rdi
cmp rax, 3
jge 0x1800038cb
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
test eax, eax
jne 0x180003840
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x18000388a
mov r8, qword [rbx]
lea rdx, [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
test eax, eax
jne 0x1800038f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov r9d, esi
mov r8d, 2
lea rdx, str.SwapMethod___RIPlace:_DefineDosDeviceW_failed__d
call qword [rax + 0x10]
lea r14, str.__new
jmp 0x180003afd
mov esi, 0x57
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
lea r8d, [rsi - 0x55]
lea rdx, str.SwapMethod___RIPlace:_Failed_to_remove_dos_device_definition
call qword [rax + 0x10]
lea r14, str.__new
jmp 0x180003afd
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 4
lea rdx, str.._
lea rcx, [rsp + 0x60]
call fcn.1800088b0
nop
lea rax, [rbp - 0x50]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180003930
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x60]
call fcn.180008520
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov rcx, qword [rbx + 0x10]
mov rax, r12
sub rax, rcx
cmp rax, 5
jb 0x180003c2e
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x18000399c
mov r9, qword [rbx]
mov qword [rsp + 0x30], 5
lea r14, str.__new
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x80]
call fcn.180009210
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov r8d, 9
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov edi, eax
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x180003a2c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003a27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003c34
call fcn.18001b0b0
movdqa xmm0, xmmword [0x18004c930]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r13w
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180003a80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003a7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003c3a
call fcn.18001b0b0
movdqa xmm0, xmmword [0x18004c930]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r13w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x180003ad6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003ad1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003c40
call fcn.18001b0b0
test edi, edi
jne 0x180003afd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov r9d, esi
lea r8d, [rdi + 2]
lea rdx, str.SwapMethod___RIPlace:_MoveFileExW_failed__d
call qword [rax + 0x10]
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
mov rax, qword [rbx + 0x10]
sub r12, rax
cmp r12, 5
jb 0x180003c46
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x180003b2c
mov r9, qword [rbx]
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x60]
call fcn.180009210
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x180003b9f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003b99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003c16
call fcn.18001b0b0
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x180003bda
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180003bd5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180003c1c
mov rcx, r8
call fcn.18001b0b0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov eax, esi
mov rcx, qword [rbp + 0x1fd0]
xor rcx, rsp
call fcn.18001b090
mov rbx, qword [rsp + 0x2138]
add rsp, 0x20e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.1800034e0
int3
call fcn.180022104
nop
call fcn.1800034e0
int3
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.180022104
int3
call fcn.1800034e0
int3