Function at 0x140146450
Capabilities:
Create directory
Delete file
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x490]
sub rsp, 0x590
mov rax, qword [0x1404779b8]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov r12, rdx
mov qword [rsp + 0x38], rdx
mov r13, rcx
mov qword [rsp + 0x30], rcx
mov qword [rbp + 0x78], rdx
xor edi, edi
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], 7
mov word [rbp + 0xe0], di
xor edx, edx
mov rcx, qword [str.C:ProgramDataASUSASUS_System_Control_InterfaceAsusSystemAnalysis_tmp_]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14014652e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14014652e
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], 7
lea r8d, [rdi + 0x1d]
lea rdx, str._s______Path___s__not_exists_n
lea rcx, [rbp - 0x50]
call fcn.140101ff0
mov r8, qword [str.C:ProgramDataASUSASUS_System_Control_InterfaceAsusSystemAnalysis_tmp_]
lea rdx, str.DownloadBiosFile
lea rcx, [rbp - 0x50]
call fcn.1401a82f0
movups xmm0, xmmword [rbp + 0xe0]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp + 0xf0]
movups xmmword [r13 + 0x10], xmm1
jmp 0x140146ff8
mov rbx, r12
mov r15, qword [r12 + 0x18]
cmp r15, 8
jb 0x140146540
mov rbx, qword [r12]
mov r14, qword [r12 + 0x10]
mov rsi, 0xffffffffffffffff
test r14, r14
je 0x140146613
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x130]
call fcn.1402539e0
lea rcx, [0x14034ef6c]
lea r8, [0x14034ef6e]
mov edx, 0x100
nop dword [rax]
movzx eax, word [rcx]
cmp ax, dx
jae 0x1401465cd
movzx eax, al
mov byte [rbp + rax + 0x130], 1
add rcx, 2
cmp rcx, r8
jne 0x140146580
lea rcx, [r14 - 1]
mov rax, rsi
cmp rcx, rsi
cmovb rax, rcx
lea rcx, [rbx + rax*2]
nop
movzx eax, word [rcx]
cmp ax, dx
jae 0x1401465c2
cmp byte [rbp + rax + 0x130], 0
jne 0x14014660b
cmp rcx, rbx
je 0x140146613
sub rcx, 2
jmp 0x1401465b0
lea rcx, [r14 - 1]
mov rax, rsi
cmp rcx, rsi
cmovb rax, rcx
lea rcx, [rbx + rax*2]
nop
mov edx, 1
lea rax, [0x14034ef6c]
movzx r8d, word [rcx]
cmp word [rax], r8w
je 0x14014660b
add rax, 2
sub rdx, 1
jne 0x1401465f0
cmp rcx, rbx
je 0x140146613
sub rcx, 2
jmp 0x1401465e0
sub rcx, rbx
sar rcx, 1
jmp 0x140146616
mov rcx, rsi
inc rcx
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], 7
mov word [rbp + 0xa0], di
cmp r14, rcx
jb 0x14014706a
sub r14, rcx
mov rdi, rsi
cmp r14, 0xffffffffffffffff
cmovb rdi, r14
mov rax, r12
cmp r15, 8
jb 0x14014665d
mov rax, qword [r12]
lea r14, [rax + rcx*2]
movabs rax, 0x7ffffffffffffffe
movabs rdx, 0x7fffffffffffffff
mov ecx, 0xa
cmp rdi, 7
ja 0x1401466b5
lfence
mov qword [rbp + 0xb0], rdi
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.140253310
xor r9d, r9d
mov word [rbp + rbx + 0xa0], r9w
mov r15, qword [rbp + 0xa0]
jmp 0x140146711
cmp rdi, rax
ja 0x140147070
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x140146782
mov rbx, rax
mov rcx, rdx
lfence
add rcx, rcx
call fcn.1400eb1a0
mov r15, rax
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], rbx
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r14
mov rcx, rax
call fcn.140253310
xor r9d, r9d
mov word [r15 + rbx], r9w
mov qword [rbp + 0xa0], r15
mov r14, qword [str.C:ProgramDataASUSASUS_System_Control_InterfaceAsusSystemAnalysis_tmp_]
mov rdi, rsi
nop dword [rax + rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x140146720
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1401467ec
lea rax, [rcx + rdi]
mov qword [rbp + 0xb0], rax
lea r12, [rbp + 0xa0]
cmp rdx, 8
cmovae r12, r15
lea r8, [rcx + rcx]
lea rax, [r14 + rdi*2]
cmp rax, r12
jbe 0x1401467a6
lea rax, [r8 + r12]
cmp r14, rax
ja 0x1401467a6
cmp r12, r14
ja 0x14014679b
mov r15, r9
jmp 0x1401467a9
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x140147058
jmp 0x1401466d4
mov r15, r12
sub r15, r14
sar r15, 1
jmp 0x1401467a9
mov r15, rdi
lea rcx, [r12 + rdi*2]
add r8, 2
mov rdx, r12
call fcn.140253310
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r14
mov rcx, r12
call fcn.140253310
lea rcx, [r12 + rbx]
mov r8, rdi
sub r8, r15
add r8, r8
lea rax, [r15 + rdi]
lea rdx, [r14 + rax*2]
call fcn.140253310
mov r12, qword [rsp + 0x38]
jmp 0x14014680b
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.14013df00
lea rax, [rbp + 0x38]
mov qword [rbp + 0x10], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x58], rax
xor r15d, r15d
mov qword [rbp + 0x70], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r14, qword [rbp + 0xb0]
lea rdi, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rdi, qword [rbp + 0xa0]
cmp r14, 8
jae 0x140146864
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x48], xmm0
lea ebx, [r15 + 7]
jmp 0x1401468b6
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140147076
lfence
add rcx, rcx
call fcn.1400eb1a0
mov qword [rsp + 0x48], rax
lea r8, [r14*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.140253310
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rbx
lfence
mov rdx, r12
lea rcx, [rbp + 0x18]
call fcn.1400f4280
nop
xor r9d, r9d
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.1401ea910
cmp eax, 6
jne 0x140146f76
lea rcx, [rbp + 0x120]
call qword [sym.imp.OLE32.dll_CoCreateGuid]
test eax, eax
js 0x140146f76
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x120]
call qword [sym.imp.OLE32.dll_StringFromCLSID]
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], r15w
mov rdx, qword [str.C:ProgramDataASUSASUS_System_Control_InterfaceAsusSystemAnalysis_tmp_]
mov r8, rsi
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140146940
lea rcx, [rbp + 0x80]
call fcn.140101ff0
nop
mov rax, qword [rsp + 0x30]
mov rdx, rsi
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140146960
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
sub rax, rcx
lfence
cmp rdx, rax
ja 0x1401469c4
mov rdi, qword [rbp + 0x90]
add rdi, rdx
mov qword [rbp + 0x90], rdi
lea rbx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rbx, qword [rbp + 0x80]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, qword [rsp + 0x30]
call fcn.140253310
mov word [rbx + rdi*2], r15w
jmp 0x1401469dd
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x30]
xor r8d, r8d
lea rcx, [rbp + 0x80]
call fcn.14012c340
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], 7
mov r8d, 0x1f
lea rdx, [0x14034ef70]
lea rcx, [rbp - 0x30]
call fcn.140101ff0
lea r9, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r9, qword [rbp + 0x80]
lea r8, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae r8, qword [rbp + 0xa0]
lea rdx, str.DownloadBiosFile
lea rcx, [rbp - 0x30]
call fcn.1401a82f0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov rdi, qword [rbp + 0x90]
lea r14, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r14, qword [rbp + 0x80]
cmp rdi, 8
jae 0x140146a8d
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x68], xmm0
mov ebx, 7
jmp 0x140146adf
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14014707c
lfence
add rcx, rcx
call fcn.1400eb1a0
mov qword [rsp + 0x68], rax
lea r8, [rdi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.140253310
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
mov r14, qword [rbp + 0xb0]
lea rdi, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rdi, qword [rbp + 0xa0]
cmp r14, 8
jae 0x140146b26
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x78], xmm0
mov ebx, 7
jmp 0x140146b77
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140147082
lfence
add rcx, rcx
call fcn.1400eb1a0
mov qword [rbp - 0x78], rax
lea r8, [r14*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.140253310
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
mov ecx, dword [0x14047cb80]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x14047bba4], ecx
jg 0x140147088
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x78]
lea rcx, [0x14047bba0]
call fcn.14021a660
test al, al
je 0x140146f24
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rbp + 0x90]
mov r8, qword [rbp + 0x98]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x140146c2a
lea rcx, [rdx + 1]
mov qword [rbp + 0x90], rcx
lea rax, [rbp + 0x80]
cmp r8, 8
cmovae rax, qword [rbp + 0x80]
mov r8d, 0x5c
mov word [rax + rdx*2], r8w
mov word [rax + rcx*2], r15w
jmp 0x140146c50
lfence
mov qword [rsp + 0x20], 1
lea r9, [0x14034efb0]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x80]
call fcn.14012c340
mov r14, qword [rbp + 0x90]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r14
cmp rax, 1
jb 0x1401470be
lea r12, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r12, qword [rbp + 0x80]
mov qword [rbp + 0xc0], r15
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], r15
lea r15, [r14 + 1]
mov ebx, 7
lea rdi, [rbp + 0xc0]
cmp r15, rbx
jbe 0x140146ce4
mov rbx, r15
or rbx, 7
cmp rbx, rcx
jbe 0x140146d65
mov rbx, rcx
movabs rcx, 0x7fffffffffffffff
lfence
add rcx, rcx
call fcn.1400eb1a0
mov rdi, rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.140253310
mov eax, 0x2a
mov word [rdi + rbx], ax
xor r14d, r14d
mov word [rdi + r15*2], r14w
lea rcx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 8
cmovae rcx, qword [rbp + 0xc0]
lea rdx, [rbp + 0x230]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
nop dword [rax]
test byte [rbp + 0x230], 0x10
je 0x140146d8e
lea rdx, [rbp + 0x230]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140146d40
xor r15d, r15d
jmp 0x140146ed9
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14014705e
jmp 0x140146ccf
mov qword [rbp - 0x10], r14
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov r8d, SafeArrayPutElement
lea rdx, str._s______Filename_is___s_
lea rcx, [rbp - 0x10]
call fcn.140101ff0
lea r8, [rbp + 0x25c]
lea rdx, str.DownloadBiosFile
lea rcx, [rbp - 0x10]
call fcn.1401a82f0
mov r12, qword [rbp + 0x90]
lea rax, [rbp + 0x25c]
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140146de0
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r12
cmp rax, rsi
jb 0x1401470c4
lea r15, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r15, qword [rbp + 0x80]
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], r14
lea r14, [rsi + r12]
mov ebx, 7
lea rdi, [rbp + 0x100]
cmp r14, rbx
jbe 0x140146e76
mov rbx, r14
or rbx, 7
cmp rbx, rcx
jbe 0x14014702d
mov rbx, rcx
movabs rcx, 0x7fffffffffffffff
lfence
add rcx, rcx
call fcn.1400eb1a0
mov rdi, rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], rbx
lea rbx, [r12 + r12]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.140253310
lea rcx, [rbx + rdi]
lea r8, [rsi + rsi]
lea rdx, [rbp + 0x25c]
call fcn.140253310
xor r15d, r15d
mov word [rdi + r14*2], r15w
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x118], 7
mov rdx, qword [rbp + 0xd8]
cmp rdx, 8
jb 0x140146f1f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140146f1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401470ca
call fcn.14021ecec
mov r12, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.OLE32.dll_CoTaskMemFree]
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140146f76
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140146f71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401470d0
call fcn.14021ecec
movups xmm0, xmmword [rbp + 0xe0]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp + 0xf0]
movups xmmword [r13 + 0x10], xmm1
mov qword [rbp + 0xf8], 7
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x140146fdb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140146fd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147052
call fcn.14021ecec
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], 7
mov word [rbp + 0xa0], r15w
lfence
mov rcx, r12
call fcn.14011ed90
mov rax, r13
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.14021f250
mov rbx, qword [rsp + 0x5e0]
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140147064
jmp 0x140146e61
call fcn.140260f54
int3
call fcn.1401018e0
nop
call fcn.1401018e0
nop
call fcn.1401018e0
nop
call fcn.14014d790
int3
call fcn.140101a70
nop
call fcn.1401018e0
nop
call fcn.1401018e0
nop
call fcn.1401018e0
int3
lea rcx, [0x14047bba4]
call fcn.14021f950
cmp dword [0x14047bba4], 0xffffffff
jne 0x140146ba6
lea rcx, [0x14033deb0]
call fcn.14021f120
lea rcx, [0x14047bba4]
call fcn.14021f8e4
jmp 0x140146ba6
call fcn.140101a70
nop
call fcn.140101a70
nop
call fcn.140260f54
nop
call fcn.140260f54
int3