Function at 0x1400d9888
Capabilities:
Get file system object information
Move file
Parse pe header
Write file on windows

Disassembly:
push rbp
push r13
push r14
lea rbp, [rsp - 0x8550]
mov eax, 0x8650
call fcn.1400f1270
sub rsp, rax
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x8670], rbx
mov qword [rsp + 0x8678], rsi
mov qword [rsp + 0x8680], rdi
mov qword [rsp + 0x8688], r12
mov rax, qword [0x1401412b0]
xor rax, rsp
mov qword [rbp + 0x8540], rax
lea rax, [rbp + 0x1440]
mov qword [rsp + 0x20], rax
lea r9, [0x1400d9f44]
mov r8, qword [0x140147cd8]
lea rdx, str.VIRSCAN
mov rcx, qword [0x14017f140]
call qword [sym.imp.USER32.dll_DialogBoxParamW]
xor r12d, r12d
test rax, rax
je 0x1400d9f13
lea rcx, [rsp + 0x50]
call fcn.14003da68
nop
lea esi, [r12 + 1]
mov r13d, 0x800
cmp byte [0x140147ca4], r12b
je 0x1400d9968
mov r8d, r13d
lea rdx, [rbp + 0x340]
lea rcx, [0x14016b340]
call fcn.140005104
lea rdx, [rbp + 0x340]
lea rcx, [rsp + 0x50]
call fcn.14003e044
lea rcx, [rsp + 0x50]
call fcn.14001a040
jmp 0x1400d99c3
lea rcx, [rbp - 0x40]
call fcn.14008e328
nop
mov r8b, sil
lea rdx, [rbp - 0x40]
lea rcx, [0x14016e120]
call fcn.1400402c8
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], r12b
mov r9d, 0xa
lea r8, [rsp + 0x50]
lea edx, [r9 - 7]
lea rcx, [rbp - 0x40]
call fcn.1400a3e88
nop
test al, al
jne 0x1400d99ba
lea rcx, [rbp - 0x40]
call fcn.140004178
jmp 0x1400d9f09
lea rcx, [rbp - 0x40]
call fcn.140004178
cmp qword [rsp + 0x58], r12
jne 0x1400d99fe
mov ecx, 0x35f
call fcn.1400881f8
mov rbx, rax
mov ecx, 0x35e
call fcn.1400881f8
mov rdx, rax
mov r9d, 0x30
mov r8, rbx
mov rcx, qword [0x140147cd8]
call fcn.1400c6a54
jmp 0x1400d9f09
xor r9d, r9d
mov r8, r13
lea rdx, [rbp + 0x4540]
lea rcx, str.Rar_VR
call fcn.1400c57a4
test al, al
je 0x1400d9f09
mov rdx, r13
lea rcx, [rbp + 0x5540]
call fcn.1400c6754
mov r14b, r12b
mov rdi, r12
cmp qword [rsp + 0x58], r12
jbe 0x1400d9bd8
cmp byte [0x140147ca6], r12b
jne 0x1400d9bd8
lea rcx, [rbp + 0x4540]
call fcn.1400c6e84
mov r8, rdi
lea rdx, [rbp + 0x340]
lea rcx, [rsp + 0x50]
call fcn.14003dc2c
mov rcx, rax
call fcn.1400796e4
lea rdx, [rbp + 0x3540]
sub rdx, rax
movzx ecx, word [rax]
mov word [rdx + rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x1400d9a7e
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x3540]
call fcn.140069798
test eax, eax
je 0x1400d9af1
mov dl, sil
lea rcx, [rbp + 0x3540]
call fcn.140079424
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x3540]
call fcn.140069798
test eax, eax
je 0x1400d9af1
mov ecx, 0x1f7
call fcn.1400881f8
mov rcx, rax
lea rdx, [rbp + 0x3540]
call fcn.1400d2e64
lea rcx, [0x14017f200]
call fcn.14006355c
jmp 0x1400d9bca
lea rcx, [rbp + 0x3540]
call fcn.1400c6e84
mov cl, sil
call fcn.1400c0990
mov r8, rdi
lea rdx, [rbp + 0x340]
lea rcx, [rsp + 0x50]
call fcn.14003dc2c
mov rcx, rax
mov r8, r13
lea rdx, [0x14015fb52]
call fcn.140077d8c
cmp byte [0x140147ca4], r12b
jne 0x1400d9b4d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14015fb52]
lea rcx, [0x14016b340]
call fcn.140005d3c
cmp byte [0x14016b7b0], r12b
jne 0x1400d9b5f
cmp byte [0x14016b6fb], r12b
je 0x1400d9b62
mov r14b, sil
mov eax, dword [0x14016b344]
mov dword [0x14015caf4], eax
lea rcx, [0x140160d98]
call fcn.14008e520
lea rcx, [0x140160b58]
call fcn.14008e520
lea rdx, [0x14010f558]
lea rcx, [0x140160b58]
call fcn.14008e364
mov ebx, dword [0x1401aa40c]
mov r8b, sil
xor edx, edx
lea rcx, [0x14016b340]
call fcn.140004c98
movzx eax, byte [0x140147ca7]
cmp ebx, dword [0x1401aa40c]
cmovne eax, esi
mov byte [0x140147ca7], al
test al, al
jne 0x1400d9bd8
add rdi, rsi
cmp rdi, qword [rsp + 0x58]
jb 0x1400d9a3f
mov sil, r12b
cmp byte [0x140147ca7], r12b
jne 0x1400d9e64
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14015fb52]
lea ecx, [r9 + 0xb]
call fcn.1400c83d4
mov sil, al
lea rdx, [rbp + 0x1440]
lea rcx, [0x140118c20]
call fcn.1400c6f1c
mov ecx, 0x543
call fcn.1400881f8
mov rcx, rax
call fcn.1400c6f1c
lea rcx, [rbp + 0x4540]
call fcn.1400c6e84
lea rdx, [rbp + 0x4540]
lea rcx, [rbp + 0x2440]
call fcn.1400d341c
mov dword [rsp + 0x20], 0x2000
mov r9d, 0x2b8
lea r8, [rbp + 0x80]
xor edx, edx
lea rcx, [rbp + 0x1440]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov rcx, rax
shr rcx, 0x10
test cx, cx
jne 0x1400d9dc9
mov ecx, 0x4550
cmp ax, cx
je 0x1400d9c91
mov ecx, 0x5a4d
cmp ax, cx
jne 0x1400d9dc9
mov rcx, r12
movzx eax, word [rbp + rcx + 0x4540]
mov word [rbp + rcx + 0x3540], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d9c94
mov rdx, r13
lea rcx, [rbp + 0x3540]
call fcn.140077d10
lea rax, [rbp + 0x3540]
or rdi, 0xffffffffffffffff
mov rbx, rdi
inc rbx
cmp word [rax + rbx*2], r12w
jne 0x1400d9cca
call fcn.1400f80bc
mov r9d, eax
mov rdx, r13
sub rdx, rbx
lea rcx, [rbp + 0x3540]
lea rcx, [rcx + rbx*2]
lea r8, str.Rar_Scan_d.bat
call fcn.1400026d0
lea rdx, [0x14010fb00]
lea rcx, [rbp + 0x3540]
call fcn.14006a2ec
mov rbx, rax
test rax, rax
je 0x1400d9dc9
cmp word [rbp + 0x1440], 0x22
je 0x1400d9d31
mov rdx, r13
lea rcx, [rbp + 0x1440]
call fcn.1400a8580
lea rax, [rbp + 0x2440]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1440]
lea r8, str.__s__s_r_n_echo._r_n_pause
mov edx, 0x1000
lea rcx, [rbp + 0x6540]
call fcn.1400026d0
mov r8d, 0x1000
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x6540]
call fcn.140091000
mov byte [rbp + 0x133f], r12b
lea rax, [rbp + 0x340]
inc rdi
cmp byte [rax + rdi], r12b
jne 0x1400d9d83
mov r8, rdi
mov r9, rbx
mov edx, 1
lea rcx, [rbp + 0x340]
call fcn.1400f8a38
mov rcx, rbx
call fcn.1400f866c
mov r8, r13
lea rdx, [rbp + 0x3540]
lea rcx, [rbp + 0x1440]
call fcn.14008e2e4
mov word [rbp + 0x2440], r12w
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], r12b
lea r9, [rbp + 0x2440]
lea r8, [rbp + 0x4540]
lea rdx, [rbp + 0x1440]
xor ecx, ecx
call fcn.1400e0aac
test al, al
je 0x1400d9e4b
mov ebx, 0xc8
mov edx, ebx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea edi, [rbx + 0x3a]
jmp 0x1400d9e3a
cmp byte [0x140147ca6], r12b
jne 0x1400d9e3e
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14004628c
mov edx, ebx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, edi
je 0x1400d9e14
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400d9e64
mov ecx, 0x201
call fcn.1400881f8
mov rcx, rax
lea rdx, [rbp + 0x1440]
call fcn.1400d2e64
lea rcx, [rbp + 0x5540]
call fcn.1400c6e84
test r14b, r14b
je 0x1400d9eea
mov rcx, r12
movzx eax, word [rbp + rcx + 0x4540]
mov word [rbp + rcx + 0x3540], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d9e78
lea rcx, [rbp + 0x3540]
call fcn.1400796e4
mov ecx, SHRestricted
mov word [rax + 0xc], cx
lea rcx, [rbp + 0x3540]
call fcn.140069390
test al, al
jne 0x1400d9eea
lea rdx, [rbp + 0x3540]
lea rcx, [rbp + 0x4540]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x1400d9eea
mov rcx, r12
movzx eax, word [rbp + rcx + 0x3540]
mov word [rbp + rcx + 0x4540], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400d9ed1
lea rcx, [rbp + 0x4540]
call fcn.1400c4b84
test sil, sil
je 0x1400d9f09
mov rcx, qword [0x140148cf0]
call qword [sym.imp.USER32.dll_DestroyWindow]
nop
lea rcx, [rsp + 0x50]
call fcn.14003dbb8
mov rcx, qword [rbp + 0x8540]
xor rcx, rsp
call fcn.1400f12e0
lea r11, [rsp + 0x8650]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop rbp
ret