Function at 0x3002ec9a
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x468
mov eax, dword [0x3002223c]
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 0x3002ef39
cmp dword [edi + 0x21c], esi
je 0x3002ef39
cmp ebx, esi
je 0x3002ef39
cmp dword [ebx + 0x21c], esi
je 0x3002ef39
push 1
lea eax, [ebp - 0x454]
push eax
push ebx
call fcn.3002e3df
test eax, eax
je 0x3002ef44
push dword [ebp - 0x454]
push ebx
call fcn.3002e4ac
test eax, eax
push dword [ebp - 0x454]
jne 0x3002ed58
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x3002ef44
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.3002c65d
test eax, eax
je 0x3002ef44
push ebx
call fcn.3002c65d
test eax, eax
je 0x3002ef0f
mov eax, dword [edi + 0x21c]
cmp dword [eax], esi
mov dword [ebp - 0x45c], esi
jbe 0x3002ef0f
mov dword [ebp - 0x458], esi
mov ecx, dword [ebx + 0x21c]
mov ecx, dword [ecx]
cmp ecx, dword [ebx + 4]
jae 0x3002eeec
mov esi, dword [eax + 0xc]
add esi, dword [ebp - 0x458]
push esi
call fcn.3003dbe3
cmp word [eax], 0x5c
jne 0x3002edbc
inc eax
inc eax
push eax
lea edi, [ebx + 0xc]
push edi
push 0x30003b64
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.3003dbe3
cmp word [eax], 0x5c
jne 0x3002edf5
inc eax
inc eax
push eax
push edi
push 0x30003b64
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.30040334
test eax, eax
je 0x3002eefc
lea eax, [ebp - 0x450]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
call esi
test eax, eax
jne 0x3002ee6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003da0a
test eax, eax
je 0x3002ee5d
push esi
push 0x30003b2c
call fcn.3003db29
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300434a3
jmp 0x3002eec0
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x468]
call esi
test eax, eax
jne 0x3002eeb6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003da0a
test eax, eax
je 0x3002ee9c
push esi
push 0x30003af0
call fcn.3003db29
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300434a3
lea eax, [ebp - 0x450]
push eax
call fcn.3003d11f
jmp 0x3002eec0
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 0x3002ed94
jmp 0x3002ef0f
call fcn.3003da0a
test eax, eax
je 0x3002ef0f
push 0x30003ac0
jmp 0x3002ef0a
call fcn.3003da0a
test eax, eax
je 0x3002ef0f
push 0x30003a84
call fcn.3003daa4
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.3002e700
mov eax, dword [ebp - 0x464]
jmp 0x3002ef46
push esi
push 0x30303030
call fcn.300434a3
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.3006961b
leave
ret 8