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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rsi, r8
mov r14, rdx
mov r15, rcx
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
jne 0x1400377ca
mov eax, 2
jmp 0x14003797f
xor r12d, r12d
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], r12w
jne 0x1400377f0
lea rcx, [rsp + 0x58]
call fcn.140014c30
nop
lea r8, str..meta
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x30]
call fcn.14001de30
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14003785d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
cmp rdx, 0x1000
jb 0x140037858
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140037be7
mov rcx, r8
call fcn.14003f840
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov rdx, r14
lea rcx, [rbp]
call fcn.14001f160
cmp qword [rax + 0x18], 8
jb 0x140037887
mov rax, qword [rax]
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x1400378d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
cmp rdx, 0x1000
jb 0x1400378d0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140037bed
mov rcx, r8
call fcn.14003f840
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80000080
mov edi, 2
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140037938
mov dword [rbp + 0x50], r12d
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
sub r8, rdx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
test eax, eax
jne 0x14003799b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 6
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14003797d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
cmp rdx, 0x1000
jb 0x140037978
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140037be1
mov rcx, r8
call fcn.14003f840
mov eax, edi
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1400213c0
test al, al
je 0x140037b8c
mov r9, qword [rsp + 0x48]
mov r14, r9
mov rdx, qword [rsp + 0x40]
sub r14, rdx
lea r15, [r14 + 3]
and r15, 0xfffffffffffffffc
lea rcx, [r15 + 0x20]
cmp rcx, r14
jae 0x1400379f1
lea rax, [rcx + rdx]
mov qword [rsp + 0x48], rax
jmp 0x140037a34
jbe 0x140037a34
mov rax, qword [rsp + 0x50]
sub rax, rdx
cmp rcx, rax
jbe 0x140037a13
lea r8, [rbp + 0x50]
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.140019fc0
jmp 0x140037a2f
sub rcx, r14
lea rbx, [r9 + rcx]
mov r8, rbx
sub r8, r9
xor edx, edx
mov rcx, r9
call fcn.140043980
mov qword [rsp + 0x48], rbx
mov rdx, qword [rsp + 0x40]
movups xmm0, xmmword [0x14008a240]
movups xmmword [rdx + r15], xmm0
movups xmm1, xmmword [0x14008a250]
movups xmmword [rdx + r15 + 0x10], xmm1
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
sub rdx, rcx
lea r8, [rbp - 0x10]
call fcn.140015dc0
mov r9, qword [rsp + 0x48]
mov rcx, r9
mov rdx, qword [rsp + 0x40]
sub rcx, rdx
cmp r14, rcx
jae 0x140037a83
lea rax, [rdx + r14]
mov qword [rsp + 0x48], rax
jmp 0x140037ac1
jbe 0x140037ac1
mov rax, qword [rsp + 0x50]
sub rax, rdx
cmp r14, rax
jbe 0x140037aa5
lea r8, [rbp + 0x50]
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.140019fc0
jmp 0x140037ac1
sub r14, rcx
lea rbx, [r9 + r14]
mov r8, rbx
sub r8, r9
xor edx, edx
mov rcx, r9
call fcn.140043980
mov qword [rsp + 0x48], rbx
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
mov dword [rbp - 0x78], 0x202
mov qword [rbp - 0x64], r12
mov qword [rbp - 0x5c], r12
mov qword [rbp - 0x54], r12
mov qword [rbp - 0x4c], r12
mov dword [rbp - 0x44], r12d
mov byte [rbp - 0x40], 0
mov dword [rbp - 0x80], 0x4d524355
mov dword [rbp - 0x7c], 0x41
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x74], xmm0
lea r8, [rbp - 0x64]
sub r8, rsi
nop dword [rax + rax]
movzx eax, byte [rsi]
mov byte [rsi + r8], al
lea rsi, [rsi + 1]
test al, al
jne 0x140037b10
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80000080
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
inc rax
test rax, 0xfffffffffffffffe
je 0x140037b87
mov dword [rbp + 0x50], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 0x41
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
test eax, eax
je 0x140037b81
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, r12d
jmp 0x140037b8c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 6
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14003793d
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140037bc3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140037bdb
mov rcx, r8
call fcn.14003f840
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
jmp 0x14003793d
call fcn.14004dd7c
nop
call fcn.14004dd7c
nop
call fcn.14004dd7c
int3
call fcn.14004dd7c
int3