Function at 0x401e6c
Capabilities:
Create process on windows
Delete file
Terminate process

Disassembly:
mov eax, 0x4698e4
call fcn.0045d3c0
sub esp, 0x8e4
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
push edi
je 0x401e9c
push ebx
push 0x3e9
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov edi, 0x497668
mov ecx, edi
call fcn.004043a2
test al, al
je 0x401ee1
push esi
call fcn.00401bac
test al, al
pop ecx
jne 0x401ee1
mov eax, dword [0x49783c]
cmp eax, ebx
je 0x401ecd
push str.Password_is_incorrect._n
push eax
call fcn.0045d435
pop ecx
pop ecx
push ebx
push esi
call dword [sym.imp.USER32.dll_EndDialog]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x4021ab
mov eax, dword [0x49783c]
cmp eax, ebx
je 0x401ef7
push str.Password_verified..._n
push eax
call fcn.0045d435
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
call fcn.00416ed0
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 4], ebx
call fcn.00419d20
lea eax, [ebp - 0x2a0]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
call fcn.004043c4
lea ecx, [ebp - 0x2a0]
call fcn.00419e50
test eax, eax
je 0x402057
lea ecx, [ebp - 0x2a0]
call fcn.0041a7a0
push eax
lea ecx, [ebp - 0x34]
call fcn.00416a20
lea ecx, [ebp - 0x34]
call fcn.00416910
push 0x2f
push 0x5c
lea ecx, [ebp - 0x34]
call fcn.004162e0
push 0x5c
push 0x2f
lea ecx, [ebp - 0x34]
call fcn.004162e0
mov esi, 0x47f604
push esi
lea ecx, [ebp - 0x34]
call fcn.00418120
test al, al
je 0x401f88
push 0x47f600
push esi
lea ecx, [ebp - 0x34]
call fcn.00417850
jmp 0x401f6b
cmp dword [0x49783c], ebx
je 0x401fac
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push str.unzipDir____s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
push ebx
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
call fcn.0041e670
pop ecx
cmp al, bl
pop ecx
jne 0x402082
cmp dword [0x49783c], ebx
je 0x401fe9
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push str.failed_to_ensure_dir_exists:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x1e0]
call fcn.00419d20
push str.Failed_to_ensure_dir_exists:
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 2
call fcn.0041a770
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0041a770
push ebx
push 0x47f2b0
lea ecx, [ebp - 0x1e0]
call fcn.0041a130
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EndDialog]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1e0]
jmp 0x40218c
mov eax, dword [0x49783c]
cmp eax, ebx
je 0x40206d
push str.Selecting_temp_dir_for_unzipping..._n
push eax
call fcn.0045d435
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.00401d82
pop ecx
test al, al
pop ecx
jne 0x402085
jmp 0x402191
mov esi, dword [ebp + 8]
cmp dword [0x49783c], ebx
je 0x4020a9
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push str.Final_unzip_dir:___s_..._n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x34]
call fcn.004226f0
test eax, eax
je 0x4021c1
lea ecx, [ebp - 0x240]
call fcn.00419d20
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00422700
push eax
lea ecx, [ebp - 0x240]
call fcn.0041a770
lea eax, [ebp - 0x240]
push eax
call fcn.0041c430
movzx eax, al
cmp eax, ebx
pop ecx
jne 0x4021b2
cmp dword [0x49783c], ebx
je 0x402118
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push str.failed_to_set_current_dir:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x1e0]
call fcn.00419d20
push str.Failed_to_set_current_dir:
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 4
call fcn.0041a770
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0041a770
push ebx
push 0x47f2b0
lea ecx, [ebp - 0x1e0]
call fcn.0041a130
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
push esi
call dword [sym.imp.USER32.dll_EndDialog]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 3
call fcn.00419de0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00419de0
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], bl
call fcn.00419de0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004171c0
xor al, al
jmp 0x402b11
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 1
call fcn.00419de0
lea ecx, [ebp - 0x300]
call fcn.00419d20
lea eax, [ebp - 0x300]
mov ecx, edi
push eax
mov byte [ebp - 4], 5
call fcn.004043fc
lea ecx, [ebp - 0x300]
call fcn.00419e50
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, 0x3f0
test eax, eax
je 0x40261b
lea ecx, [ebp - 0x38]
call fcn.0041e470
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 6
call fcn.00416ed0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xe8]
push eax
push 0x47f564
call fcn.0041d450
add esp, 0xc
lea ecx, [ebp - 0xe8]
push str..zip
push str..tmp
call fcn.00417730
lea ecx, [ebp - 0x8f0]
call fcn.0040456c
push ebx
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 8
call fcn.00404809
push ebx
lea ecx, [ebp - 0x8f0]
call fcn.00404813
push 1
lea ecx, [ebp - 0x8f0]
call fcn.004046dd
push ebx
lea ecx, [ebp - 0x8f0]
call fcn.0040453c
lea ecx, [ebp - 0x8f0]
call fcn.004046ea
push 1
lea ecx, [ebp - 0x8f0]
call fcn.0040481d
lea ecx, [ebp - 0x14]
call fcn.0041e910
mov dword [ebp - 0x14], 0x470324
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 9
call fcn.00419d20
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xa
call fcn.00422700
push eax
lea ecx, [ebp - 0x164]
call fcn.0041a770
cmp dword [0x49783c], ebx
je 0x40231b
lea ecx, [ebp - 0x300]
call fcn.0041a7a0
push eax
push str.download_from___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x164]
call fcn.0041a7a0
push eax
push str.download_to___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x54]
call fcn.00416ed0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xb
call fcn.00416ed0
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xc
call fcn.00416ed0
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0xd
call fcn.0041a7a0
push eax
lea ecx, [ebp - 0x180]
call fcn.00416a20
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0041ea91
pop ecx
pop ecx
lea ecx, [ebp - 0x104]
call fcn.004226f0
test eax, eax
je 0x4023a3
push str.Downloading_from
lea ecx, [ebp - 0x54]
call fcn.00416a20
lea eax, [ebp - 0x104]
lea ecx, [ebp - 0x54]
push eax
call fcn.00417dd0
push str._...
jmp 0x4023a8
push str.Downloading_...
lea ecx, [ebp - 0x54]
call fcn.00416a20
cmp dword [ebp + 8], ebx
je 0x4023c9
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push ebx
push 0x402
push eax
call edi
lea ecx, [ebp - 0x54]
call fcn.00422700
push eax
push 0x3f8
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x300]
push eax
mov byte [ebp - 0xd], bl
call fcn.004046f9
cmp al, bl
je 0x40258c
cmp dword [ebp + 8], ebx
je 0x402427
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push ebx
push 0x402
push eax
call edi
mov dword [0x497858], ebx
lea ecx, [ebp - 0xcc]
call fcn.00404836
push str.Test
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xe
call fcn.00404a16
push 1
lea ecx, [ebp - 0xcc]
call fcn.0040482c
lea ecx, [ebp - 0x164]
call fcn.0041a7a0
push eax
lea ecx, [ebp - 0xcc]
call fcn.004049ba
cmp al, bl
jne 0x402487
push ebx
push str.Error
push str.Failed_to_open_.zip
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x402569
lea ecx, [ebp - 0x18]
call fcn.00404a25
mov dword [ebp - 0x18], 0x4702e0
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xf
call fcn.00422700
push eax
lea ecx, [ebp - 0xcc]
call fcn.00404906
cmp eax, ebx
mov dword [ebp - 0x58], eax
jge 0x4024d2
push ebx
push str.Error
push str.Failed_to_unzip
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x402556
cmp dword [ebp + 8], ebx
je 0x402552
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push 0x64
push 0x402
push eax
call edi
lea ecx, [ebp - 0xb0]
call fcn.00416ed0
push str.Unzipped
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x10
call fcn.00416a20
push dword [ebp - 0x58]
lea ecx, [ebp - 0xb0]
call fcn.00416720
push str._files.
lea ecx, [ebp - 0xb0]
call fcn.00416a20
lea ecx, [ebp - 0xb0]
call fcn.00422700
push eax
push 0x3f8
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xf
call fcn.004171c0
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x18], 0x4702e0
call fcn.00404a4a
lea ecx, [ebp - 0x164]
call fcn.0041a4b0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xd
call fcn.004048b5
jmp 0x4025a3
push ebx
push str.Error
push str.Failed_to_download_Zip
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 0xd], bl
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xc
call fcn.004171c0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xb
call fcn.004171c0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xa
call fcn.004171c0
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 9
call fcn.00419de0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], 0x470324
call fcn.0041e940
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 7
call fcn.004045fa
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 6
call fcn.004171c0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.0041e4b0
jmp 0x40266c
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push dword [ebp + 8]
call fcn.00401b2b
mov byte [ebp - 0xd], al
mov eax, dword [0x497860]
pop ecx
cmp eax, ebx
pop ecx
je 0x40266c
cmp byte [ebp - 0xd], bl
je 0x402ad1
push str.Finished_unzipping.
push 0x3f8
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push esi
push dword [0x497860]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push 0x64
push 0x402
push eax
call edi
cmp byte [ebp - 0xd], bl
je 0x402ad1
mov eax, dword [0x49783c]
cmp eax, ebx
je 0x40268b
push str.Unzip_complete..._n
push eax
call fcn.0045d435
pop ecx
pop ecx
lea ecx, [ebp - 0x360]
call fcn.00419d20
lea eax, [ebp - 0x360]
mov ecx, 0x497668
push eax
mov byte [ebp - 4], 0x11
call fcn.004044b4
lea ecx, [ebp - 0x360]
call fcn.00419e50
test eax, eax
je 0x402ac0
cmp dword [0x49783c], ebx
je 0x4026e5
lea ecx, [ebp - 0x360]
call fcn.0041a7a0
push eax
push str.setup_filename:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x54]
call fcn.00416ed0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x12
call fcn.0041a7a0
push eax
lea ecx, [ebp - 0x54]
call fcn.00416a20
lea ecx, [ebp - 0x420]
call fcn.00419d20
lea eax, [ebp - 0x420]
mov ecx, 0x497668
push eax
mov byte [ebp - 4], 0x13
call fcn.004044ce
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x14], ebx
call fcn.00419e50
test eax, eax
je 0x40275f
lea ecx, [ebp - 0x420]
call fcn.0041a4b0
mov dword [ebp - 0x14], eax
mov eax, dword [0x49783c]
cmp eax, ebx
je 0x40275f
push dword [ebp - 0x14]
push str.setup_args:___s__n
push eax
call fcn.0045d435
add esp, 0xc
push 0x2f
push 0x5c
lea ecx, [ebp - 0x54]
call fcn.004162e0
push 0x47f450
push 0x47f44c
lea ecx, [ebp - 0x54]
call fcn.00417850
push 0x5c
push 0x2f
lea ecx, [ebp - 0x54]
call fcn.004162e0
cmp dword [0x49783c], ebx
je 0x4027c9
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
push str.working_dir:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x54]
call fcn.00422700
push eax
push str.running_exe:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebx
je 0x4027e2
push ebx
push 0x64
push 0x402
push eax
call edi
lea ecx, [ebp - 0x4e0]
call fcn.00419d20
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x14
call fcn.00419d20
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x15
call fcn.00419d20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x16
call fcn.00422700
push eax
lea ecx, [ebp - 0x4e0]
call fcn.0041a770
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
lea ecx, [ebp - 0x540]
call fcn.0041a770
lea ecx, [ebp - 0x3c0]
call fcn.00419d20
lea eax, [ebp - 0x3c0]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.0041d0a0
add esp, 0xc
cmp dword [0x49783c], ebx
je 0x40288a
lea ecx, [ebp - 0x3c0]
call fcn.0041a7a0
push eax
push str.full_path_to_auto_run_EXE:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
push dword [ebp - 0x14]
lea ecx, [ebp - 0x480]
call fcn.0041a770
push 0x3c
lea eax, [ebp - 0x94]
pop esi
push esi
push ebx
push eax
call fcn.0045ce60
add esp, 0xc
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], 0x40
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.0041a130
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x84], eax
call fcn.0041a130
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x94]
push eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], 5
mov dword [ebp - 0x74], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp eax, ebx
je 0x4029b4
lea ecx, [ebp - 0x240]
call fcn.00419d20
lea eax, [ebp - 0x240]
mov esi, 0x497668
push eax
push str.AutoExit
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.00404290
push 0x47f3f0
lea ecx, [ebp - 0x240]
call fcn.0041aa30
test al, al
je 0x40294a
push ebx
call fcn.0045d4c7
mov ecx, esi
call fcn.0040451a
test al, al
mov eax, dword [0x49783c]
je 0x402994
cmp eax, ebx
je 0x40296b
push str.waiting_for_setup_EXE_to_complete..._n
push eax
call fcn.0045d435
pop ecx
pop ecx
push 0xffffffffffffffff
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp + 8]
mov dword [ebp + 8], ebx
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x4029a5
mov eax, dword [ebp + 8]
mov dword [0x497844], eax
jmp 0x4029a5
cmp eax, ebx
je 0x4029a5
push str.NOT_waiting_for_setup_EXE_to_complete..._n
push eax
call fcn.0045d435
pop ecx
pop ecx
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x240]
jmp 0x402a64
cmp dword [0x49783c], ebx
je 0x4029d8
lea ecx, [ebp - 0x54]
call fcn.00422700
push eax
push str.failed_to_run:___s__n
push dword [0x49783c]
call fcn.0045d435
add esp, 0xc
lea ecx, [ebp - 0x164]
call fcn.00419d20
push str.Failed_to_run
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x19
call fcn.0041a770
lea ecx, [ebp - 0x54]
call fcn.00422700
push eax
lea ecx, [ebp - 0x164]
call fcn.0041a770
push str.__working_dir_
lea ecx, [ebp - 0x164]
call fcn.0041a770
lea ecx, [ebp - 0x34]
call fcn.00422700
push eax
lea ecx, [ebp - 0x164]
call fcn.0041a770
push str.__check_to_see_if_this_file_is_in_the_EXE_
lea ecx, [ebp - 0x164]
call fcn.0041a770
push ebx
push 0x47f2b0
lea ecx, [ebp - 0x164]
call fcn.0041a130
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x164]
call fcn.00419de0
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0x16
call fcn.00419de0
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x15
call fcn.00419de0
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x14
call fcn.00419de0
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x13
call fcn.00419de0
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x12
call fcn.00419de0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x11
call fcn.004171c0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 5
call fcn.00419de0
jmp 0x402ae5
push ebx
push str.Error
push str.Failed_to_extract_archive.
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 1
call fcn.00419de0
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], bl
call fcn.00419de0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004171c0
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret