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

Disassembly:
push 0x1b0
mov eax, 0x6c6ebc
call fcn.005635dc
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov esi, 0x7bcdbc
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x1bc], eax
cmp byte [0x7af40c], bl
je 0x4172f9
cmp dword [0x7bcdd0], 0x10
mov eax, esi
push ebx
cmovae eax, dword [0x7bcdbc]
push eax
mov byte [0x7af40c], bl
call fcn.0068f7c8
pop ecx
pop ecx
test eax, eax
jne 0x4172f9
cmp dword [0x7bcde8], 0x10
mov ecx, 0x7bcdd4
mov eax, esi
cmovae ecx, dword [0x7bcdd4]
cmp dword [0x7bcdd0], 0x10
push ecx
cmovae eax, dword [0x7bcdbc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0x32
lea eax, [ebp - 0x44]
push ebx
push eax
call fcn.00686080
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 0x77b5ea
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], eax
mov byte [ebp - 0x170], bl
call fcn.00402496
push 0xff
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 2
push ebx
push eax
call fcn.00686080
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.004036b8
add esp, 0x24
lea ecx, [ebp - 0x188]
push edi
call fcn.00402496
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 0x41740e
dec eax
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
add ecx, edx
jmp 0x417405
cmp ecx, edx
je 0x41740e
dec ecx
cmp byte [ecx], 0x5c
jne 0x417400
sub ecx, edx
jmp 0x417410
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.0041007c
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004094d1
lea ecx, [ebp - 0x1b8]
call fcn.00402470
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
jne 0x417479
push 0xff
lea eax, [ebp - 0x148]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x41748b
lea eax, [ebp - 0x148]
push 0x5c
push eax
call fcn.00685920
pop ecx
pop ecx
mov byte [eax + 1], bl
jmp 0x41748b
lea edx, [ebp - 0x148]
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x417481
lea eax, [ebp - 0x148]
push eax
call fcn.0068f835
cmp dword [0x7bcdd0], 0x10
mov dword [esp], 0x77d4e4
cmovae esi, dword [0x7bcdbc]
push esi
call fcn.0068f7b1
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4174c2
push 0xfffffffffffffffe
pop ebx
jmp 0x4175d3
push dword [ebp + 0x20]
lea ecx, [ebp - 0x170]
call fcn.004022e2
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x4174f4
lea esi, [ebp + 0x24]
cmp byte [eax], 0
je 0x4174f4
push eax
lea ecx, [ebp - 0x170]
call fcn.004022e2
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x4174da
mov eax, dword [ebp - 0x160]
add eax, 0xc8
push eax
call fcn.0041e189
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.004036b8
push 2
push ebx
push edi
call fcn.0068f5f2
mov ecx, esi
add esp, 0x2c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41755a
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.0068e966
push edi
call fcn.0068d2bc
add esp, 0x14
cmp dword [ebp + 8], 2
jne 0x4175cc
cmp byte [0x7bcca0], 0
je 0x4175cc
cmp dword [0x7af3f0], 0x10
mov eax, 0x7af3dc
push 0x77d4e4
cmovae eax, dword [0x7af3dc]
push eax
call fcn.0068f7b1
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4175cc
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4175b0
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.0068e966
push edi
call fcn.0068d2bc
add esp, 0x14
push esi
call fcn.0041e184
pop ecx
lea ecx, [ebp - 0x170]
call fcn.00402470
lea ecx, [ebp - 0x1a0]
call fcn.00402470
lea ecx, [ebp - 0x188]
call fcn.00402470
mov eax, ebx
call fcn.00563586
ret