Function at 0x402fa4
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xe8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x402fd4
pxor xmm1, xmm1
ucomisd xmm0, xmm1
je 0x4033ee
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x120]
mov qword [rbp - 8], rax
jmp 0x4033e1
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
test eax, eax
je 0x4033ce
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp + 0x10]
je 0x4033ce
mov rax, qword [rbp - 0x10]
movsd xmm0, qword [rax + 0xe8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x403035
pxor xmm1, xmm1
ucomisd xmm0, xmm1
je 0x4033ce
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x108]
cmp qword [rbp - 0x10], rax
je 0x4030b2
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x100]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x100]
cmp edx, eax
je 0x4033d1
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0xdc]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0xdc]
cmp edx, eax
jg 0x4030a1
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x60
mov r9, rax
mov r8d, 0x1d
mov edx, 1
lea rcx, str._propagate__toporder_botches_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x108]
mov qword [rbp - 0x10], rax
jmp 0x4030f6
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0xdc]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0xdc]
cmp edx, eax
jg 0x4030f6
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x60
mov r9, rax
mov r8d, 0x1d
mov edx, 1
lea rcx, str._propagate__toporder_botches_n
call sub.msvcrt.dll_fwrite
jmp 0x4033d5
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
test eax, eax
je 0x4033d4
mov rax, qword [rbp - 0x10]
movsd xmm2, qword [rax + 0xb8]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
mov eax, eax
test rax, rax
js 0x403126
cvtsi2sd xmm0, rax
jmp 0x40313b
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
mov eax, eax
test rax, rax
js 0x403150
cvtsi2sd xmm1, rax
jmp 0x403165
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
divsd xmm0, xmm1
mulsd xmm0, xmm2
mov rax, qword [rbp - 8]
movsd qword [rax + 0x18], xmm0
mov rax, qword [rbp - 0x10]
movsd xmm2, qword [rax + 0xd0]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
mov eax, eax
test rax, rax
js 0x403197
cvtsi2sd xmm0, rax
jmp 0x4031ac
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
mov eax, eax
test rax, rax
js 0x4031c1
cvtsi2sd xmm1, rax
jmp 0x4031d6
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
divsd xmm0, xmm1
mulsd xmm0, xmm2
mov rax, qword [rbp - 8]
movsd qword [rax + 0x20], xmm0
mov rax, qword [rbp - 8]
movsd xmm1, qword [rax + 0x18]
mov rax, qword [rbp - 8]
movsd xmm0, qword [rax + 0x20]
addsd xmm0, xmm1
movsd qword [rbp - 0x18], xmm0
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xd0]
addsd xmm0, qword [rbp - 0x18]
mov rax, qword [rbp + 0x10]
movsd qword [rax + 0xd0], xmm0
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xe8]
movsd xmm1, qword [rbp - 0x18]
mulsd xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xf8]
addsd xmm0, qword [rbp - 0x20]
mov rax, qword [rbp + 0x10]
movsd qword [rax + 0xf8], xmm0
mov rax, qword [rbp - 8]
movsd xmm1, qword [rax + 0x18]
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xe8]
mulsd xmm0, xmm1
mov rax, qword [rbp - 8]
movsd qword [rax + 0x18], xmm0
mov rax, qword [rbp - 8]
movsd xmm1, qword [rax + 0x20]
mov rax, qword [rbp + 0x10]
movsd xmm0, qword [rax + 0xe8]
mulsd xmm0, xmm1
mov rax, qword [rbp - 8]
movsd qword [rax + 0x20], xmm0
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x108]
cmp qword [rbp + 0x10], rax
je 0x403301
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x108]
movsd xmm0, qword [rax + 0xd0]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x108]
addsd xmm0, qword [rbp - 0x18]
movsd qword [rax + 0xd0], xmm0
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x108]
movsd xmm0, qword [rax + 0xf8]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x108]
addsd xmm0, qword [rbp - 0x20]
movsd qword [rax + 0xf8], xmm0
mov rax, qword [0x00527c30]
mov eax, dword [rax]
and eax, 0x400
test eax, eax
je 0x4033d5
lea rcx, str._prop_time__child__t
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x10]
mov rcx, rax
call fcn.0040fb41
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
mov rdx, qword [rbp - 8]
mov ecx, dword [rdx + 0x10]
mov rdx, qword [rbp - 0x10]
movsd xmm1, qword [rdx + 0xd0]
mov rdx, qword [rbp - 0x10]
movsd xmm0, qword [rdx + 0xb8]
movq rdx, xmm1
mov r8, rdx
mov qword [rbp - 0x28], r8
movsd xmm2, qword [rbp - 0x28]
mov qword [rbp - 0x28], rdx
movsd xmm1, qword [rbp - 0x28]
movq rdx, xmm0
mov r8, rdx
mov qword [rbp - 0x28], r8
movsd xmm0, qword [rbp - 0x28]
mov dword [rsp + 0x20], eax
mov r9d, ecx
movq r8, xmm1
movapd xmm1, xmm0
lea rcx, str._with__f__f__lu__lu_n
call sub.msvcrt.dll_printf
lea rcx, str._prop_time__parent_t
call sub.msvcrt.dll_printf
mov rcx, qword [rbp + 0x10]
call fcn.0040fb41
movsd xmm1, qword [rbp - 0x18]
movsd xmm0, qword [rbp - 0x18]
movq rdx, xmm0
lea rcx, str._n_prop_time__share__f_n
call sub.msvcrt.dll_printf
jmp 0x4033d5
nop
jmp 0x4033d5
nop
jmp 0x4033d5
nop
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x30]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x402fe8
jmp 0x4033ef
nop
add rsp, 0x60
pop rbp
ret