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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x87c
mov eax, dword [0x45a06c]
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 [0x45bc00], ecx
je 0x415d8f
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.00431f7a
mov dword [ebp - 0x878], eax
lea eax, [ebp - 0x878]
pop ecx
push eax
mov dword [ebp - 0x874], edx
call fcn.00430b99
pop ecx
push eax
push str._Y__m__d__H:_M:_S__
lea eax, [ebp - 0x808]
push 0x400
push eax
call fcn.00431ed7
add esp, 0x10
lea eax, [ebp - 0x808]
lea ecx, [ebp - 0x824]
push eax
call fcn.0040239a
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea ecx, [ebp - 0x824]
call fcn.004012b3
push 0x45409c
mov ecx, eax
call fcn.0040239a
mov eax, edi
lea ecx, [ebp - 0x824]
sub eax, 1
je 0x415b53
sub eax, 1
je 0x415b4c
push str.INFO:
jmp 0x415b58
push str.WARNING:
jmp 0x415b58
push str.ERROR:
call fcn.0040239a
push esi
lea ecx, [ebp - 0x824]
call fcn.004011b7
mov esi, eax
push 0x4540d8
mov ecx, esi
call fcn.0040239a
push ebx
mov ecx, esi
call fcn.00401263
push 0x4540e0
mov ecx, eax
call fcn.0040239a
push dword [ebp - 0x870]
lea ecx, [ebp - 0x824]
call fcn.004023c1
xor eax, eax
lea ecx, [ebp - 0x824]
mov word [ebp - 0x808], ax
cmp edi, 1
jne 0x415be6
push str._Last_error:
call fcn.0040239a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x86c]
call fcn.004157e4
push eax
lea ecx, [ebp - 0x824]
call fcn.004023c1
lea ecx, [ebp - 0x86c]
call fcn.00402499
jmp 0x415bf0
push 0x4532ac
call fcn.0040239a
mov edi, dword [0x45bc1c]
test edi, edi
je 0x415d84
push 0x3e8
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x415d84
cmp eax, 0xffffffff
je 0x415d84
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.004043eb
cmp dword [0x45bc18], 8
mov eax, 0x45bc04
push ebx
cmovae eax, dword [0x45bc04]
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 0x415d72
push 2
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x415d67
test eax, eax
je 0x415d27
cmp eax, 0x100000
jb 0x415d3a
test esi, esi
je 0x415ca7
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, ebx
push str..old
mov edx, 0x45bc04
lea ecx, [ebp - 0x854]
call fcn.00405b9a
cmp dword [ebp - 0x840], 8
lea eax, [ebp - 0x854]
pop ecx
cmovae eax, dword [ebp - 0x854]
push eax
call fcn.004308cf
cmp dword [ebp - 0x840], 8
mov eax, 0x45bc04
pop ecx
lea ecx, [ebp - 0x854]
cmovae ecx, dword [ebp - 0x854]
cmp dword [0x45bc18], 8
push ecx
cmovae eax, dword [0x45bc04]
push eax
call fcn.00430bc0
pop ecx
pop ecx
lea ecx, [ebp - 0x854]
call fcn.00402499
test esi, esi
je 0x415c3e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x415c3e
push 0xfeff
push 1
push ebx
lea ecx, [ebp - 0x83c]
call fcn.00415da0
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 0x415d72
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x83c]
call fcn.00402499
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea ecx, [ebp - 0x824]
call fcn.00402499
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00427412
mov esp, ebp
pop ebp
ret