Function at 0x401964
Capabilities:
Delete file
Get common file path

Disassembly:
mov eax, 0x44224b
call fcn.00439938
sub esp, 0x4a0
push ebx
push esi
push edi
lea ecx, [ebp - 0x1c]
call fcn.004024e0
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call fcn.004010b9
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00416690
push dword [0x450088]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.00416360
push dword [0x45008c]
lea ecx, [ebp - 0x44]
call fcn.00416360
push str.ZIP_
lea ecx, [ebp - 0x44]
call fcn.00416360
push dword [0x450098]
lea ecx, [ebp - 0x44]
call fcn.00416360
push dword [0x4500a0]
lea ecx, [ebp - 0x44]
call fcn.00416360
lea ecx, [ebp - 0x44]
call fcn.00406c10
push eax
lea ecx, [ebp - 0x1c]
call fcn.004027d0
push 0x1b5
lea ecx, [ebp - 0x1c]
call fcn.004025b0
xor edi, edi
cmp byte [0x45e62c], bl
je 0x401c63
push ebx
push 0x402017
push dword [ebp + 8]
push 0x82
push dword [0x45e574]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov esi, 0x45e630
mov ecx, esi
call fcn.004160c0
test eax, eax
je 0x401aa1
lea ecx, [ebp - 0x6c]
call fcn.0041a9e0
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
push 0x20
push 0x45e60c
mov byte [ebp - 4], 3
call fcn.00406c10
push eax
push pe_nt_image_headers32
push 1
call fcn.0041c3f0
add esp, 0x18
lea ecx, [ebp - 0x6c]
call fcn.0041a8d0
push 0x1e
push str.01234567890ABCDEF01234567890ABCD
push eax
call fcn.00439d50
add esp, 0xc
test eax, eax
je 0x401acb
push ebx
push str.Error
push str.Incorrect_password.
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.0041aff0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00416820
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004010e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00402550
xor al, al
jmp 0x401c54
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
call fcn.00416690
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 4
push eax
push ebx
call fcn.00417620
pop ecx
pop ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x20]
push ecx
push 0x450210
mov ecx, eax
call fcn.00417840
lea eax, [ebp - 0x4ac]
push eax
push 0x320
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x18c]
push eax
push ebx
lea eax, [ebp - 0x4ac]
push str.ckdec
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea ecx, [ebp - 0x58]
lea edi, [ebp - 0x18c]
call fcn.0041a9e0
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
mov byte [ebp - 4], 5
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.00406c10
push eax
push dword [0x45e608]
push 1
call fcn.0041c3f0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00418380
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.00406c10
push eax
lea ecx, [ebp - 0x58]
call fcn.0041a8d0
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004191a0
add esp, 0x10
lea eax, [ebp - 0x18c]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00402750
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.004183b0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0041aff0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 3
call fcn.00416820
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.0041aff0
cmp dword [ebp + 8], ebx
je 0x401bf4
push 0x3f0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push ebx
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 8]
mov esi, dword [0x45e6b0]
push 0x1b5
lea ecx, [ebp - 0x1c]
mov dword [0x45e6b0], eax
call fcn.004025b0
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
push eax
push dword [ebp + 0xc]
call fcn.00402660
cmp edi, ebx
mov dword [0x45e6b0], esi
je 0x401c2f
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00416820
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004010e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00402550
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
push 0x450210
lea ecx, [ebp - 0x1c]
call fcn.004025e0
test al, al
jne 0x401bd3
push ebx
push str.Error
push str.Failed_to_open_embedded_zip.
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x401c2f