Function at 0x44ff80
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e928
mov eax, dword fs:[0]
push eax
sub esp, 0x528
mov eax, dword [0x4e32e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
movdqu xmm0, xmmword [str._04d__02d__02d__02d._02d._02d.bak]
mov ax, word [0x4b43e0]
mov edi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
movdqu xmmword [ebp - 0x2d0], xmm0
mov word [ebp - 0x2b0], ax
lea eax, [ebp - 0x4d4]
movdqu xmm0, xmmword [0x4b43d0]
push eax
movdqu xmmword [ebp - 0x2c0], xmm0
call edi
movzx eax, word [ebp - 0x4c8]
push eax
movzx eax, word [ebp - 0x4ca]
push eax
movzx eax, word [ebp - 0x4cc]
push eax
movzx eax, word [ebp - 0x4ce]
push eax
movzx eax, word [ebp - 0x4d2]
push eax
movzx eax, word [ebp - 0x4d4]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x4c4]
push eax
call fcn.00467033
mov eax, dword [0x4e94e8]
add esp, 0x20
test eax, eax
je 0x450583
lea ecx, [ebp - 0x514]
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x510], eax
call fcn.004272b0
mov ecx, dword [0x4e94e8]
mov dword [ebp - 4], 0
call fcn.00426ef0
mov esi, eax
test esi, esi
je 0x450262
jmp 0x450080
cmp byte [esi + 0x28], 0
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
je 0x450092
lea eax, [esi + 0x30]
push eax
call ebx
mov byte [ebp - 0x504], 0
mov dword [ebp - 0x500], esi
lea eax, [ebp - 0x4e4]
mov byte [ebp - 4], 1
push eax
call edi
movzx eax, word [ebp - 0x4d8]
push eax
movzx eax, word [ebp - 0x4da]
push eax
movzx eax, word [ebp - 0x4dc]
push eax
movzx eax, word [ebp - 0x4de]
push eax
movzx eax, word [ebp - 0x4e2]
push eax
lea eax, [ebp - 0x78]
push str.__02d__02d__02d:_02d:_02d_
push eax
call fcn.00467033
add esp, 0x1c
cmp byte [esi + 0x28], 0
je 0x4500f1
lea eax, [esi + 0x30]
push eax
call ebx
cmp byte [esi + 0x48], 0
je 0x450159
mov eax, dword [esi + 0x50]
lea edi, [esi + 0x50]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x528]
add ecx, edi
push eax
call fcn.0041fce0
push eax
mov byte [ebp - 4], 3
call fcn.00417020
mov ecx, dword [ebp - 0x528]
add esp, 4
mov byte [ebp - 4], 1
mov ebx, eax
test ecx, ecx
je 0x45013c
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x45013c
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebx]
mov ecx, ebx
push 0xa
mov eax, dword [eax + 0x20]
call eax
movzx eax, al
mov ecx, edi
push eax
call fcn.00424b00
mov ecx, edi
call fcn.0041fbb0
lea eax, [ebp - 0x78]
mov byte [esi + 0x48], 1
push eax
lea edi, [esi + 0x50]
push edi
call fcn.00416710
mov eax, dword [ebp - 0x500]
lea ecx, [ebp - 0x504]
push str.Backup:log_stream_close_success.
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x500]
add eax, 0x50
mov byte [ebp - 0x504], 1
push eax
call fcn.00416710
add esp, 0x10
mov byte [ebp - 4], 0
cmp byte [ebp - 0x504], 0
je 0x450240
mov eax, dword [ebp - 0x500]
mov byte [ebp - 0x504], 0
mov dword [eax + 0x4c], 0
mov esi, dword [ebp - 0x500]
mov eax, dword [esi + 0x50]
lea ebx, [esi + 0x50]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x52c]
add ecx, ebx
push eax
call fcn.0041fce0
push eax
mov byte [ebp - 4], 4
call fcn.00417020
mov ecx, dword [ebp - 0x52c]
add esp, 4
mov dword [ebp - 0x524], eax
mov byte [ebp - 4], 0
test ecx, ecx
je 0x45020b
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x45020b
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x524]
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
movzx eax, al
mov ecx, ebx
push eax
call fcn.00424b00
mov ecx, ebx
call fcn.0041fbb0
mov byte [esi + 0x48], 0
cmp byte [esi + 0x28], 0
je 0x450240
lea eax, [esi + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, edi
call fcn.00450e30
mov ecx, dword [0x4e94e8]
call fcn.00426ef0
mov edi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov esi, eax
test esi, esi
jne 0x450080
lea ecx, [ebp - 0x514]
call fcn.004401e0
lea ecx, [ebp - 0x514]
call fcn.00424d20
mov eax, dword [0x4e94e8]
lea ecx, [ebp - 0x51c]
mov dword [ebp - 4], 5
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], eax
call fcn.004272b0
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
mov byte [ebp - 4], 6
lea esp, [esp]
mov ecx, dword [0x4e94e8]
call fcn.00426ef0
test eax, eax
je 0x450327
lea esi, [eax + 0x20]
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x534]
push esi
push eax
call fcn.0044fd10
add esp, 0xc
cmp dword [eax], 0
jne 0x4502e5
mov ecx, 0x491578
jmp 0x4502ea
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
cmp dword [esi], 0
jne 0x4502f6
mov eax, 0x491578
jmp 0x4502fb
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
push ecx
push eax
call edi
cmp dword [ebp - 0x534], 0
je 0x4502b0
mov ecx, dword [ebp - 0x534]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x534], 0
jmp 0x4502b0
lea ecx, [ebp - 0x51c]
call fcn.004401e0
lea ecx, [ebp - 0x51c]
call fcn.00424d20
mov eax, dword [0x4e94e8]
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x508], eax
call fcn.004272b0
mov ecx, dword [0x4e94e8]
mov dword [ebp - 4], 8
call fcn.00426ef0
mov esi, eax
test esi, esi
je 0x45056d
lea esp, [esp]
push 1
mov ecx, esi
call fcn.004505a0
cmp dword [esi + 0xa4], 0
je 0x4504a9
mov byte [ebp - 0x4fc], 0
mov dword [ebp - 0x4f8], esi
lea eax, [ebp - 0x4f4]
mov byte [ebp - 4], 9
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x4e8]
push eax
movzx eax, word [ebp - 0x4ea]
push eax
movzx eax, word [ebp - 0x4ec]
push eax
movzx eax, word [ebp - 0x4ee]
push eax
movzx eax, word [ebp - 0x4f2]
push eax
lea eax, [ebp - 0xdc]
push str.__02d__02d__02d:_02d:_02d_
push eax
call fcn.00467033
add esp, 0x1c
cmp byte [esi + 0x28], 0
je 0x450400
lea eax, [esi + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [esi + 0x48], 0
je 0x450412
lea eax, [esi + 0x50]
push eax
call fcn.00420a60
add esp, 4
lea eax, [ebp - 0xdc]
mov byte [esi + 0x48], 1
push eax
lea eax, [esi + 0x50]
push eax
call fcn.00416710
mov eax, dword [ebp - 0x4f8]
lea ecx, [ebp - 0x4fc]
push str.Backup:log_stream_oepn_success.
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x4f8]
add eax, 0x50
mov byte [ebp - 0x4fc], 1
push eax
call fcn.00416710
add esp, 0x10
mov byte [ebp - 4], 8
cmp byte [ebp - 0x4fc], 0
je 0x450546
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 0x4fc], 0
mov dword [eax + 0x4c], 0
mov edi, dword [ebp - 0x4f8]
lea eax, [edi + 0x50]
push eax
call fcn.00420a60
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add esp, 4
mov byte [edi + 0x48], 0
cmp byte [edi + 0x28], 0
je 0x45054c
lea eax, [edi + 0x30]
push eax
call ebx
jmp 0x45054c
cmp dword [esi + 0x10], 0
jne 0x4504b6
mov eax, 0x491578
jmp 0x4504bc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x10]
push str.__close
push eax
push str.Backup:write_file_failed__log_file__
push 0x4ea520
call fcn.00416710
add esp, 8
push eax
call fcn.00416710
add esp, 8
push eax
call fcn.00416710
mov edi, eax
add esp, 8
lea eax, [ebp - 0x520]
mov ecx, dword [edi]
push eax
mov ecx, dword [ecx + 4]
add ecx, edi
call fcn.0041fce0
push eax
mov byte [ebp - 4], 0xa
call fcn.00417020
mov ecx, dword [ebp - 0x520]
add esp, 4
mov byte [ebp - 4], 8
mov ebx, eax
test ecx, ecx
je 0x450529
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x450529
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebx]
mov ecx, ebx
push 0xa
mov eax, dword [eax + 0x20]
call eax
movzx eax, al
mov ecx, edi
push eax
call fcn.00424b00
mov ecx, edi
call fcn.0041fbb0
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [esi + 0x28], 0
je 0x450558
lea eax, [esi + 0x30]
push eax
call ebx
mov ecx, dword [0x4e94e8]
call fcn.00426ef0
mov esi, eax
test esi, esi
jne 0x450380
lea ecx, [ebp - 0x50c]
call fcn.004401e0
lea ecx, [ebp - 0x50c]
call fcn.00424d20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004670fe
mov esp, ebp
pop ebp
ret