Function at 0x409de0
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 [0x004ee0f8]
mov rdx, rcx
test rsi, rsi
je 0x409ebe
lea r14, [0x0048a313]
mov ecx, 2
mov rdi, r14
repe cmpsb byte [rsi], byte [rdi]
je 0x409ebe
mov rax, qword [rdx]
test rax, rax
je 0x409ebe
mov r12d, 8
xor r9d, r9d
mov r13d, 0xffffffff
xor ebx, ebx
lea r15, [0x0048be62]
lea r8, [0x0048be65]
lea r10, [0x0048be6c]
jmp 0x409e88
mov ecx, 0xe
mov rsi, rax
mov rdi, r10
repe cmpsb byte [rsi], byte [rdi]
je 0x409ebe
lea rcx, [r12 + 8]
lea r11d, [rbx + 1]
mov rax, qword [rdx + rcx - 8]
test rax, rax
je 0x409eb3
mov r12, rcx
mov ebx, r11d
mov ecx, 3
mov rsi, rax
mov rdi, r15
repe cmpsb byte [rsi], byte [rdi]
je 0x409ebe
cmp byte [rax], 0x2d
je 0x409ed2
mov ecx, 7
mov rsi, rax
mov rdi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x409e60
mov r9d, 1
jmp 0x409e6f
cmp r13d, 0xffffffff
je 0x409ebe
test r9d, r9d
jne 0x409ee3
lea rsp, [rbp + 0x128]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [rax + 1], 0x6f
jne 0x409e9c
cmp r13d, 0xffffffff
jne 0x409ebe
mov r13d, ebx
jmp 0x409e6f
lea rsi, [rbp - 0x10]
mov ecx, 6
mov rdi, rsi
rep stosq qword [rdi], rax
lea eax, [rbx + 5]
cdqe
shl rax, 3
mov rdi, rax
add rax, 0x1e
and rax, 0xfffffffffffffff0
call fcn.004765e0
sub rsp, rax
lea r8, [rdi - 0x18]
mov qword [rbp - 0x20], rdi
lea rax, [rsp + 0x30]
mov rcx, rax
mov rdi, rax
mov qword [rbp - 0x18], rax
call sub.msvcrt.dll_memcpy
lea rdx, str._frandom_seed0
mov rax, rdi
mov qword [rdi + r12], rdx
mov rdi, qword [rbp - 0x20]
lea rdx, [0x0048be8a]
mov qword [rax + rdi - 0x18], rdx
mov rdx, rax
lea rax, [rax + rdi - 0x10]
mov rdi, rdx
mov qword [rax], 0
mov qword [rbp - 0x28], rax
movsxd rax, r13d
shl rax, 3
add rdx, rax
mov rcx, qword [rdx]
cmp byte [rcx + 2], 0
jne 0x40a039
mov qword [rdi + rax + 8], r14
mov r14, qword [rbp - 0x18]
lea r12, str..out
lea rdi, str..err
xor r13d, r13d
mov rcx, r12
call fcn.004680b0
mov rcx, rdi
mov qword [rsi + r13*8], rax
call fcn.004680b0
xor r9d, r9d
mov rdx, qword [rsi + r13*8]
cmp r13d, 2
sete r9b
mov qword [rsi + r13*8 + 0x18], rax
mov r8, rax
mov dword [rsp + 0x20], r9d
mov rcx, r14
call fcn.00409c70
cmp eax, 2
jne 0x40a214
add r13, 1
cmp r13, 3
jne 0x409f8f
mov rdi, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, rdi
call fcn.00402fd0
test al, al
jne 0x40a048
call qword [sym.imp.msvcrt.dll___iob_func]
lea rdx, str.The_bug_is_not_reproducible__so_it_is_likely_a_hardware_or_OS_problem._n
lea rcx, [rax + 0x60]
call fcn.004230f0
lea r12, [rsi + 0x30]
jmp 0x40a013
mov rdi, qword [rsi]
test rdi, rdi
je 0x40a02b
mov rbx, qword [rsi]
mov rcx, rbx
call sub.msvcrt.dll__unlink
mov rcx, rbx
call fcn.00483488
add rsi, 8
cmp rsi, r12
jne 0x40a010
jmp 0x409ebe
lea rax, [0x0048be98]
mov qword [rdx], rax
jmp 0x409f7a
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
call fcn.00402fd0
test al, al
mov r13d, eax
je 0x409fee
mov rax, qword [rbp]
lea rdx, [0x0048bef0]
lea r12, [rbp + 0x20]
mov r14, rax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x18]
mov rcx, rax
mov qword [rbp - 0x40], rax
call sub.msvcrt.dll_fopen
lea rdx, [0x0048bef3]
mov rcx, r14
mov qword [rbp - 0x38], rax
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x48], rdi
mov r14, rax
mov rdi, qword [rbp - 0x38]
jmp 0x40a0c1
mov rdx, r14
mov rcx, r12
call sub.msvcrt.dll_fputs
mov edx, 0xa
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
setne r13b
mov r8, rdi
mov edx, 0x100
mov rcx, r12
call sub.msvcrt.dll_fgets
test rax, rax
je 0x40a0f7
test r13b, r13b
je 0x40a0a2
lea rcx, [0x0048bef6]
mov r9, r14
mov r8d, 3
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x40a0a2
mov rcx, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x48]
call sub.msvcrt.dll_fclose
mov rcx, r14
call sub.msvcrt.dll_fclose
mov rcx, qword [rbp - 0x30]
mov edx, 0xa
call sub.msvcrt.dll__open_1
test eax, eax
mov r13d, eax
js 0x40a004
lea rdx, [0x0048befa]
mov r8d, 3
mov ecx, eax
call sub.msvcrt.dll__write
mov rdx, qword [rbp - 0x18]
lea eax, [rbx + 2]
lea r14, [rdx + rax*8 + 8]
mov r12, rdx
nop dword [rax + rax]
lea rdx, [0x0048a0ec]
mov r8d, 1
mov ecx, r13d
add r12, 8
call sub.msvcrt.dll__write
mov rbx, qword [r12 - 8]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdx, rbx
mov r8d, eax
mov ecx, r13d
call sub.msvcrt.dll__write
cmp r12, r14
jne 0x40a150
lea rdx, [0x0048befe]
mov r8d, 2
mov ecx, r13d
call sub.msvcrt.dll__write
mov ecx, r13d
call sub.msvcrt.dll__close_1
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
xor r9d, r9d
mov r8, qword [rbp - 0x40]
mov qword [rax], r15
mov rax, qword [rbp - 0x18]
mov qword [rax + rdx - 8], 0
mov rdx, qword [rbp - 0x30]
mov rcx, rax
mov dword [rsp + 0x20], 1
call fcn.00409c70
cmp eax, 1
jne 0x40a004
call qword [sym.imp.msvcrt.dll___iob_func]
mov rbx, qword [rbp - 0x30]
lea rcx, [rax + 0x60]
lea rdx, str.Preprocessed_source_stored_into__s_file__please_attach_this_to_your_bugreport._n
mov r8, rbx
call fcn.004230f0
mov rcx, rbx
call fcn.00483488
mov qword [rbp], 0
jmp 0x40a004
call qword [sym.imp.msvcrt.dll___iob_func]
lea rdx, str.The_bug_is_not_reproducible__so_it_is_likely_a_hardware_or_OS_problem._n
lea rcx, [rax + 0x60]
call fcn.004230f0
mov rdi, qword [rbp - 0x10]
jmp 0x40a004