Function at 0x404441
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x53c
and dword [ebp - 0x24], 0
and dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x40], eax
and dword [0x42bed8], 0
cmp dword [ebp + 0x18], 0
je 0x40446d
mov eax, dword [ebp + 0x18]
mov dword [0x42bee4], eax
call fcn.00407a98
cmp dword [0x42d331], 0
je 0x404545
mov al, byte [0x42d339]
mov byte [ebp - 0x18c], al
mov byte [ebp - 0x18b], 0x3a
and byte [ebp - 0x18a], 0
push 0x41710c
push 0x42c785
call fcn.0040348d
pop ecx
pop ecx
lea eax, [ebp - 0x18c]
push eax
push 0x17e8
call fcn.00405acc
push eax
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
call fcn.004079ed
pop ecx
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 2
jne 0x4044ee
xor eax, eax
jmp 0x405373
cmp dword [ebp - 0x15c], 3
jne 0x404534
lea eax, [ebp - 0x18c]
push eax
call dword [0x42bf24]
pop ecx
test eax, eax
je 0x404534
push dword [0x42d350]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push dword [0x42d350]
call dword [sym.imp.USER32.dll_SetActiveWindow]
push dword [0x42d350]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
jmp 0x405373
push 1
lea eax, [ebp - 0x18c]
push eax
call dword [0x42bf20]
pop ecx
pop ecx
push 0
push dword [ebp + 0x14]
call fcn.004056c4
test eax, eax
jne 0x40455a
xor eax, eax
jmp 0x405373
push dword [ebp + 0x14]
lea eax, [ebp - 0x158]
push eax
call fcn.004090c0
pop ecx
pop ecx
lea eax, [ebp - 0x158]
push eax
call fcn.00402edd
push eax
call fcn.00402f30
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x404597
push 0x417114
push dword [ebp - 0x20]
call fcn.004090c0
pop ecx
pop ecx
jmp 0x4045aa
push str..LOG
lea eax, [ebp - 0x158]
push eax
call fcn.004090d0
pop ecx
pop ecx
movsx eax, word [0x42d324]
test eax, eax
jne 0x4045d0
cmp dword [0x42d2f8], 0
je 0x4045d0
push 0x417124
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
movsx eax, word [0x42d324]
cmp eax, 4
jne 0x4045f7
cmp dword [0x42d2f8], 0
je 0x4045f7
push str.Zip_file_contains_password_protected_files__Not_supported_in_MS_DOS__Windows_or_Compact_headers
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
movsx eax, word [0x42d324]
test eax, eax
jne 0x40461f
movzx eax, byte [0x42d1e3]
test eax, eax
je 0x40461f
push 0x4171ec
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
movsx eax, word [0x42d324]
cmp eax, 4
jne 0x404648
movzx eax, byte [0x42d1e3]
test eax, eax
je 0x404648
push str.Icons_are_not_supported_in_MS_DOS__Windows_or_Compact_headers
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
cmp dword [ebp + 0x10], 0
je 0x4046c0
push 0x41726c
lea eax, [ebp - 0x158]
push eax
call fcn.0040a4f0
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x40467c
push str.Could_not_open_LOG_file
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
lea eax, [ebp - 0x48]
push eax
call fcn.0040a390
pop ecx
lea eax, [ebp - 0x48]
push eax
call fcn.0040a1a0
pop ecx
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
call fcn.0040a070
pop ecx
push eax
push str.WinZip_Self_Extractor_started_at__s
push dword [ebp - 8]
call fcn.0040a030
add esp, 0xc
push dword [ebp + 0x14]
push str.Zip_file__s_validated_for_WinZip_Self_Extractor_n
push dword [ebp - 8]
call fcn.0040a030
add esp, 0xc
push 0x180
push 0x8102
push 0x42c785
call fcn.00410100
add esp, 0xc
mov dword [0x42b59c], eax
cmp dword [0x42b59c], 0xffffffff
jne 0x4046f7
push 0x4172e0
call fcn.00401222
pop ecx
xor eax, eax
jmp 0x405373
cmp dword [ebp + 0x10], 0
je 0x40470c
push str.Writing_SFX_header_to_result_file._n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
push dword [ebp - 0x50]
push dword [ebp + 8]
push dword [0x42b59c]
call fcn.0040f6e0
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x50]
je 0x404747
push str.Error_writing_to_EXE_file__disk_full__
call fcn.00401222
pop ecx
jmp 0x4052ff
cmp dword [ebp + 0x10], 0
je 0x40475c
push str.SFX_header_written_to_result_file._n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
call fcn.00404231
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x40476f
jmp 0x4052ff
mov al, byte [0x416158]
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x40]
sub eax, 7
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
cmp dword [ebp - 0x34], 0
je 0x4047c2
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx ecx, byte [ebp - 0xc]
cmp eax, ecx
jne 0x4047b2
push 8
push 0x416158
push dword [ebp - 4]
call fcn.00409f80
add esp, 0xc
test eax, eax
jne 0x4047b2
jmp 0x4047e7
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x404786
push str.Internal_error_3
call fcn.00401222
pop ecx
cmp dword [ebp + 0x10], 0
je 0x4047e2
push str.Eyecatcher_not_found_in_SFX_header__n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
jmp 0x4052ff
mov eax, dword [ebp - 4]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
push 0x3a
push 1
call fcn.00409930
pop ecx
pop ecx
mov dword [0x42bf60], eax
push 0x3a
push dword [ebp - 4]
push dword [0x42bf60]
call fcn.00409c40
add esp, 0xc
mov eax, dword [0x42bf60]
movzx eax, word [eax + 0x2c]
cmp eax, 8
jge 0x404846
push str.Old_Self_Extractor_Header_detected._nThis_version_of_WinZip_Self_Extractor_requires_a_newer_header.
call fcn.00401222
pop ecx
cmp dword [ebp + 0x10], 0
je 0x404841
push str.Old_Self_Extractor_Header_detected__n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
jmp 0x4052ff
push 0x8000
push dword [ebp + 0x14]
call fcn.00410100
pop ecx
pop ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffff
jne 0x40486e
push 0x41743c
call fcn.00401222
pop ecx
jmp 0x4052ff
cmp dword [ebp + 0x10], 0
je 0x404883
push str.Copying_Zip_file_to_result_file._n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
push dword [ebp + 0x14]
call fcn.004011e7
pop ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
test eax, eax
je 0x4048bf
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x38]
push dword [0x42b59c]
call fcn.00406a5e
add esp, 0x10
test eax, eax
jne 0x4048ba
jmp 0x4052ff
jmp 0x404b2d
push 0x88
push 0
lea eax, [ebp - 0x214]
push eax
call fcn.00409390
add esp, 0xc
push dword [ebp - 0x38]
call fcn.0040eed0
pop ecx
or dword [ebp - 0x38], 0xffffffff
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
or dword [0x42b59c], 0xffffffff
push dword [ebp + 0x14]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x42d331], 0
je 0x404917
cmp dword [0x42d335], 0
je 0x40492b
push 0x42c785
lea eax, [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40495d
push 0x42c785
lea eax, [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str..zip
lea eax, [ebp - 0x318]
push eax
call fcn.0040348d
pop ecx
pop ecx
lea eax, [ebp - 0x318]
push eax
call fcn.00409c10
pop ecx
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x1fc], eax
and dword [ebp - 0x200], 0
lea eax, [ebp - 0x318]
mov dword [ebp - 0x1f8], eax
cmp dword [0x42d331], 0
je 0x4049a6
movsx eax, word [0x42d324]
cmp eax, 3
jne 0x40499d
mov dword [ebp - 0x204], 3
jmp 0x4049a4
and dword [ebp - 0x204], 0
jmp 0x4049c8
movsx eax, word [0x42d324]
cmp eax, 3
jne 0x4049be
mov dword [ebp - 0x204], 5
jmp 0x4049c8
mov dword [ebp - 0x204], 2
and dword [ebp - 0x424], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x420], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x420]
cmp eax, 0x1f40
jae 0x404a34
call section..text
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push 0x42c785
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xffffffff
je 0x404a32
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call section..text
jmp 0x404a34
jmp 0x4049db
cmp dword [ebp - 0x424], 0xffffffff
jne 0x404a4d
push 0x41748c
call fcn.00401222
pop ecx
jmp 0x4052ff
lea eax, [ebp - 0x214]
push eax
call dword [0x42bf1c]
pop ecx
cmp dword [0x42bed8], 0
jne 0x404a6d
cmp dword [ebp - 0x214], 0
je 0x404a72
jmp 0x4052ff
cmp dword [0x42d331], 0
je 0x404ada
cmp dword [0x42bedc], 0
je 0x404ada
mov al, byte [0x42d339]
mov byte [ebp - 0x42c], al
mov byte [ebp - 0x42b], 0x3a
mov byte [ebp - 0x42a], 0x5c
and byte [ebp - 0x429], 0
lea eax, [ebp - 0x42c]
push eax
call fcn.004071fe
pop ecx
cmp eax, 1
je 0x404ada
push 1
push 0x416030
push str.Please_insert_disk_1.
push dword [0x42d350]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x404ad8
jmp 0x4052ff
jmp 0x404aa4
push 0x180
push 0x8102
push 0x42c785
call fcn.00410100
add esp, 0xc
mov dword [0x42b59c], eax
cmp dword [0x42b59c], 0xffffffff
jne 0x404b2d
push str.Could_not_open_EXE_file_for_writing
call fcn.00401222
pop ecx
cmp dword [0x42bf60], 0
je 0x404b1f
push dword [0x42bf60]
call fcn.004098e0
pop ecx
and dword [0x42bf60], 0
xor eax, eax
jmp 0x405373
cmp dword [ebp - 0x38], 0xffffffff
jne 0x404b3c
push dword [ebp - 0x38]
call fcn.0040eed0
pop ecx
or dword [ebp - 0x38], 0xffffffff
cmp dword [ebp + 0x10], 0
je 0x404b55
push str.Copying_complete._Updating_Eyecatcher._n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
push 0
push dword [ebp - 0x2c]
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
je 0x404b83
push 0x417514
call fcn.00401222
pop ecx
jmp 0x4052ff
cmp dword [0x42d331], 0
jne 0x404bd3
push 0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x30]
push eax
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov eax, dword [0x42b59c]
mov dword [0x42b598], eax
and dword [0x42bf14], 0
call fcn.00402de3
or dword [0x42b598], 0xffffffff
push 0
push dword [ebp - 0x2c]
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov eax, dword [0x42bf60]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x30]
mov ecx, dword [0x42bf60]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42bf60]
mov ecx, dword [0x41b43c]
mov dword [eax + 0x14], ecx
mov eax, dword [0x42bf60]
and dword [eax + 8], 0
mov eax, dword [0x42bf60]
mov ecx, dword [0x42bf14]
mov dword [eax + 0x18], ecx
mov eax, dword [0x42bf60]
and dword [eax + 0x1c], 0
cmp dword [0x42bf3c], 0
je 0x404c37
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 0x80
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42bf40], 0
je 0x404c54
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 0x20
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42bf4c], 0
je 0x404c70
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 8
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d2f0], 0
je 0x404c8c
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 1
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d2ec], 0
je 0x404ca8
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 2
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
movzx eax, byte [0x42d328]
test eax, eax
je 0x404cc6
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 4
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d308], 0
je 0x404ce2
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 0x10
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d30c], 0
je 0x404d01
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x40000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42bf10], 0
je 0x404d1d
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 0x40
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d2f8], 0
je 0x404d3a
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 1
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d2fc], 0
je 0x404d57
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 2
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d300], 0
je 0x404d74
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 4
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
movsx eax, word [0x42d324]
cmp eax, 3
jne 0x404da6
cmp dword [0x42d331], 0
jne 0x404da6
cmp dword [0x42d318], 0
je 0x404da6
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 8
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d331], 0
je 0x404dc3
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 0x10
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d335], 0
je 0x404de0
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or ah, 0x80
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d310], 0
je 0x404dff
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x10000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d314], 0
je 0x404e1e
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x20000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d31c], 0
je 0x404e3d
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x80000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d320], 0
je 0x404e5c
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x100000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
cmp dword [0x42d33e], 0
je 0x404e7b
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or eax, 0x200000
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x42bf60]
or word [eax + 0x2a], 0xffff
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0x1c]
or al, 0x20
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x1c], eax
push 8
push 0x42d328
mov eax, dword [0x42bf60]
add eax, 0x20
push eax
call fcn.00409b10
add esp, 0xc
mov eax, dword [0x42bf60]
and byte [eax + 0x28], 0
push dword [ebp + 8]
call fcn.00408262
pop ecx
mov ecx, dword [0x42bf60]
mov dword [ecx + 0x36], eax
mov dword [ebp - 0x430], 1
cmp dword [ebp - 0x430], 0
je 0x404f9d
push 0x3a
push dword [0x42bf60]
push dword [0x42b59c]
call fcn.0040f6e0
add esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x3a
jne 0x404f07
jmp 0x404f9d
push 0x11
push 0x416030
push str.Could_not_update_EXE_file._Make_sure_the_disk_isnt_write_protected.
push dword [0x42d350]
call dword [sym.imp.USER32.dll_MessageBoxA]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x430], 0
jne 0x404f36
jmp 0x404f9d
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
or dword [0x42b59c], 0xffffffff
push 0x180
push 0x8002
push 0x42c785
call fcn.00410100
add esp, 0xc
mov dword [0x42b59c], eax
cmp dword [0x42b59c], 0xffffffff
jne 0x404f82
and dword [ebp - 0x430], 0
push 0x417578
call fcn.00401222
pop ecx
jmp 0x404f9d
push 0
push dword [ebp - 0x2c]
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov dword [ebp - 0x28], eax
jmp 0x404ed6
cmp dword [ebp - 0x430], 0
jne 0x404fab
jmp 0x4052ff
movsx eax, word [0x42d324]
cmp eax, 3
jne 0x40505a
cmp dword [0x42d331], 0
jne 0x40505a
cmp dword [0x42d318], 0
je 0x40505a
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
and dword [0x42b59c], 0
push 0x42c785
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x538]
push eax
call fcn.00407cca
add esp, 0xc
test eax, eax
je 0x405029
push dword [ebp - 0x24]
lea eax, [ebp - 0x538]
push eax
call fcn.0040817c
pop ecx
pop ecx
test eax, eax
jne 0x40503e
push 0x177a
call fcn.00405acc
push eax
call fcn.00401257
jmp 0x4052ff
push 0x180
push 0x8002
push 0x42c785
call fcn.00410100
add esp, 0xc
mov dword [0x42b59c], eax
cmp dword [ebp + 0x10], 0
je 0x40506f
push str.Computing_CRC_n
push dword [ebp - 8]
call fcn.0040a030
pop ecx
pop ecx
push 0
push 0
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x40509a
push 0x4175a4
call fcn.00401222
pop ecx
jmp 0x4052ff
or dword [0x41b0c4], 0xffffffff
mov eax, dword [0x42bf60]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x4c]
push 0x41b488
push dword [0x42b59c]
call fcn.00411190
add esp, 0xc
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
je 0x4050dd
push str.Could_not_read_data_from_EXE_file
call fcn.00401222
pop ecx
jmp 0x4052ff
movsx eax, word [0x42d324]
cmp eax, 3
jne 0x40510b
cmp dword [0x42d331], 0
jne 0x40510b
cmp dword [0x42d318], 0
je 0x40510b
push 0x41b488
call fcn.00408245
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x40510f
and dword [ebp - 0x18], 0
or dword [0x41b0c4], 0xffffffff
movzx eax, byte [0x42c560]
test eax, eax
je 0x405131
cmp dword [0x42c664], 0
jne 0x405131
and dword [0x41b0c4], 0
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x18]
add eax, 0x41b488
push eax
call fcn.00402e92
pop ecx
pop ecx
or eax, 0xffffffff
sub eax, dword [0x41b0c4]
mov dword [0x41b0c4], eax
cmp dword [ebp + 0x10], 0
je 0x405172
push dword [0x41b0c4]
push str.CRC_value_for_SFX_header_is__8.8lX_n
push dword [ebp - 8]
call fcn.0040a030
add esp, 0xc
mov eax, dword [ebp - 0x2c]
add eax, 8
mov dword [ebp - 0x14], eax
push 0
push dword [ebp - 0x14]
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
je 0x4051a9
push str.Could_not_seek_on_EXE_file
call fcn.00401222
pop ecx
jmp 0x4052ff
cmp dword [0x42d304], 0
je 0x4051b9
and dword [0x41b0c4], 0
cmp dword [0x42d331], 0
je 0x4051c9
and dword [0x41b0c4], 0
push 4
push 0x41b0c4
push dword [0x42b59c]
call fcn.0040f6e0
add esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 4
je 0x4051f7
push str.Could_not_update_EXE_file
call fcn.00401222
pop ecx
jmp 0x4052ff
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
or dword [0x42b59c], 0xffffffff
cmp dword [ebp + 0x10], 0
je 0x405246
lea eax, [ebp - 0x48]
push eax
call fcn.0040a390
pop ecx
lea eax, [ebp - 0x48]
push eax
call fcn.0040a1a0
pop ecx
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
call fcn.0040a070
pop ecx
push eax
push 0x42c785
push str.WinZip_Self_Extractor_Done___created__s_at__s._n
push dword [ebp - 8]
call fcn.0040a030
add esp, 0x10
cmp dword [0x42d331], 0
jne 0x4052de
push 0
push 0x42c785
call fcn.00410100
pop ecx
pop ecx
mov dword [0x42b59c], eax
push 0
mov eax, dword [0x42bf60]
push dword [eax + 0x14]
push dword [0x42b59c]
call fcn.00409a50
add esp, 0xc
mov ecx, dword [0x42bf60]
cmp eax, dword [ecx + 0x14]
je 0x405294
push str.Internal_Error_13
call fcn.00401222
pop ecx
push 4
lea eax, [ebp - 0x53c]
push eax
push dword [0x42b59c]
call fcn.00411190
add esp, 0xc
cmp dword [ebp - 0x53c], 0x6054b50
je 0x4052c2
push str.zip_has_been_changed
call fcn.00401222
pop ecx
cmp dword [0x42b59c], 0xffffffff
je 0x4052d7
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
or dword [0x42b59c], 0xffffffff
cmp dword [0x42bf60], 0
je 0x4052f3
push dword [0x42bf60]
call fcn.004098e0
pop ecx
and dword [0x42bf60], 0
push 1
pop eax
jmp 0x405373
cmp dword [0x42b598], 0
je 0x405314
push dword [0x42b598]
call fcn.0040eed0
pop ecx
or dword [0x42b598], 0xffffffff
cmp dword [ebp - 0x38], 0
je 0x40532a
push dword [ebp - 0x38]
call fcn.0040eed0
pop ecx
or dword [ebp - 0x38], 0xffffffff
cmp dword [0x42b59c], 0
je 0x405343
push dword [0x42b59c]
call fcn.0040eed0
pop ecx
or dword [0x42b59c], 0xffffffff
push 0x42c785
call fcn.00409c10
pop ecx
cmp dword [0x42bf60], 0
je 0x40536a
push dword [0x42bf60]
call fcn.004098e0
pop ecx
and dword [0x42bf60], 0
xor eax, eax
leave
ret 0x14