Function at 0x14003d410
Capabilities:
Create directory
Set file attributes
Write file on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
movaps xmmword [rsp + 0xc0], xmm6
cmp byte [0x140289770], 0
jne 0x14003d8bc
movabs rdi, 0x7fffffffffffffef
movzx r14d, byte [0x140288308]
mov eax, r14d
and al, 1
je 0x14003d457
mov r14, qword [0x140288310]
jmp 0x14003d45a
shr r14, 1
lea rbx, [r14 + 1]
cmp rbx, rdi
ja 0x14003d939
cmp rbx, 0xa
ja 0x14003d488
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
add bl, bl
mov byte [rsp + 0x40], bl
xor esi, esi
jmp 0x14003d4c3
mov r15, rbx
or r15, 7
inc r15
js 0x14003d943
lea rcx, [r15 + r15]
call fcn.14006fb50
mov rsi, rax
or r15, 1
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbx
movzx eax, byte [0x140288308]
and al, 1
mov ebx, r15d
test bl, 1
lea rbx, [rsp + 0x42]
cmove rsi, rbx
test al, al
je 0x14003d4dc
mov rdx, qword [0x140288318]
jmp 0x14003d4e3
lea rdx, [0x14028830a]
lea r8, [r14 + r14]
mov rcx, rsi
call sub.msvcrt.dll_memmove
mov dword [rsi + r14*2], 0x5c
lea rdx, str.secles
lea rcx, [rsp + 0x40]
call fcn.140072e90
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x60], 1
je 0x14003d535
mov rcx, qword [rsp + 0x70]
jmp 0x14003d53a
lea rcx, [rsp + 0x62]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
test byte [rsp + 0x60], 1
je 0x14003d553
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x40], 1
je 0x14003d564
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
movzx r14d, byte [0x140288308]
mov eax, r14d
and al, 1
je 0x14003d57c
mov r14, qword [0x140288310]
jmp 0x14003d57f
shr r14, 1
lea r15, [r14 + 1]
cmp r15, rdi
ja 0x14003d939
cmp r15, 0xa
ja 0x14003d5af
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
add r15b, r15b
mov byte [rsp + 0x40], r15b
xor esi, esi
jmp 0x14003d5ea
mov r12, r15
or r12, 7
inc r12
js 0x14003d943
lea rcx, [r12 + r12]
call fcn.14006fb50
mov rsi, rax
or r12, 1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
movzx eax, byte [0x140288308]
and al, 1
mov r15d, r12d
test r15b, 1
cmove rsi, rbx
test al, al
je 0x14003d5ff
mov rdx, qword [0x140288318]
jmp 0x14003d606
lea rdx, [0x14028830a]
lea r8, [r14 + r14]
mov rcx, rsi
call sub.msvcrt.dll_memmove
mov dword [rsi + r14*2], 0x5c
lea rdx, str.secles
lea rcx, [rsp + 0x40]
call fcn.140072e90
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x60], 1
je 0x14003d658
mov rcx, qword [rsp + 0x70]
jmp 0x14003d65d
lea rcx, [rsp + 0x62]
mov edx, 2
call qword [sym.imp.KERNEL32.DLL_SetFileAttributesW]
test byte [rsp + 0x60], 1
je 0x14003d679
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x40], 1
je 0x14003d68a
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
movzx ebx, byte [0x140288308]
mov ecx, ebx
and cl, 1
je 0x14003d6a1
mov rbx, qword [0x140288310]
jmp 0x14003d6a4
shr rbx, 1
lea rsi, [rbx + 1]
cmp rsi, rdi
ja 0x14003d948
cmp rsi, 0xa
ja 0x14003d6dd
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
add sil, sil
mov byte [rsp + 0x80], sil
xor eax, eax
jmp 0x14003d71e
mov rdi, rsi
or rdi, 7
inc rdi
js 0x14003d943
lea rcx, [rdi + rdi]
call fcn.14006fb50
or rdi, 1
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x88], rsi
movzx ecx, byte [0x140288308]
and cl, 1
mov esi, edi
test sil, 1
lea rsi, [rsp + 0x82]
cmovne rsi, rax
test cl, cl
je 0x14003d73b
mov rdx, qword [0x140288318]
jmp 0x14003d742
lea rdx, [0x14028830a]
lea r8, [rbx + rbx]
mov rcx, rsi
call sub.msvcrt.dll_memmove
mov dword [rsi + rbx*2], 0x5c
lea rdx, str.secles
lea rcx, [rsp + 0x80]
call fcn.140072e90
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xb0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xa0], xmm0
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
lea rdx, [0x1401f55f2]
lea rcx, [rsp + 0xa0]
call fcn.140072e90
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
lea rdx, str.ReadMe.txt
lea rcx, [rsp + 0x40]
call fcn.140072e90
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x60], 1
je 0x14003d7fc
mov rcx, qword [rsp + 0x70]
jmp 0x14003d801
lea rcx, [rsp + 0x62]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.DLL_CreateFileW]
mov rsi, rax
test byte [rsp + 0x60], 1
jne 0x14003d8d5
test byte [rsp + 0x40], 1
jne 0x14003d8ea
test byte [rsp + 0xa0], 1
jne 0x14003d902
test byte [rsp + 0x80], 1
jne 0x14003d91d
cmp rsi, 0xffffffffffffffff
je 0x14003d8b5
movzx eax, byte [0x140288420]
mov r8, rax
shr r8, 1
test al, 1
lea rdx, [0x140288421]
cmovne rdx, qword [0x140288430]
cmovne r8d, dword [0x140288428]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_WriteFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_FlushFileBuffers]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov byte [0x140289770], 1
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x40], 1
je 0x14003d844
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
test byte [rsp + 0xa0], 1
je 0x14003d852
mov rcx, qword [rsp + 0xb0]
call fcn.14006fbd0
test byte [rsp + 0x80], 1
je 0x14003d860
mov rcx, qword [rsp + 0x90]
call fcn.14006fbd0
cmp rsi, 0xffffffffffffffff
jne 0x14003d866
jmp 0x14003d8b5
lea rcx, [rsp + 0x40]
call fcn.140002ec0
call fcn.140002f60
lea rcx, [rsp + 0x80]
call fcn.140002ec0
mov rsi, rax
test byte [rsp + 0x60], 1
jne 0x14003d97f
test byte [rsp + 0x40], 1
jne 0x14003d99c
test byte [rsp + 0xa0], 1
jne 0x14003d9bf
test byte [rsp + 0x80], 1
jne 0x14003d9e5
jmp 0x14003da1d
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x40], 1
je 0x14003d966
jmp 0x14003d99c
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
test byte [rsp + 0xa0], 1
je 0x14003d970
jmp 0x14003d9bf
mov rcx, qword [rsp + 0xb0]
call fcn.14006fbd0
test byte [rsp + 0x80], 1
jne 0x14003d9e5
jmp 0x14003da1d
mov rcx, qword [rsp + 0x90]
jmp 0x14003da18
call fcn.14006fbd0
mov rcx, rsi
call fcn.14009a110
int3