Function at 0x450bc8
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x24c
cmp dword [ebp + 0x18], 0
mov byte [ebp - 0x221], 0
mov word [ebp - 0x223], 0x5c23
mov ebx, dword [ebp + 0xc]
jne 0x450c04
mov dword [esp + 8], ebx
mov eax, dword [ebp + 8]
mov dword [esp], str.Opening:__s:__d___7_Zip_
mov dword [esp + 4], eax
call fcn.0043efa9
cmp dword [ebp + 0x10], 0
sete al
cmp dword [ebp + 0x14], 0
sete dl
or al, dl
jne 0x450d43
cmp dword [ebp + 8], 0
je 0x450d43
add ebx, 0x30
cmp dword [ebp + 0x18], 0
mov byte [ebp - 0x223], bl
jne 0x450c4d
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], str.Extracting:__s__From__s_
mov dword [esp + 4], eax
call fcn.0043efa9
xor ecx, ecx
lea ebx, [ebp - 0x11c]
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp + 0x14]
mov edi, ebx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov esi, dword [ebp + 0x14]
lea ecx, [eax + 1]
mov eax, 0x104
cmp ecx, eax
cmova ecx, eax
mov eax, dword [ebp + 0x14]
rep movsb byte es:[edi], byte [esi]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [eax + 1]
cmp edx, 0x104
mov edx, 0x103
cmovae eax, edx
mov byte [ebp + eax - 0x11c], 0
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
dec eax
test eax, eax
je 0x450cb8
mov dl, byte [eax + ebx]
cmp dl, 0x5c
je 0x450cb8
cmp dl, 0x2f
jne 0x450ca6
cmp dword [ebp - 0x22c], 0
mov byte [ebp + eax - 0x11c], 0
mov eax, 0x4b460a
jne 0x450cd4
lea eax, [ebp - 0x223]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
lea esi, [ebp - 0x220]
mov dword [esp + 0x18], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x52ab00
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.__s___y_e___s___s_s
mov dword [esp + 4], 0x104
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__snprintf]
xor edx, edx
mov byte [ebp - 0x11d], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0043dd22
test eax, eax
je 0x450d4a
call fcn.0043f53d
mov dword [esp], str.__Could_not_launch_7z.exe:__s
mov dword [esp + 4], eax
call fcn.0043efa9
xor eax, eax
jmp 0x450e97
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
je 0x450d6c
mov eax, dword [ebp + 0x10]
mov al, byte [eax + esi]
cmp al, 0x5c
je 0x450da1
cmp al, 0x2f
je 0x450da1
dec esi
jmp 0x450d57
lea edi, [ebp - 0x11c]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], 0x4b48d7
mov edx, eax
mov eax, 0x103
mov dword [esp], edi
sub eax, edx
mov edx, 2
cmp eax, edx
cmova eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncat
add esi, dword [ebp + 0x10]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [esp], ebx
mov edi, eax
inc edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], esi
mov edx, eax
mov eax, 0x103
mov dword [esp], ebx
sub eax, edx
cmp eax, edi
cmova eax, edi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncat
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__access]
test eax, eax
je 0x450e1a
cmp dword [ebp - 0x22c], 0
jne 0x450e00
mov dword [ebp - 0x22c], 1
jmp 0x450c5b
cmp dword [ebp + 0x18], 0
jne 0x450d43
mov dword [esp + 4], ebx
mov dword [esp], str.__7z.exe_did_not_extract__s
jmp 0x450d3e
mov eax, ebx
call fcn.0044ebdc
mov esi, eax
mov eax, dword [ebp + 0x14]
call fcn.0044ebdc
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [ebp - 0x22c], eax
mov dword [esp], esi
call dword [sym.imp.KERNEL32.DLL_MoveFileExW]
mov edx, dword [ebp - 0x22c]
sub esp, 0xc
mov edi, eax
test edx, edx
je 0x450e5d
mov dword [esp], edx
call sub.msvcrt.dll_free
test esi, esi
je 0x450e69
mov dword [esp], esi
call sub.msvcrt.dll_free
mov eax, 1
test edi, edi
jne 0x450e97
call fcn.0043f53d
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], str.__Could_not_rename__s_to__s:__s
call fcn.0043efa9
jmp 0x450d43
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret