Function at 0x425117
Capabilities:
Create directory
Move file

Disassembly:
push 0x1b8
mov eax, 0x6d38a6
call fcn.00579a84
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov esi, 0x7c9008
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x1c4], eax
cmp byte [0x7bb4c4], bl
je 0x42518f
cmp dword [0x7c901c], 0x10
mov eax, esi
push ebx
cmovae eax, dword [0x7c9008]
push eax
mov byte [0x7bb4c4], bl
call fcn.006ac200
pop ecx
pop ecx
test eax, eax
jne 0x42518f
cmp dword [0x7c9034], 0x10
mov ecx, 0x7c9020
mov eax, esi
cmovae ecx, dword [0x7c9020]
cmp dword [0x7c901c], 0x10
push ecx
cmovae eax, dword [0x7c9008]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0x32
lea eax, [ebp - 0x48]
push ebx
push eax
call fcn.006a0f30
add esp, 0xc
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x17c], ebx
mov byte [ebp - 0x18c], bl
push 0xf
pop eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x190], eax
mov byte [ebp - 0x1a4], bl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], ebx
push 0x786a2a
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], eax
mov byte [ebp - 0x174], bl
call fcn.0040257a
push 0xff
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 2
push ebx
push eax
call fcn.006a0f30
add esp, 0xc
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
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 - 0x154]
push eax
movzx eax, word [ebp - 0x156]
push eax
movzx eax, word [ebp - 0x15a]
push eax
movzx eax, word [ebp - 0x15c]
push eax
lea eax, [ebp - 0x48]
push str._04d__02d__02d__02d:_02d:_02d._03d
push eax
call fcn.00403a0d
add esp, 0x24
lea ecx, [ebp - 0x18c]
push edi
call fcn.0040257a
cmp dword [ebp - 0x178], 0x10
lea edx, [ebp - 0x18c]
mov eax, dword [ebp - 0x17c]
cmovae edx, dword [ebp - 0x18c]
or edi, 0xffffffff
test eax, eax
je 0x4252b6
dec eax
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
add ecx, edx
jmp 0x4252ad
cmp ecx, edx
je 0x4252b6
dec ecx
cmp byte [ecx], 0x5c
jne 0x4252a8
sub ecx, edx
jmp 0x4252b8
mov ecx, edi
push ecx
lea eax, [ecx + 1]
push edi
push eax
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0041ec49
mov byte [ebp - 0x1c0], bl
lea eax, [ebp - 0x1bc]
push dword [ebp - 0x1c0]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.0040e39d
lea ecx, [ebp - 0x1bc]
call fcn.00402554
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
jne 0x42532d
push 0xff
lea eax, [ebp - 0x14c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x42533f
lea eax, [ebp - 0x14c]
push 0x5c
push eax
call fcn.006a07d0
pop ecx
pop ecx
mov byte [eax + 1], bl
jmp 0x42533f
lea edx, [ebp - 0x14c]
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x425335
lea eax, [ebp - 0x14c]
push eax
call fcn.006ac28a
cmp dword [0x7c901c], 0x10
mov dword [esp], 0x7891b8
cmovae esi, dword [0x7c9008]
push esi
call fcn.006ac063
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x425376
push 0xfffffffffffffffe
pop ebx
jmp 0x425487
push dword [ebp + 0x20]
lea ecx, [ebp - 0x174]
call fcn.004023e9
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x4253a8
lea esi, [ebp + 0x24]
cmp byte [eax], 0
je 0x4253a8
push eax
lea ecx, [ebp - 0x174]
call fcn.004023e9
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x42538e
mov eax, dword [ebp - 0x164]
add eax, 0xc8
push eax
call fcn.00431757
cmp dword [ebp - 0x160], 0x10
lea edx, [ebp - 0x174]
lea ecx, [ebp - 0x1a4]
mov esi, eax
cmovae edx, dword [ebp - 0x174]
lea eax, [ebp - 0x48]
cmp dword [ebp - 0x190], 0x10
push edx
push dword [ebp + 0x1c]
cmovae ecx, dword [ebp - 0x1a4]
push dword [ebp - 0x1c4]
push ecx
push eax
push str._TIME:_s___FILE:_s__s___d___OUT:_s_n
push esi
call fcn.00403a0d
push 2
push ebx
push edi
call fcn.006aa9b6
mov ecx, esi
add esp, 0x2c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42540e
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.006a9f4a
push edi
call fcn.006a95f3
add esp, 0x14
cmp dword [ebp + 8], 2
jne 0x425480
cmp byte [0x7c8ef0], 0
je 0x425480
cmp dword [0x7bb490], 0x10
mov eax, 0x7bb47c
push 0x7891b8
cmovae eax, dword [0x7bb47c]
push eax
call fcn.006ac063
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x425480
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425464
push edi
sub ecx, edx
push 1
push ecx
push esi
call fcn.006a9f4a
push edi
call fcn.006a95f3
add esp, 0x14
push esi
call fcn.00431752
pop ecx
lea ecx, [ebp - 0x174]
call fcn.00402554
lea ecx, [ebp - 0x1a4]
call fcn.00402554
lea ecx, [ebp - 0x18c]
call fcn.00402554
mov eax, ebx
call fcn.00579a33
ret