Function at 0x409d00
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov rsi, qword [0x005de0f8]
test rsi, rsi
mov rdx, rcx
je 0x409e05
lea r12, [0x004a22cb]
mov ecx, 2
mov rdi, r12
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x409e05
mov rax, qword [rdx]
test rax, rax
je 0x409e05
mov r8d, 1
xor r11d, r11d
mov ebx, 0xffffffff
lea r15, [0x004a3e3a]
lea r10, [0x004a3e3d]
lea r13, [0x004a3e44]
jmp 0x409dac
mov rsi, rax
mov ecx, 0xe
mov rdi, r13
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x409e05
lea rsi, [r8*8]
add r8, 1
mov rax, qword [rdx + r8*8 - 8]
test rax, rax
je 0x409e00
mov ecx, 3
mov rsi, rax
mov rdi, r15
repe cmpsb byte [rsi], byte [rdi]
lea r9d, [r8 - 1]
mov r14d, r8d
seta cl
sbb cl, 0
test cl, cl
je 0x409e05
cmp byte [rax], 0x2d
je 0x409df0
mov ecx, 7
mov rsi, rax
mov rdi, r10
repe cmpsb byte [rsi], byte [rdi]
seta cl
sbb cl, 0
test cl, cl
jne 0x409d80
mov r11d, 1
jmp 0x409d96
cmp byte [rax + 1], 0x6f
jne 0x409dcf
cmp ebx, 0xffffffff
jne 0x409e05
mov ebx, r9d
jmp 0x409d96
cmp ebx, 0xffffffff
jne 0x409e20
lea rsp, [rbp + 0x128]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test r11d, r11d
je 0x409e05
lea rdi, [rbp - 0x10]
mov ecx, 6
mov qword [rbp - 0x20], rdi
rep stosq qword [rdi], rax
lea eax, [r14 + 4]
cdqe
lea rdi, [rax*8]
lea rax, [rdi + 0xf]
mov r13, rdi
mov qword [rbp - 0x28], rdi
and rax, 0xfffffffffffffff0
call fcn.0048deb0
lea r8, [rdi - 0x18]
sub rsp, rax
lea rax, [rsp + 0x30]
mov rcx, rax
mov rdi, rax
mov qword [rbp - 0x18], rax
call sub.msvcrt.dll_memcpy
lea rax, str._frandom_seed0
mov qword [rdi + rsi], rax
lea rax, [0x004a3e62]
mov qword [rdi + r13 - 0x18], rax
lea rax, [rdi + r13 - 0x10]
mov qword [rax], 0
mov qword [rbp - 0x30], rax
movsxd rax, ebx
shl rax, 3
lea rdx, [rdi + rax]
mov rcx, qword [rdx]
cmp byte [rcx + 2], 0
jne 0x409f8c
mov qword [rdi + rax + 8], r12
mov rsi, qword [rbp - 0x20]
lea r13, str..out
xor edi, edi
mov rbx, rsi
mov rcx, r13
call fcn.0047fd60
lea rcx, str..err
mov qword [rsi], rax
mov r12, rax
call fcn.0047fd60
mov rcx, qword [rbp - 0x18]
xor r9d, r9d
cmp edi, 2
sete r9b
mov qword [rsi + 0x18], rax
mov r8, rax
mov rdx, r12
mov dword [rsp + 0x20], r9d
call fcn.00409bd0
cmp eax, 2
jne 0x40a158
add edi, 1
add rsi, 8
cmp edi, 3
jne 0x409ec6
mov rsi, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, rsi
call fcn.004030c0
test al, al
je 0x409f3f
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
call fcn.004030c0
test al, al
mov r12d, eax
jne 0x409f9b
mov ecx, 2
call qword [fcn.0049ab10]
lea rdx, str.The_bug_is_not_reproducible__so_it_is_likely_a_hardware_or_OS_problem._n
mov rcx, rax
call fcn.00426ce0
mov rdi, qword [rbp - 0x20]
add rdi, 0x30
jmp 0x409f66
mov rsi, qword [rbx]
test rsi, rsi
je 0x409f7e
mov rsi, qword [rbx]
mov rcx, rsi
call sub.msvcrt.dll__unlink
mov rcx, rsi
call fcn.0049a918
add rbx, 8
cmp rbx, rdi
jne 0x409f63
jmp 0x409e05
lea rax, [0x004a3e70]
mov qword [rdx], rax
jmp 0x409eb6
mov rax, qword [rbp + 0x18]
lea rdx, [0x004a3f28]
mov rdi, qword [rbp]
mov rcx, rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rdi
call sub.msvcrt.dll_fopen
lea rdx, [0x004a3f2b]
mov rcx, rdi
mov qword [rbp - 0x38], rax
lea rdi, [rbp + 0x20]
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x48], rbx
mov rbx, qword [rbp - 0x38]
mov r13, rax
jmp 0x409fff
mov rdx, r13
mov rcx, rdi
call sub.msvcrt.dll_fputs
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
setne r12b
mov r8, rbx
mov edx, 0x100
mov rcx, rdi
call sub.msvcrt.dll_fgets
test rax, rax
je 0x40a035
test r12b, r12b
je 0x409fe0
mov r9, r13
mov r8d, 3
mov edx, 1
lea rcx, [0x004a3ec8]
call sub.msvcrt.dll_fwrite
jmp 0x409fe0
mov rcx, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x48]
call sub.msvcrt.dll_fclose
mov rcx, r13
call sub.msvcrt.dll_fclose
mov rcx, qword [rbp - 0x40]
mov edx, 0xa
call sub.msvcrt.dll__open_1
test eax, eax
mov r12d, eax
js 0x409f59
lea rdx, [0x004a3ecc]
mov r8d, 3
mov ecx, eax
call sub.msvcrt.dll__write
mov rdx, qword [rbp - 0x18]
lea eax, [r14 + 1]
mov qword [rbp - 0x38], rbx
lea r14, [0x004a20ac]
lea r13, [rdx + rax*8 + 8]
mov rdi, rdx
mov r8d, 1
mov rdx, r14
mov ecx, r12d
call sub.msvcrt.dll__write
mov rbx, qword [rdi]
add rdi, 8
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdx, rbx
mov ecx, r12d
mov r8d, eax
call sub.msvcrt.dll__write
cmp r13, rdi
jne 0x40a092
mov r8d, 2
mov ecx, r12d
mov rbx, qword [rbp - 0x38]
lea rdx, [0x004a3ed0]
call sub.msvcrt.dll__write
mov ecx, r12d
call sub.msvcrt.dll__close_1
mov rax, qword [rbp - 0x30]
xor r9d, r9d
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x50]
mov qword [rax], r15
mov rax, qword [rbp - 0x18]
mov qword [rax + rdx - 8], 0
mov rdx, qword [rbp - 0x40]
mov rcx, rax
mov dword [rsp + 0x20], 1
call fcn.00409bd0
cmp eax, 1
jne 0x409f59
mov ecx, 2
call qword [fcn.0049ab10]
mov rdi, qword [rbp - 0x40]
lea rdx, str.Preprocessed_source_stored_into__s_file__please_attach_this_to_your_bugreport._n
mov rcx, rax
mov r8, rdi
call fcn.00426ce0
mov rcx, rdi
call fcn.0049a918
mov qword [rbp], 0
jmp 0x409f59
mov ecx, 2
call qword [fcn.0049ab10]
lea rdx, str.The_bug_is_not_reproducible__so_it_is_likely_a_hardware_or_OS_problem._n
mov rcx, rax
call fcn.00426ce0
mov rsi, qword [rbp - 0x10]
jmp 0x409f59