Function at 0x415d25
Capabilities:
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x87c
mov eax, dword [0x45d06c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x870], eax
xor ecx, ecx
mov esi, edx
cmp dword [0x45eca8], ecx
je 0x41603e
xor eax, eax
mov dword [ebp - 0x814], ecx
push ecx
mov dword [ebp - 0x810], 7
mov word [ebp - 0x824], ax
mov byte [ebp - 0x80c], cl
call fcn.00437277
mov dword [ebp - 0x878], eax
lea eax, [ebp - 0x878]
pop ecx
push eax
mov dword [ebp - 0x874], edx
call fcn.00435e96
pop ecx
push eax
push str._Y__m__d__H:_M:_S__
lea eax, [ebp - 0x808]
push 0x400
push eax
call fcn.004371d4
add esp, 0x10
lea eax, [ebp - 0x808]
lea ecx, [ebp - 0x824]
push eax
call fcn.00402462
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea ecx, [ebp - 0x824]
call fcn.004012f9
push 0x456244
mov ecx, eax
call fcn.00402462
mov eax, edi
lea ecx, [ebp - 0x824]
sub eax, 1
je 0x415e02
sub eax, 1
je 0x415dfb
push str.INFO:
jmp 0x415e07
push str.WARNING:
jmp 0x415e07
push str.ERROR:
call fcn.00402462
push esi
lea ecx, [ebp - 0x824]
call fcn.004011fd
mov esi, eax
push 0x456280
mov ecx, esi
call fcn.00402462
push ebx
mov ecx, esi
call fcn.004012a9
push 0x456288
mov ecx, eax
call fcn.00402462
push dword [ebp - 0x870]
lea ecx, [ebp - 0x824]
call fcn.00402489
xor eax, eax
lea ecx, [ebp - 0x824]
mov word [ebp - 0x808], ax
cmp edi, 1
jne 0x415e95
push str._Last_error:
call fcn.00402462
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x86c]
call fcn.00415a93
push eax
lea ecx, [ebp - 0x824]
call fcn.00402489
lea ecx, [ebp - 0x86c]
call fcn.00402561
jmp 0x415e9f
push 0x455410
call fcn.00402462
mov edi, dword [0x45ecc4]
test edi, edi
je 0x416033
push 0x3e8
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x416033
cmp eax, 0xffffffff
je 0x416033
xor ebx, ebx
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x82c], ebx
mov dword [ebp - 0x828], ebx
call fcn.004044ab
cmp dword [0x45ecc0], 8
mov eax, 0x45ecac
push ebx
cmovae eax, dword [0x45ecac]
push 0x80
push 4
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x416021
push 2
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x416016
test eax, eax
je 0x415fd6
cmp eax, 0x100000
jb 0x415fe9
test esi, esi
je 0x415f56
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, ebx
push str..old
mov edx, 0x45ecac
lea ecx, [ebp - 0x854]
call fcn.00405dd8
cmp dword [ebp - 0x840], 8
lea eax, [ebp - 0x854]
pop ecx
cmovae eax, dword [ebp - 0x854]
push eax
call fcn.00435bcc
cmp dword [ebp - 0x840], 8
mov eax, 0x45ecac
pop ecx
lea ecx, [ebp - 0x854]
cmovae ecx, dword [ebp - 0x854]
cmp dword [0x45ecc0], 8
push ecx
cmovae eax, dword [0x45ecac]
push eax
call fcn.00435ebd
pop ecx
pop ecx
lea ecx, [ebp - 0x854]
call fcn.00402561
test esi, esi
je 0x415eed
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x415eed
push 0xfeff
push 1
push ebx
lea ecx, [ebp - 0x83c]
call fcn.0041604f
cmp dword [ebp - 0x828], 8
lea eax, [ebp - 0x87c]
push ebx
push eax
mov eax, dword [ebp - 0x82c]
lea ecx, [ebp - 0x83c]
cmovae ecx, dword [ebp - 0x83c]
add eax, eax
push eax
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test esi, esi
je 0x416021
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x83c]
call fcn.00402561
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea ecx, [ebp - 0x824]
call fcn.00402561
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00429462
mov esp, ebp
pop ebp
ret