Function at 0x425136
Capabilities:
Create directory
Move file
Write file on windows

Disassembly:
push 0x1b0
mov eax, 0x6e2eb8
call fcn.005770f8
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov esi, 0x7df234
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x1bc], eax
cmp byte [0x7d042c], bl
je 0x4251ae
cmp dword [0x7df248], 0x10
mov eax, esi
push ebx
cmovae eax, dword [0x7df234]
push eax
mov byte [0x7d042c], bl
call fcn.006a8e06
pop ecx
pop ecx
test eax, eax
jne 0x4251ae
cmp dword [0x7df260], 0x10
mov ecx, 0x7df24c
mov eax, esi
cmovae ecx, dword [0x7df24c]
cmp dword [0x7df248], 0x10
push ecx
cmovae eax, dword [0x7df234]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0x32
lea eax, [ebp - 0x44]
push ebx
push eax
call fcn.0069f590
add esp, 0xc
mov dword [ebp - 0x178], ebx
mov byte [ebp - 0x188], bl
push 0xf
pop eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x1a0], bl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x170]
push 0x797e6a
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], eax
mov byte [ebp - 0x170], bl
call fcn.0040259b
push 0xff
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 2
push ebx
push eax
call fcn.0069f590
add esp, 0xc
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x14a]
push eax
movzx eax, word [ebp - 0x14c]
push eax
movzx eax, word [ebp - 0x14e]
push eax
movzx eax, word [ebp - 0x150]
push eax
movzx eax, word [ebp - 0x152]
push eax
movzx eax, word [ebp - 0x156]
push eax
movzx eax, word [ebp - 0x158]
push eax
lea eax, [ebp - 0x44]
push str._04d__02d__02d__02d:_02d:_02d._03d
push eax
call fcn.004037e8
add esp, 0x24
lea ecx, [ebp - 0x188]
push edi
call fcn.0040259b
cmp dword [ebp - 0x174], 0x10
lea edx, [ebp - 0x188]
mov eax, dword [ebp - 0x178]
cmovae edx, dword [ebp - 0x188]
or edi, 0xffffffff
test eax, eax
je 0x4252c3
dec eax
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
add ecx, edx
jmp 0x4252ba
cmp ecx, edx
je 0x4252c3
dec ecx
cmp byte [ecx], 0x5c
jne 0x4252b5
sub ecx, edx
jmp 0x4252c5
mov ecx, edi
push ecx
lea eax, [ecx + 1]
push edi
push eax
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0041e124
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0040bb47
lea ecx, [ebp - 0x1b8]
call fcn.00402575
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
jne 0x42532e
push 0xff
lea eax, [ebp - 0x148]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x425340
lea eax, [ebp - 0x148]
push 0x5c
push eax
call fcn.0069ee30
pop ecx
pop ecx
mov byte [eax + 1], bl
jmp 0x425340
lea edx, [ebp - 0x148]
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x425336
lea eax, [ebp - 0x148]
push eax
call fcn.006a8e73
cmp dword [0x7df248], 0x10
mov dword [esp], 0x79a570
cmovae esi, dword [0x7df234]
push esi
call fcn.006a8def
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x425377
push 0xfffffffffffffffe
pop ebx
jmp 0x425488
push dword [ebp + 0x20]
lea ecx, [ebp - 0x170]
call fcn.004023f2
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x4253a9
lea esi, [ebp + 0x24]
cmp byte [eax], 0
je 0x4253a9
push eax
lea ecx, [ebp - 0x170]
call fcn.004023f2
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x42538f
mov eax, dword [ebp - 0x160]
add eax, 0xc8
push eax
call fcn.00431cb7
cmp dword [ebp - 0x15c], 0x10
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x1a0]
mov esi, eax
cmovae edx, dword [ebp - 0x170]
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x18c], 0x10
push edx
push dword [ebp + 0x1c]
cmovae ecx, dword [ebp - 0x1a0]
push dword [ebp - 0x1bc]
push ecx
push eax
push str._TIME:_s___FILE:_s__s___d___OUT:_s_n
push esi
call fcn.004037e8
push 2
push ebx
push edi
call fcn.006a759d
mov ecx, esi
add esp, 0x2c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42540f
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.006a6bc2
push edi
call fcn.006a6286
add esp, 0x14
cmp dword [ebp + 8], 2
jne 0x425481
cmp byte [0x7df118], 0
je 0x425481
cmp dword [0x7d0410], 0x10
mov eax, 0x7d03fc
push 0x79a570
cmovae eax, dword [0x7d03fc]
push eax
call fcn.006a8def
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x425481
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425465
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.006a6bc2
push edi
call fcn.006a6286
add esp, 0x14
push esi
call fcn.00431cb2
pop ecx
lea ecx, [ebp - 0x170]
call fcn.00402575
lea ecx, [ebp - 0x1a0]
call fcn.00402575
lea ecx, [ebp - 0x188]
call fcn.00402575
mov eax, ebx
call fcn.005770a2
ret