Function at 0x3002edea
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x468
mov eax, dword [0x300222cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
push 0x206
lea eax, [ebp - 0x44e]
push esi
push eax
mov dword [ebp - 0x460], edi
mov word [ebp - 0x450], si
call sub.MSVCR80.dll_memset
push 0x244
lea eax, [ebp - 0x248]
push esi
push eax
call sub.MSVCR80.dll_memset
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x454], esi
je 0x3002f089
cmp dword [edi + 0x21c], esi
je 0x3002f089
cmp ebx, esi
je 0x3002f089
cmp dword [ebx + 0x21c], esi
je 0x3002f089
push 1
lea eax, [ebp - 0x454]
push eax
push ebx
call fcn.3002e52f
test eax, eax
je 0x3002f094
push dword [ebp - 0x454]
push ebx
call fcn.3002e5fc
test eax, eax
push dword [ebp - 0x454]
jne 0x3002eea8
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x3002f094
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.3002c7b5
test eax, eax
je 0x3002f094
push ebx
call fcn.3002c7b5
test eax, eax
je 0x3002f05f
mov eax, dword [edi + 0x21c]
cmp dword [eax], esi
mov dword [ebp - 0x45c], esi
jbe 0x3002f05f
mov dword [ebp - 0x458], esi
mov ecx, dword [ebx + 0x21c]
mov ecx, dword [ecx]
cmp ecx, dword [ebx + 4]
jae 0x3002f03c
mov esi, dword [eax + 0xc]
add esi, dword [ebp - 0x458]
push esi
call fcn.3003dd10
cmp word [eax], 0x5c
jne 0x3002ef0c
inc eax
inc eax
push eax
lea edi, [ebx + 0xc]
push edi
push 0x30003b94
lea eax, [ebp - 0x450]
push 0x104
push eax
call dword [sym.imp.MSVCR80.dll_swprintf_s]
lea eax, [esi + 0x208]
add esp, 0x14
push eax
mov dword [ebp - 0x468], eax
call fcn.3003dd10
cmp word [eax], 0x5c
jne 0x3002ef45
inc eax
inc eax
push eax
push edi
push 0x30003b94
lea eax, [ebp - 0x248]
push 0x104
push eax
call dword [sym.imp.MSVCR80.dll_swprintf_s]
mov ecx, dword [ebx + 0x21c]
add esp, 0x14
lea eax, [ebp - 0x450]
push eax
call fcn.30025d49
test eax, eax
je 0x3002f04c
lea eax, [ebp - 0x450]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
call esi
test eax, eax
jne 0x3002efbb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003db37
test eax, eax
je 0x3002efad
push esi
push 0x30003b5c
call fcn.3003dc56
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300435b4
jmp 0x3002f010
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x468]
call esi
test eax, eax
jne 0x3002f006
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003db37
test eax, eax
je 0x3002efec
push esi
push 0x30003b20
call fcn.3003dc56
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300435b4
lea eax, [ebp - 0x450]
push eax
call fcn.3003d24c
jmp 0x3002f010
mov dword [ebp - 0x464], 1
inc dword [ebp - 0x45c]
mov eax, dword [ebp - 0x460]
mov eax, dword [eax + 0x21c]
mov ecx, dword [ebp - 0x45c]
add dword [ebp - 0x458], 0x44c
cmp ecx, dword [eax]
jb 0x3002eee4
jmp 0x3002f05f
call fcn.3003db37
test eax, eax
je 0x3002f05f
push 0x30003af0
jmp 0x3002f05a
call fcn.3003db37
test eax, eax
je 0x3002f05f
push 0x30003ab4
call fcn.3003dbd1
push dword [ebx + 0x214]
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call esi
mov edi, dword [ebp - 0x460]
push dword [edi + 0x214]
call esi
push edi
call fcn.3002e850
mov eax, dword [ebp - 0x464]
jmp 0x3002f096
push esi
push 0x30303030
call fcn.300435b4
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.30069776
leave
ret 8