Function at 0x100408120
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movdqu xmm0, xmmword [rcx]
mov ebx, edx
movaps xmmword [rsp + 0x40], xmm0
cmp edx, 0x2b
je 0x100408478
lea eax, [rdx - 0x40]
mov byte [rsp + 0x54], 0x25
mov byte [rsp + 0x55], dl
mov byte [rsp + 0x56], 0
cmp eax, 0x18
ja 0x100408260
mov edx, 0x1180001
bt rdx, rax
jae 0x100408260
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x60]
mov edx, 0x20
lea r8, str.._09ld0
mov edi, 1
call sub.msys_2.0.dll_snprintf
mov ebp, eax
cmp ebx, 0x40
jne 0x100408269
mov rax, qword [rsp + 0x40]
mov r9d, 1
mov qword [rsp + 0x20], 1
lea rdx, [0x100453581]
lea rsi, [0x100453580]
mov rcx, rax
neg rcx
cmovs rcx, rax
xor r8d, r8d
call fcn.100413ac0
mov rbx, rax
cmp rsi, rax
jae 0x1004086ec
lea rax, [0x100453767]
cmp rbx, rax
jae 0x10040870b
cmp qword [rsp + 0x40], 0
jns 0x1004081fb
mov byte [rbx - 1], 0x2d
sub rbx, 1
test edi, edi
je 0x100408248
mov rcx, rbx
call sub.msys_2.0.dll_strlen
mov rdx, rax
mov rax, rbx
sub rax, rsi
add rax, rdx
cmp rax, 0x1e6
ja 0x10040872a
lea rdi, [rsp + 0x60]
mov esi, 0x1e6
mov rcx, rdi
sub rsi, rax
call sub.msys_2.0.dll_strlen
cmp rax, rsi
jae 0x100408540
mov rdx, rdi
mov rcx, rbx
call sub.msys_2.0.dll_strcat
mov rax, rbx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x60], 0
xor ebp, ebp
xor edi, edi
lea rcx, [rsp + 0x40]
call sub.msys_2.0.dll_localtime
mov rbx, rax
test rax, rax
je 0x10040819b
lea r12, [rsp + 0x54]
movsxd rax, ebp
mov rcx, r12
mov qword [rsp + 0x30], rax
call sub.msys_2.0.dll_strlen
lea rcx, [rax + 2]
mov rsi, rax
call fcn.10042b0c0
mov byte [rax], 0x5f
mov rdi, rax
lea rdx, [rax + 1]
lea rax, [rsi + 1]
cmp eax, 8
jae 0x1004084c0
test al, 4
jne 0x1004086ac
test eax, eax
je 0x1004082d3
movzx ecx, byte [rsp + 0x54]
mov byte [rdi + 1], cl
test al, 2
jne 0x1004086c3
movdqu xmm1, xmmword [rbx]
movaps xmmword [rsp + 0x80], xmm1
movdqu xmm2, xmmword [rbx + 0x10]
mov edx, dword [rsp + 0x80]
movaps xmmword [rsp + 0x90], xmm2
movdqu xmm3, xmmword [rbx + 0x20]
lea ecx, [rdx - 0xb]
cmp edx, 0xb
movaps xmmword [rsp + 0xa0], xmm3
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0xb0], rax
lea eax, [rdx + 0xb]
cmovge eax, ecx
mov rcx, qword [0x100453568]
mov dword [rsp + 0x80], eax
test rcx, rcx
je 0x100408630
lea rsi, [0x100453560]
jmp 0x10040835f
mov rcx, qword [0x100453568]
mov r8d, 1
mov rdx, rsi
call fcn.10042b2e0
mov qword [0x100453568], rax
mov rcx, rax
mov rdx, qword [0x100453560]
mov r9, rbx
mov r8, rdi
call sub.msys_2.0.dll_strftime
mov rbp, rax
test rax, rax
je 0x100408340
cmp rax, qword [0x100453560]
jae 0x100408340
mov rax, qword [rsp + 0x30]
mov rcx, qword [0x100453568]
lea rax, [rax + rbp + 1]
mov rsi, rax
mov rdx, rax
mov qword [rsp + 0x38], rax
call fcn.10042b110
mov rcx, rsi
mov qword [0x100453560], rsi
mov qword [0x100453568], rax
call fcn.10042b0c0
mov rdx, qword [0x100453560]
lea r9, [rsp + 0x80]
mov r8, rdi
mov rcx, rax
mov rbx, rax
call sub.msys_2.0.dll_strftime
mov rsi, qword [0x100453568]
movzx eax, byte [rsi]
test al, al
je 0x100408520
xor r12d, r12d
xor r14d, r14d
xor r15d, r15d
xor r13d, r13d
jmp 0x100408424
mov rax, r15
sub rax, r14
cmp rax, r12
jne 0x100408520
add r12, 1
add r15, 1
movzx eax, byte [rsi + r15]
test al, al
je 0x100408510
movzx ecx, byte [rbx + r15]
test cl, cl
je 0x100408520
cmp cl, al
je 0x100408413
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, byte [rsi + r15]
test byte [rcx + rax + 1], 4
je 0x100408520
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, byte [rbx + r15]
test byte [rcx + rax + 1], 4
je 0x100408520
test r13b, r13b
jne 0x100408400
mov r14, r15
mov r12d, 1
mov r13d, 1
jmp 0x100408413
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x60]
movabs rax, 0x64252d6d252d5925
lea r8, str.._09ld0
mov edx, 0x20
mov qword [rsp + 0x54], rax
mov edi, 1
mov dword [rsp + 0x5c], 0x54252b
call sub.msys_2.0.dll_snprintf
mov ebp, eax
jmp 0x100408269
mov rcx, qword [rsp + 0x54]
mov qword [rdi + 1], rcx
mov ecx, eax
mov r8, qword [r12 + rcx - 8]
mov qword [rdx + rcx - 8], r8
lea r8, [rdi + 9]
and r8, 0xfffffffffffffff8
sub rdx, r8
add eax, edx
sub r12, rdx
and eax, 0xfffffff8
cmp eax, 8
jb 0x1004082d3
and eax, 0xfffffff8
xor edx, edx
mov ecx, edx
add edx, 8
mov r9, qword [r12 + rcx]
mov qword [r8 + rcx], r9
cmp edx, eax
jb 0x1004084f6
jmp 0x1004082d3
cmp byte [rbx + r15], 0
jne 0x100408520
cmp r12, 2
je 0x100408590
nop dword [rax]
mov rcx, rdi
call fcn.100410780
mov rcx, rbx
call fcn.100410780
mov rax, qword [0x100453568]
lea rbx, [rax + 1]
jmp 0x100408248
mov qword [rsp + 0x28], rdi
xor ecx, ecx
xor edx, edx
movsxd r9, ebp
mov qword [rsp + 0x20], rsi
lea r8, str.charsprinted_ld_but_remaining_lu:_ns_buf_s
call sub.msys_2.0.dll_error
mov rcx, rdi
call sub.msys_2.0.dll_strlen
cmp rax, rsi
jb 0x10040823d
lea r9, str.strlen__ns_buf____remaining
lea r8, str.format_date
mov edx, 0x2ce
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
nop dword [rax]
call sub.msys_2.0.dll___locale_ctype_ptr
add r14, 2
mov rdx, rax
mov rax, qword [0x100453568]
lea rsi, [rax + r14]
movzx ecx, byte [rsi]
test byte [rcx + rdx + 1], 4
jne 0x100408520
mov rdx, qword [rsp + 0x30]
lea r10, [rbp + 1]
mov r8, r10
sub r8, r14
add r10, rdx
add r14, rdx
cmp qword [rsp + 0x38], r10
jne 0x100408749
mov rdx, rsi
lea rcx, [rax + r14]
call sub.msys_2.0.dll_memmove
mov rdx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
cmp edx, 8
jae 0x100408654
and edx, 4
jne 0x1004086d5
mov rcx, qword [rsp + 0x30]
test ecx, ecx
je 0x100408520
movzx edx, byte [rsp + 0x60]
mov byte [rsi], dl
mov rdx, rcx
and edx, 2
je 0x100408520
mov ebp, dword [rsp + 0x30]
movzx eax, word [rax + rbp - 2]
mov word [rsi + rbp - 2], ax
jmp 0x100408520
mov qword [0x100453560], 1
mov ecx, 1
call fcn.10042b0c0
mov qword [0x100453568], rax
mov rcx, rax
jmp 0x10040832f
mov rdx, qword [rsp + 0x60]
lea r9, [rsi + 8]
and r9, 0xfffffffffffffff8
mov qword [rsi], rdx
mov r11, qword [rsp + 0x30]
mov edx, r11d
mov rcx, qword [rax + rdx - 8]
mov qword [rsi + rdx - 8], rcx
sub rsi, r9
sub rax, rsi
mov rcx, rax
mov eax, r11d
add eax, esi
and eax, 0xfffffff8
cmp eax, 8
jb 0x100408520
and eax, 0xfffffff8
xor edx, edx
mov r8d, edx
add edx, 8
mov r10, qword [rcx + r8]
mov qword [r9 + r8], r10
cmp edx, eax
jb 0x100408695
jmp 0x100408520
mov ecx, dword [rsp + 0x54]
mov eax, eax
mov dword [rdi + 1], ecx
mov ecx, dword [r12 + rax - 4]
mov dword [rdx + rax - 4], ecx
jmp 0x1004082d3
mov eax, eax
movzx ecx, word [r12 + rax - 2]
mov word [rdx + rax - 2], cx
jmp 0x1004082d3
mov edx, dword [rsp + 0x60]
mov dword [rsi], edx
mov ebp, dword [rsp + 0x30]
mov eax, dword [rax + rbp - 4]
mov dword [rsi + rbp - 4], eax
jmp 0x100408520
lea r9, str.p___buf
lea r8, str.format_date
mov edx, 0x2b7
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.p____buf___sizeof_buf__
lea r8, str.format_date
mov edx, 0x2b8
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.sizeof_buf___used
lea r8, str.format_date
mov edx, 0x2c5
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.end_of_seconds__ns_size__suffix_len__final_len
lea r8, str.do_time_format
mov edx, 0x223
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
nop
nop dword [rax]
sub rsp, 0x88
movdqu xmm0, xmmword [rcx]
lea rcx, [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm0
call sub.msys_2.0.dll_localtime
test rax, rax
je 0x100408870
movsxd rdx, dword [rax + 0x18]
test edx, edx
js 0x10040888c
cmp edx, 6
jg 0x100408984
movsxd rcx, dword [rax + 0x10]
test ecx, ecx
js 0x100408965
cmp ecx, 0xb
jg 0x100408946
mov r8d, dword [rax + 8]
test r8d, r8d
js 0x100408927
cmp r8d, 0x17
jg 0x100408908
mov r10d, dword [rax + 4]
cmp r10d, 0x3b
jg 0x1004088e9
mov r11d, dword [rax]
cmp r11d, 0x3d
jg 0x1004088ca
mov r9d, dword [rax + 0x14]
mov dword [rsp + 0x30], r8d
lea r8, str._3s__3s__2d__02d:_02d:_02d._09ld0__04d
mov dword [rsp + 0x40], r11d
add r9d, 0x76c
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x50], r9d
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x48], r9
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x28], eax
lea rax, [0x100436dc0]
mov rax, qword [rax + rcx*8]
lea rcx, [0x100453160]
mov qword [rsp + 0x20], rax
lea rax, [0x100436e40]
mov r9, qword [rax + rdx*8]
mov edx, 0x400
call sub.msys_2.0.dll_snprintf
cmp eax, 0x3ff
jg 0x1004088ab
lea rax, [0x100453160]
add rsp, 0x88
ret
movdqa xmm1, xmmword [rsp + 0x70]
lea rcx, [rsp + 0x60]
mov edx, 0x40
movaps xmmword [rsp + 0x60], xmm1
call fcn.100408120
jmp 0x100408860
lea r9, str.ptm__tm_wday___0
lea r8, str.ctime_format
mov edx, 0x2eb
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.nout___TIME_BUF_LEN
lea r8, str.ctime_format
mov edx, 0x300
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_sec___61
lea r8, str.ctime_format
mov edx, 0x2f2
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_min___60
lea r8, str.ctime_format
mov edx, 0x2f1
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_hour___24
lea r8, str.ctime_format
mov edx, 0x2f0
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_hour___0
lea r8, str.ctime_format
mov edx, 0x2ef
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_mon___12
lea r8, str.ctime_format
mov edx, 0x2ee
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_mon___0
lea r8, str.ctime_format
mov edx, 0x2ed
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
lea r9, str.ptm__tm_wday___7
lea r8, str.ctime_format
mov edx, 0x2ec
lea rcx, str.print.c
call sub.msys_2.0.dll___assert_func
nop
nop word cs:[rax + rax]
nop