Function at 0x406f6c
Capabilities:
Move file

Disassembly:
push 0xc8c
mov eax, 0x4195c2
call fcn.0040c2a3
mov eax, dword [ebp + 8]
xor ebx, ebx
push eax
mov dword [ebp - 0xc90], ecx
mov dword [ebp - 0xc88], ebx
call fcn.00406dac
mov edi, eax
cmp edi, ebx
pop ecx
mov dword [ebp - 0xc8c], edi
jne 0x406fab
or dword [ebp - 0xc88], 0xffffffff
jmp 0x40727e
cmp dword [edi], 1
je 0x406fbc
mov dword [0x421df8], 0x80000
jmp 0x406fd3
push dword [ebp - 0xc90]
mov esi, dword [edi + 4]
call fcn.00406391
cmp eax, ebx
mov dword [0x421df8], eax
je 0x406fe2
mov dword [ebp - 0xc88], 0xfffffffe
jmp 0x407277
push 0xffffffffffffffff
lea ecx, [ebp - 0xc80]
mov eax, edi
call fcn.00406e5b
test eax, eax
pop ecx
je 0x407005
mov dword [ebp - 0xc88], 0xfffffffd
jmp 0x407277
mov eax, dword [ebp - 0xc80]
cmp eax, ebx
mov dword [ebp - 0xc94], eax
mov dword [ebp - 0xc84], ebx
jle 0x407277
push dword [ebp - 0xc84]
lea ecx, [ebp - 0xc80]
mov eax, edi
call fcn.00406e5b
test eax, eax
pop ecx
je 0x407067
cmp byte [ebp + 0xc], bl
jne 0x407259
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.zip:_d
push 2
push 0x72
mov edi, str..Utils.cpp
mov esi, 0x42113c
call fcn.004011c9
add esp, 0x10
jmp 0x407259
lea eax, [ebp - 0xc7c]
push eax
mov eax, edi
jmp 0x40720f
cmp eax, 0x200
jne 0x40724f
lea eax, [ebp - 0xc7c]
push eax
lea eax, [ebp - 0xa18]
push 0x41da58
push eax
call fcn.0040884f
add esp, 0xc
push 0x206
lea eax, [ebp - 0x216]
push ebx
push eax
mov word [ebp - 0x218], bx
call fcn.0040a690
mov esi, dword [ebp - 0xc90]
add esp, 0xc
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0040a234
push esi
call fcn.00408d7b
lea eax, [esi + eax*2 - 2]
movzx eax, word [eax]
add esp, 0xc
cmp ax, 0x5c
je 0x4070f9
cmp ax, 0x2f
je 0x4070f9
lea eax, [ebp - 0x218]
push 0x41d980
push eax
call fcn.0040a234
pop ecx
pop ecx
lea eax, [ebp - 0xc7c]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a234
pop ecx
pop ecx
lea eax, [ebp - 0xc7c]
push eax
lea eax, [ebp - 0xa50]
call fcn.004013fe
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa34]
mov dword [ebp - 4], ebx
call fcn.004013fe
mov edi, str..old
push edi
lea eax, [ebp - 0xa34]
push eax
mov byte [ebp - 4], 1
call fcn.004020ad
xor esi, esi
cmp esi, dword [ebp - 0xa3c]
jbe 0x40715a
call fcn.00409093
cmp dword [ebp - 0xa38], 8
mov eax, dword [ebp - 0xa4c]
jae 0x40716f
lea eax, [ebp - 0xa4c]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xc98], eax
lea eax, [ebp - 0xc98]
push eax
lea eax, [ebp - 0xa50]
call fcn.004015e6
cmp eax, 0xffffffff
jne 0x407198
inc esi
cmp esi, 4
jl 0x40714d
jmp 0x4071dd
xor esi, esi
cmp dword [ebp - 0xa1c], 8
mov eax, dword [ebp - 0xa30]
jae 0x4071af
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x4071d8
mov eax, esi
inc esi
cmp eax, 2
jge 0x4071d8
push edi
lea eax, [ebp - 0xa34]
push eax
call fcn.004020ad
jmp 0x40719a
cmp esi, 3
jl 0x4071e2
cmp byte [ebp + 0xc], bl
jne 0x407226
push ebx
push 1
lea esi, [ebp - 0xa34]
call fcn.0040166d
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea esi, [ebp - 0xa50]
call fcn.0040166d
lea eax, [ebp - 0xc7c]
push eax
mov eax, dword [ebp - 0xc8c]
push dword [ebp - 0xc84]
call fcn.00406e9a
cmp eax, ebx
pop ecx
pop ecx
jne 0x407075
jmp 0x407259
xor edi, edi
inc edi
push ebx
push edi
lea esi, [ebp - 0xa34]
mov dword [ebp - 0xc88], edi
call fcn.0040166d
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea esi, [ebp - 0xa50]
call fcn.0040166d
jmp 0x407259
mov dword [ebp - 0xc88], 0xfffffffb
inc dword [ebp - 0xc84]
mov eax, dword [ebp - 0xc84]
cmp eax, dword [ebp - 0xc94]
mov edi, dword [ebp - 0xc8c]
jl 0x40701f
mov esi, edi
call fcn.00406ecb
mov eax, dword [ebp - 0xc88]
call fcn.0040c326
ret