Function at 0x42858a
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x4a95d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor eax, eax
push 0x206
mov word [ebp - 0x450], ax
xor edi, edi
lea eax, [ebp - 0x44e]
push edi
push eax
call fcn.0045d10c
push 0x244
lea eax, [ebp - 0x248]
push edi
push eax
call fcn.0045d10c
add esp, 0x18
mov dword [ebp - 0x458], edi
test ebx, ebx
je 0x428835
cmp dword [ebx + 0x21c], edi
je 0x428835
test esi, esi
je 0x428835
cmp dword [esi + 0x21c], edi
je 0x428835
push 1
lea eax, [ebp - 0x458]
push eax
push esi
call fcn.004295b5
test eax, eax
je 0x42883f
push dword [ebp - 0x458]
push esi
call fcn.0042969d
push dword [ebp - 0x458]
test eax, eax
jne 0x42863e
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x42883f
call dword [sym.imp.KERNEL32.dll_LocalFree]
push ebx
call fcn.004264fb
test eax, eax
je 0x42883f
push esi
call fcn.004264fb
test eax, eax
je 0x428815
mov ecx, dword [ebx + 0x21c]
mov dword [ebp - 0x464], edi
cmp dword [ecx], edi
jbe 0x428815
mov edx, edi
mov dword [ebp - 0x45c], edx
mov eax, dword [esi + 0x21c]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
jae 0x428802
mov eax, dword [ecx + 0xc]
add eax, edx
push eax
mov dword [ebp - 0x454], eax
call fcn.00439c38
push 0x5c
pop ecx
cmp word [eax], cx
jne 0x4286a9
add eax, 2
push eax
lea ecx, [esi + 0xc]
push ecx
push 0x403a98
lea eax, [ebp - 0x450]
push 0x104
push eax
call fcn.0045caf7
mov eax, dword [ebp - 0x454]
add eax, 0x208
add esp, 0x14
push eax
mov dword [ebp - 0x460], eax
call fcn.00439c38
push 0x5c
pop ecx
cmp word [eax], cx
jne 0x4286e9
add eax, 2
push eax
lea eax, [esi + 0xc]
push eax
push 0x403a98
lea eax, [ebp - 0x248]
push 0x104
push eax
call fcn.0045caf7
add esp, 0x14
lea eax, [ebp - 0x450]
push eax
push dword [esi + 0x21c]
call fcn.0043d976
cmp eax, 0xffffffff
je 0x4287f2
lea eax, [ebp - 0x450]
push eax
push dword [ebp - 0x454]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x42876c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x454], eax
call fcn.0043714c
test eax, eax
je 0x428760
push dword [ebp - 0x454]
push 0x403ae0
call fcn.004370fa
pop ecx
pop ecx
push 0x30303030
call fcn.0044a6b6
jmp 0x4287c5
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x460]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x4287c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x460], eax
call fcn.0043714c
test eax, eax
je 0x4287aa
push dword [ebp - 0x460]
push 0x403b18
call fcn.004370fa
pop ecx
pop ecx
push 0x30303030
call fcn.0044a6b6
lea eax, [ebp - 0x450]
push eax
call fcn.0043a34c
jmp 0x4287c5
xor edi, edi
inc edi
mov edx, dword [ebp - 0x464]
add dword [ebp - 0x45c], 0x44c
mov ecx, dword [ebx + 0x21c]
inc edx
cmp edx, dword [ecx]
mov dword [ebp - 0x464], edx
mov edx, dword [ebp - 0x45c]
jb 0x42867c
jmp 0x428815
call fcn.0043714c
test eax, eax
je 0x428815
push 0x403aa4
jmp 0x428810
call fcn.0043714c
test eax, eax
je 0x428815
push 0x403a68
call fcn.00439586
push dword [esi + 0x214]
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call esi
push dword [ebx + 0x214]
call esi
push ebx
call fcn.00426690
mov eax, edi
jmp 0x428841
push 0x30303030
call fcn.0044a6b6
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045cd7f
leave
ret 8