Function at 0x14000d600
Capabilities:
Create directory
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15d, 8
mov r8d, 0x208
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, qword [0x140028610]
lea rcx, [rbp - 0x49]
mov rsi, rax
mov dword [rbp - 0x49], 0x8002b
mov eax, 0x45
mov dword [rbp - 0x45], 0xc0029
mov word [rbp - 0x31], ax
mov dword [rbp - 0x41], 0x24003a
mov dword [rbp - 0x3d], 0x1a0032
mov dword [rbp - 0x39], 0x2c002e
mov dword [rbp - 0x35], 0x2c0018
call fcn.1400034e0
mov rcx, rax
mov r8d, 0x104
mov rdx, rsi
call rbx
xor r13d, r13d
mov r12d, r13d
mov qword [rbp + 7], r13
mov edi, r13d
mov qword [rbp + 0xf], r13
cmp word [rsi], r13w
je 0x14000d6ba
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], r13w
jne 0x14000d6b0
lea rbx, [rdi*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rdi, rdi
je 0x14000d702
mov r9, rsi
mov rdx, rax
sub r9, rax
mov r8, rdi
nop dword [rax + rax]
movzx ecx, word [r9 + rdx]
mov word [rdx], cx
lea rdx, [rdx + 2]
sub r8, 1
jne 0x14000d6f0
mov r8, rdi
mov word [rax + rdi*2], r13w
mov rdx, r14
lea rcx, [rbp + 0x27]
call fcn.140001ae0
lea r8, [rbp + 0x27]
lea rdx, [rbp - 0x49]
lea rcx, [rbp + 7]
call fcn.140001b70
mov rbx, rax
lea rax, [rbp + 7]
cmp rax, rbx
je 0x14000d75b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbx + 8]
lea rcx, [rbp + 7]
mov rdx, qword [rbx]
call fcn.140001ae0
mov r12, qword [rbp + 7]
mov rbx, qword [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 0x49
mov dword [rbp - 0x49], 0xa003b
lea rcx, [rbp - 0x49]
mov word [rbp - 0x19], ax
mov dword [rbp - 0x45], 0x2e0003
mov dword [rbp - 0x41], 0xa0004
mov dword [rbp - 0x3d], 0x250011
mov dword [rbp - 0x39], 0x19000c
mov dword [rbp - 0x35], 0x3a0010
mov dword [rbp - 0x31], 0x14002c
mov dword [rbp - 0x2d], 0xe0000
mov dword [rbp - 0x29], 0x30001b
mov dword [rbp - 0x25], 0x2a0013
mov dword [rbp - 0x21], 0xf0007
mov dword [rbp - 0x1d], 0x250012
call fcn.140002970
mov r14, rax
mov rdi, r13
cmp word [rax], r13w
je 0x14000d80a
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x14000d800
lea rbx, [rdi*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rdi, rdi
je 0x14000d852
mov rdx, rax
sub r14, rax
mov r8, rdi
nop dword [rax + rax]
movzx ecx, word [r14 + rdx]
mov word [rdx], cx
lea rdx, [rdx + 2]
sub r8, 1
jne 0x14000d840
mov r8, rdi
mov word [rax + rdi*2], r13w
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.140001ae0
lea r8, [rbp - 0x49]
lea rdx, [rbp + 0x27]
lea rcx, [rbp + 7]
call fcn.140001b70
mov rbx, rax
lea rax, [rbp + 7]
cmp rax, rbx
je 0x14000d8ab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbx + 8]
lea rcx, [rbp + 7]
mov rdx, qword [rbx]
call fcn.140001ae0
mov r12, qword [rbp + 7]
mov rbx, qword [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov r15, r13
mov qword [rbp + 0x17], r13
mov rdi, r13
mov qword [rbp + 0x1f], r13
cmp word [rsi], r13w
je 0x14000d900
inc rdi
cmp word [rsi + rdi*2], r13w
jne 0x14000d8f6
lea rbx, [rdi*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rdi, rdi
je 0x14000d941
mov rdx, rax
sub rsi, rax
mov r8, rdi
movzx ecx, word [rsi + rdx]
mov word [rdx], cx
lea rdx, [rdx + 2]
sub r8, 1
jne 0x14000d930
mov r8, rdi
mov word [rax + rdi*2], r13w
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.140001ae0
lea r8, [rbp - 0x49]
lea rdx, [rbp + 0x27]
lea rcx, [rbp + 0x17]
call fcn.140001b70
mov rbx, rax
lea rax, [rbp + 0x17]
cmp rax, rbx
je 0x14000d99a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbx + 8]
lea rcx, [rbp + 0x17]
mov rdx, qword [rbx]
call fcn.140001ae0
mov r15, qword [rbp + 0x17]
mov rbx, qword [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 0x6e
mov dword [rbp - 0x49], 0xa003b
lea rcx, [rbp - 0x49]
mov word [rbp + 3], ax
mov dword [rbp - 0x45], 0x2e0003
mov dword [rbp - 0x41], 0xa0004
mov dword [rbp - 0x3d], 0x250011
mov dword [rbp - 0x39], 0x19000c
mov dword [rbp - 0x35], 0x3a0010
mov dword [rbp - 0x31], 0x14002c
mov dword [rbp - 0x2d], 0xe0000
mov dword [rbp - 0x29], 0x30001b
mov dword [rbp - 0x25], 0x2a0013
mov dword [rbp - 0x21], 0xf0007
mov dword [rbp - 0x1d], 0x250012
mov dword [rbp - 0x19], 0x3b0015
mov dword [rbp - 0x15], 0x20000c
mov dword [rbp - 0x11], 0x40000
mov dword [rbp - 0xd], 0x330000
mov dword [rbp - 9], 0xf0021
mov dword [rbp - 5], 0x23006f
mov dword [rbp - 1], 0xd000c
call fcn.1400031b0
mov rsi, rax
mov rdi, r13
cmp word [rax], r13w
je 0x14000da7a
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x14000da70
lea rbx, [rdi*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rdi, rdi
je 0x14000dac1
mov rcx, rax
sub rsi, rax
mov r8, rdi
nop word [rax + rax]
movzx edx, word [rsi + rcx]
mov word [rcx], dx
lea rcx, [rcx + 2]
sub r8, 1
jne 0x14000dab0
mov r8, rdi
mov word [rax + rdi*2], r13w
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.140001ae0
lea r8, [rbp - 0x49]
lea rdx, [rbp + 0x27]
lea rcx, [rbp + 0x17]
call fcn.140001b70
mov rbx, rax
lea rax, [rbp + 0x17]
cmp rax, rbx
je 0x14000db1a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbx + 8]
lea rcx, [rbp + 0x17]
mov rdx, qword [rbx]
call fcn.140001ae0
mov r15, qword [rbp + 0x17]
mov rbx, qword [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov dword [rsp + 0x28], pe_nt_image_headers64
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateFileW]
lea r9, [rbp + 0x67]
mov qword [rsp + 0x20], r13
mov rcx, rax
lea rdx, section..data
mov r8d, 0x155b4
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret