Function at 0x10012670
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x1002b05b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x628
push ebx
push ebp
push esi
push edi
push 0x1003d090
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, dword [esp + 0x64c]
xor eax, eax
mov dword [esp + 0x640], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x230], eax
push 0x208
lea eax, [esp + 0x28]
push esi
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x23], 0x5c
jne 0x100126ef
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + ecx + 0x23], al
lea ecx, [esp + 0x24]
push ecx
call fcn.10012940
add esp, 4
test eax, eax
je 0x100128f7
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x23c]
push str.__s__r_n
push eax
call ebp
mov ebx, dword [esp + 0x654]
lea ecx, [esp + 0x244]
push ebx
push eax
push 1
push ecx
call dword [sym.imp.MSVCRT.dll_fwrite]
mov ecx, dword [esp + 0x250]
xor esi, esi
add esp, 0x1c
xor edi, edi
cmp ecx, esi
mov dword [esp + 0x20], esi
jle 0x100128a4
mov ebx, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov edx, dword [esp + 0x230]
lea eax, [esi + edx + 0x214]
push eax
push eax
call ebx
mov ecx, dword [esp + 0x230]
lea eax, [esp + 0x10]
push eax
lea edx, [esi + ecx + 0x214]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov eax, dword [esp + 0x230]
add eax, esi
push eax
mov ecx, dword [eax + 0x20c]
test ecx, ecx
jne 0x100127fa
mov ecx, dword [eax + 0x210]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1e]
push str._FILE_
push ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
and eax, 0xffff
push edx
mov edx, dword [esp + 0x26]
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x26]
push ecx
mov ecx, dword [esp + 0x28]
and edx, 0xffff
and eax, 0xffff
push edx
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x25c]
push str._04d__02d__02d__02d:_02d:_02d_t_u_t_s_t_s_r_n
push edx
jmp 0x1001284e
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1e]
mov edx, dword [esp + 0x1c]
push str._DIR_
and eax, 0xffff
push 0
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x26]
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x26]
push edx
mov edx, dword [esp + 0x28]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x25c]
push str._04d__02d__02d__02d:_02d:_02d_t_u_t_s_t_s_r_n
push eax
call ebp
mov ecx, dword [esp + 0x674]
add esp, 0x2c
lea edx, [esp + 0x238]
push ecx
push eax
push 1
push edx
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
inc edi
cmp edi, 0x14
jle 0x1001287f
push 1
xor edi, edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x234]
inc eax
add esi, 0x224
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x1001275f
mov ebx, dword [esp + 0x648]
xor edi, edi
test ecx, ecx
jle 0x100128f7
xor esi, esi
mov eax, dword [esp + 0x230]
add eax, esi
mov edx, dword [eax + 0x20c]
test edx, edx
je 0x100128ec
lea ecx, [esp + 0x24]
push eax
push ecx
lea edx, [esp + 0x240]
push 0x10030690
push edx
call ebp
lea eax, [esp + 0x248]
push eax
push ebx
call fcn.10012670
mov ecx, dword [esp + 0x24c]
add esp, 0x18
inc edi
add esi, 0x224
cmp edi, ecx
jl 0x100128ac
push 0x1003d090
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [esp + 0x230]
pop edi
pop esi
pop ebp
test eax, eax
mov dword [esp + 0x634], 0xffffffff
pop ebx
je 0x10012925
push eax
call fcn.10010220
add esp, 4
mov ecx, dword [esp + 0x628]
mov eax, 1
mov dword fs:[0], ecx
add esp, 0x634
ret