Function at 0x3002ee4c
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x468
mov eax, dword [0x30022344]
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 fcn.3006a130
push 0x244
lea eax, [ebp - 0x248]
push esi
push eax
call fcn.3006a130
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x454], esi
je 0x3002f0eb
cmp dword [edi + 0x21c], esi
je 0x3002f0eb
cmp ebx, esi
je 0x3002f0eb
cmp dword [ebx + 0x21c], esi
je 0x3002f0eb
push 1
lea eax, [ebp - 0x454]
push eax
push ebx
call fcn.3002e591
test eax, eax
je 0x3002f0f6
push dword [ebp - 0x454]
push ebx
call fcn.3002e65e
test eax, eax
push dword [ebp - 0x454]
jne 0x3002ef0a
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x3002f0f6
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.3002c815
test eax, eax
je 0x3002f0f6
push ebx
call fcn.3002c815
test eax, eax
je 0x3002f0c1
mov eax, dword [edi + 0x21c]
cmp dword [eax], esi
mov dword [ebp - 0x45c], esi
jbe 0x3002f0c1
mov dword [ebp - 0x458], esi
mov ecx, dword [ebx + 0x21c]
mov ecx, dword [ecx]
cmp ecx, dword [ebx + 4]
jae 0x3002f09e
mov esi, dword [eax + 0xc]
add esi, dword [ebp - 0x458]
push esi
call fcn.3003de13
cmp word [eax], 0x5c
jne 0x3002ef6e
inc eax
inc eax
push eax
lea edi, [ebx + 0xc]
push edi
push 0x30003bcc
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.3003de13
cmp word [eax], 0x5c
jne 0x3002efa7
inc eax
inc eax
push eax
push edi
push 0x30003bcc
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.30025db1
test eax, eax
je 0x3002f0ae
lea eax, [ebp - 0x450]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
call esi
test eax, eax
jne 0x3002f01d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003dc3a
test eax, eax
je 0x3002f00f
push esi
push 0x30003b94
call fcn.3003dd59
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300436bb
jmp 0x3002f072
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x468]
call esi
test eax, eax
jne 0x3002f068
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.3003dc3a
test eax, eax
je 0x3002f04e
push esi
push 0x30003b58
call fcn.3003dd59
pop ecx
pop ecx
push 0
push 0x30303030
call fcn.300436bb
lea eax, [ebp - 0x450]
push eax
call fcn.3003d34f
jmp 0x3002f072
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 0x3002ef46
jmp 0x3002f0c1
call fcn.3003dc3a
test eax, eax
je 0x3002f0c1
push 0x30003b28
jmp 0x3002f0bc
call fcn.3003dc3a
test eax, eax
je 0x3002f0c1
push 0x30003aec
call fcn.3003dcd4
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.3002e8b2
mov eax, dword [ebp - 0x464]
jmp 0x3002f0f8
push esi
push 0x30303030
call fcn.300436bb
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.30069876
leave
ret 8