Function at 0x403ac0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
cmp dword [0x0043b048], 3
mov rsi, qword [0x0043b050]
jg 0x403ae9
test rsi, rsi
je 0x403d50
lea r9, [0x00433267]
lea r10, str._home_ubuntu_windows_test_mjs.c
mov rax, r9
jmp 0x403b0e
movzx edx, byte [rax - 1]
cmp dl, 0x2f
je 0x403b1d
cmp dl, 0x5c
je 0x403b1d
sub rax, 1
mov r8, r9
sub r8, rax
cmp rax, r10
jne 0x403b00
cmp ecx, 0x270f
jle 0x403c68
mov ebx, 6
mov edx, 0x11
cmp rdx, r8
lea r12, [rsp + 0x20]
cmovbe r8, rdx
mov r9, r12
mov rdx, rax
add rbx, r8
cmp r8d, 8
jae 0x403da0
xor eax, eax
test r8b, 4
je 0x403b64
mov eax, dword [rdx]
mov dword [r9], eax
mov eax, 4
test r8b, 2
je 0x403b78
movzx r10d, word [rdx + rax]
mov word [r9 + rax], r10w
add rax, 2
and r8d, 1
je 0x403b86
movzx edx, byte [rdx + rax]
mov byte [r9 + rax], dl
mov eax, 0x18
lea r8, [r12 + rbx]
movabs r9, 0x2020202020202020
sub rax, rbx
cmp rax, 8
jae 0x403d60
test al, 4
jne 0x403e4a
test rax, rax
jne 0x403de0
nop word [rax + rax]
movsxd rax, ecx
mov edx, ecx
mov edi, ecx
sub r8, 1
imul rax, rax, 0x66666667
sar edx, 0x1f
sar rax, 0x22
sub eax, edx
lea edx, [rax + rax*4]
add edx, edx
sub edi, edx
mov edx, edi
add edx, 0x30
mov byte [r8], dl
mov edx, ecx
mov ecx, eax
cmp edx, 9
jg 0x403bc0
mov byte [r8 - 1], 0x3a
test rsi, rsi
je 0x403c20
mov rcx, rsi
mov ebp, dword [0x0043b048]
call sym.strlen
mov r13, rax
test rax, rax
jne 0x403cfc
cmp ebp, 3
jle 0x403d50
mov r9, qword [0x0043b040]
test r9, r9
je 0x403e30
mov r8d, 0x18
mov edx, 1
mov rcx, r12
mov dword [0x004320e0], 4
call sym.fwrite
mov eax, 1
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ecx, 0x3e7
jg 0x403dd0
cmp ecx, 0x63
jg 0x403e10
xor ebx, ebx
cmp ecx, 0xa
setge bl
xor edx, edx
add rbx, 2
cmp ecx, 0xa
setl dl
add rdx, 0x14
jmp 0x403b33
lea r14, [r15 + 1]
mov rax, r14
sub rax, rsi
sub r13, rax
mov r8, rdi
mov edx, 0x3d
mov rcx, rsi
call sym.memchr
test rax, rax
je 0x403d20
add rax, 1
mov rdi, rax
sub rdi, rsi
sub rdi, 1
cmp rbx, rdi
jb 0x403cf0
sub r15, rax
test rdi, rdi
jne 0x403d30
nop dword [rax]
test r15, r15
jne 0x403e00
nop dword [rax]
test r13, r13
je 0x403c17
mov rsi, r14
xor edi, edi
jmp 0x403d0d
add rdi, 1
cmp rdi, r13
je 0x403e20
cmp byte [rsi + rdi], 0x2c
lea r15, [rsi + rdi]
jne 0x403d00
jmp 0x403ca0
cmp rbx, rdi
jb 0x403cf0
xor r15d, r15d
test rdi, rdi
je 0x403cf0
nop dword [rax]
xor edx, edx
jmp 0x403d41
add rdx, 1
cmp rdx, rdi
jae 0x403ce0
movzx ecx, byte [rsi + rdx]
cmp byte [r12 + rdx], cl
je 0x403d38
jmp 0x403cf0
xor eax, eax
jmp 0x403c52
lea r10, [r8 + 8]
mov rdx, r8
mov qword [r8], r9
and r10, 0xfffffffffffffff8
mov qword [r8 + rax - 8], r9
sub rdx, r10
add rax, rdx
and rax, 0xfffffffffffffff8
cmp rax, 8
jb 0x403bc0
and rax, 0xfffffffffffffff8
xor edx, edx
mov qword [r10 + rdx], r9
add rdx, 8
cmp rdx, rax
jb 0x403d8d
jmp 0x403bc0
mov r11d, r8d
xor edx, edx
and r11d, 0xfffffff8
mov r9d, edx
add edx, 8
mov r10, qword [rax + r9]
mov qword [r12 + r9], r10
cmp edx, r11d
jb 0x403da9
lea r9, [r12 + rdx]
add rdx, rax
jmp 0x403b52
mov ebx, 5
mov edx, 0x12
jmp 0x403b33
mov byte [r8], 0x20
test al, 2
je 0x403bc0
mov edx, 0x2020
mov word [r8 + rax - 2], dx
jmp 0x403bc0
movsx ebp, byte [rax]
sub ebp, 0x30
jmp 0x403c17
mov ebx, 4
mov edx, 0x13
jmp 0x403b33
lea r14, [rsi + rdi]
xor r13d, r13d
mov r15, r14
jmp 0x403cad
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov qword [0x0043b040], rax
mov r9, rax
jmp 0x403c30
mov dword [r8], 0x20202020
mov dword [r8 + rax - 4], 0x20202020
jmp 0x403bc0