Function at 0x401655
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8844
call fcn.00406920
push ebx
push esi
push edi
lea eax, [ebp - 0x70d4]
push dword [ebp + 0x10]
push eax
call section..text
xor ebx, ebx
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0x2047]
mov byte [ebp - 0x2048], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x2048]
push eax
lea eax, [ebp - 0x8844]
push eax
lea eax, [ebp - 0x1c60]
push eax
push dword [ebp + 8]
call fcn.0040117d
lea eax, [ebp - 0x108c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x8844]
push eax
lea eax, [ebp - 0x70d4]
push eax
call fcn.004013b6
add esp, 0x28
lea eax, [ebp - 0x6100]
push eax
push 0x101
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x4016f7
push 1
push str.ERROR:_WSAStartup_failed_n
call fcn.00401597
pop ecx
pop ecx
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov edx, 0x100
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x148f]
mov byte [ebp - 0x1490], bl
mov byte [ebp - 0x3058], bl
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x3057]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x284f]
mov byte [ebp - 0x2850], bl
mov byte [ebp - 0x2c54], bl
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x2c53]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x345b]
mov byte [ebp - 0x345c], bl
mov dword [ebp - 0x8074], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x3e7
lea edi, [ebp - 0x8070]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1490]
push str.DEFAULT
push eax
mov byte [ebp - 9], bl
mov byte [ebp - 0x22], bl
mov byte [ebp - 0x21], bl
mov byte [ebp - 0x23], bl
mov byte [ebp - 0x19], bl
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x1a], bl
call section..text
mov eax, dword [ebp - 0x108c]
pop ecx
pop ecx
cmp eax, ebx
push 1
mov byte [ebp + 0x13], 1
pop edi
mov dword [ebp - 8], eax
jne 0x4017a4
mov dword [ebp - 8], str.selfextractor
cmp dword [ebp - 0x28], edi
jle 0x4017c3
mov eax, dword [ebp - 0x1088]
cmp byte [eax], 0x2d
jne 0x4017c3
cmp byte [eax + 1], 0x68
jne 0x4017c3
push dword [ebp - 8]
call fcn.0040270d
pop ecx
cmp dword [ebp - 0x28], edi
mov dword [ebp - 0x18], edi
mov esi, 0x40a048
jle 0x401b01
lea eax, [ebp - 0x1080]
mov dword [ebp - 0x14], 2
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1084]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1088]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov edi, dword [eax]
push edi
call fcn.00401118
cmp eax, 6
pop ecx
jge 0x40182b
push ebx
push str.ERROR:_invalid_arg:
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push esi
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x1c
push str._nogui
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
jne 0x401844
mov byte [ebp + 0x13], bl
jmp 0x401adb
push str._unpackonly
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
jne 0x40185e
mov byte [ebp - 9], 1
jmp 0x401adb
push str._version
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
jne 0x401878
mov byte [ebp - 0x22], 1
jmp 0x401adb
push str._installdir
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
jne 0x40199f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jge 0x4018f0
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
push esi
call fcn.00401118
pop ecx
push 4
pop edi
cmp eax, edi
jge 0x4018c2
push ebx
push str.ERROR:__installdir_extra_arg__
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.__is_not_valid__not_enough_chars__n
jmp 0x4018e0
mov al, byte [esi]
cmp al, 0x2d
jne 0x40192a
push ebx
push str.ERROR:__installdir_extra_arg__
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.__is_not_valid__invalid___char__n
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x1c
push ebx
push str.ERROR:_arg__installdir_needs_additional_argument_of__dir__n
call fcn.00401597
push ebx
push str._______Example:
call fcn.00401597
push ebx
push dword [ebp - 8]
call fcn.00401597
push ebx
push str.__installdir__C:Program_FilesBackblaze__n
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x24
jmp 0x401adb
xor dl, dl
cmp al, bl
je 0x401978
mov ecx, esi
cmp al, 0x20
jne 0x401938
mov dl, 1
mov al, byte [ecx + 1]
inc ecx
cmp al, bl
jne 0x401932
cmp dl, bl
je 0x401978
lea eax, [ebp - 0x1490]
push 0x40a8d0
push eax
call section..text
lea eax, [ebp - 0x1490]
push esi
push eax
call fcn.00401130
lea eax, [ebp - 0x1490]
push 0x40a8d0
push eax
call fcn.00401130
add esp, 0x18
jmp 0x401987
lea eax, [ebp - 0x1490]
push esi
push eax
call section..text
pop ecx
pop ecx
inc dword [ebp - 0x18]
inc dword [ebp - 0x14]
add dword [ebp - 0x20], edi
add dword [ebp - 0x10], edi
add dword [ebp - 4], edi
mov byte [ebp - 0x21], 1
jmp 0x401adb
push str._createaccount
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
je 0x4019da
push str._signinaccount
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
je 0x4019da
push ebx
push str.ERROR:_invalid_arg:
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push esi
jmp 0x401c49
push str._createaccount
push edi
call fcn.004010d0
pop ecx
test eax, eax
pop ecx
jne 0x4019f1
mov byte [ebp - 0x23], 1
jmp 0x4019f5
mov byte [ebp - 0x19], 1
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jge 0x401a81
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
push esi
call fcn.00401118
cmp eax, 2
pop ecx
jge 0x401a1a
push ebx
push str.ERROR:_emailaddr_extra_arg__
jmp 0x401a5f
cmp byte [esi], 0x2d
je 0x401b85
lea eax, [ebp - 0x3058]
push esi
push eax
call section..text
add dword [ebp - 0x10], 4
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add dword [ebp - 0x20], 4
add dword [ebp - 4], 4
mov esi, dword [eax]
push esi
call fcn.00401118
add esp, 0xc
cmp eax, 1
jge 0x401b80
push ebx
push str.ERROR:_pwordaddr_extra_arg__
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.__is_not_valid__not_enough_chars__n
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x1c
push ebx
push str.ERROR:_arg
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push str._needs_additional_arguments_of__emailaddr___password__n
call fcn.00401597
push ebx
push str._______Example:
call fcn.00401597
push ebx
push dword [ebp - 8]
call fcn.00401597
push ebx
push 0x40a828
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push str._user_corp.com_pass6_n
call fcn.00401597
add esp, 0x40
push dword [ebp - 8]
call fcn.0040270d
pop ecx
inc dword [ebp - 0x18]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add dword [ebp - 0x20], 4
add dword [ebp - 0x10], 4
add dword [ebp - 4], 4
cmp eax, dword [ebp - 0x28]
mov esi, 0x40a048
jl 0x4017f6
push 1
pop edi
lea eax, [ebp - 0x6904]
push eax
call fcn.0040286c
test al, al
pop ecx
jne 0x401d26
push 7
lea eax, [ebp - 0x6904]
push str.Win2003
push eax
call fcn.0040108c
add esp, 0xc
test eax, eax
jne 0x401c88
lea eax, [ebp - 0x564]
push str.Backblaze_has_detected_that_this_is_a_server_operating_system._n
push eax
call section..text
lea eax, [ebp - 0x564]
push str.This_is_not_supported.__However__we_would_love_to_have_you_as_n
push eax
call fcn.00401130
lea eax, [ebp - 0x564]
push str.a_customer_for_your_desktop_and_notebook_computers_running_n
push eax
call fcn.00401130
lea eax, [ebp - 0x564]
push str.Windows_Vista__Windows_XP__Windows_7__or_Mac_OS_X_n
push eax
call fcn.00401130
add esp, 0x20
jmp 0x401cc0
cmp byte [esi], 0x2d
jne 0x401bc4
push ebx
push str.ERROR:
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push str._extra_arg__
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.__is_not_valid__invalid___char__n
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x2c
jmp 0x401a81
lea eax, [ebp - 0x2850]
push esi
push eax
call section..text
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x18]
inc dword [ebp - 0x14]
add dword [ebp - 0x20], 4
add dword [ebp - 0x10], 4
add dword [ebp - 4], 4
pop ecx
pop ecx
push 2
pop edi
cmp eax, edi
jle 0x401adb
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
push esi
call fcn.00401118
cmp eax, edi
pop ecx
jge 0x401c0e
push ebx
push str.ERROR:_groupId_extra_arg__
jmp 0x401c37
lea eax, [ebp - 0x2c54]
push esi
push eax
mov byte [ebp - 0x24], 1
call section..text
mov eax, dword [ebp - 4]
mov esi, dword [eax]
push esi
call fcn.00401118
add esp, 0xc
cmp eax, edi
jge 0x401c5e
push ebx
push str.ERROR:_groupToken_extra_arg__
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.__is_not_valid__not_enough_chars__n
call fcn.00401597
push dword [ebp - 8]
call fcn.0040270d
add esp, 0x1c
jmp 0x401adb
lea eax, [ebp - 0x345c]
push esi
push eax
mov byte [ebp - 0x1a], 1
call section..text
add dword [ebp - 0x18], edi
add dword [ebp - 0x14], edi
add dword [ebp - 0x20], 8
add dword [ebp - 0x10], 8
add dword [ebp - 4], 8
pop ecx
pop ecx
jmp 0x401adb
lea eax, [ebp - 0x564]
push str.SORRY__This_OS_is_not_modern_enough:
push eax
call section..text
lea eax, [ebp - 0x6904]
push eax
lea eax, [ebp - 0x564]
push eax
call fcn.00401130
lea eax, [ebp - 0x564]
push str.._n_nYou_can_not_install_Backblaze_on_this_computer.
push eax
call fcn.00401130
add esp, 0x18
cmp byte [ebp + 0x13], bl
je 0x401cd3
lea eax, [ebp - 0x564]
push eax
call fcn.004029ac
jmp 0x401ce1
lea eax, [ebp - 0x564]
push edi
push eax
call fcn.00401597
pop ecx
cmp byte [ebp - 9], bl
pop ecx
je 0x401e84
lea eax, [ebp - 0x564]
push str.Since_you_specified__unpackonly__this_will_be_n
push eax
call section..text
lea eax, [ebp - 0x564]
push str.allowed_to_continue_for_debugging_purposes_only
push eax
call fcn.00401130
add esp, 0x10
cmp byte [ebp + 0x13], bl
je 0x401e71
lea eax, [ebp - 0x564]
push eax
call fcn.004029ac
pop ecx
push 0x40a604
lea eax, [ebp - 0x968]
push 0x40a600
push eax
call fcn.00402e9a
lea eax, [ebp - 0x968]
push eax
call fcn.0040315e
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0xd6c]
push eax
call section..text
lea eax, [ebp - 0xd6c]
push eax
call fcn.00401118
mov cl, byte [ebp + eax - 0xd6d]
lea eax, [ebp + eax - 0xd6d]
add esp, 0x1c
cmp cl, 0x5c
je 0x401d82
cmp cl, 0x2f
jne 0x401d84
mov byte [eax], bl
push dword [0x40a010]
lea eax, [ebp - 0xd6c]
push eax
call fcn.00401130
lea eax, [ebp - 0xd6c]
push eax
lea eax, [ebp - 0x3860]
push eax
call section..text
lea eax, [ebp - 0xd6c]
push eax
lea eax, [ebp - 0x6504]
push eax
call section..text
lea eax, [ebp - 0xd6c]
push str.files.zip
push eax
call fcn.00401130
lea eax, [ebp - 0x3860]
push str.bzcustom.dat
push eax
call fcn.00401130
lea eax, [ebp - 0x6504]
push str.bzinstallername.txt
push eax
call fcn.00401130
lea eax, [ebp - 0x1c60]
push eax
call fcn.00403533
add esp, 0x34
test al, al
jne 0x401e8b
push ebx
push esi
call fcn.00401597
push ebx
push str.ERROR:_the_self_extracting_file_name_should_be:_n
call fcn.00401597
push ebx
push esi
call fcn.00401597
lea eax, [ebp - 0x1c60]
push ebx
push eax
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.but_for_some_reason_it_is_missing.__Install_aborted._n
call fcn.00401597
push ebx
push str.errror_code
call fcn.00401597
add esp, 0x40
lea eax, [ebp - 0x2048]
push ebx
push eax
call fcn.00401597
push edi
push esi
call fcn.00401597
add esp, 0x10
push edi
call dword [sym.imp.MSVCRT.dll_exit]
lea eax, [ebp - 0x564]
push ebx
push eax
call fcn.00401597
pop ecx
jmp 0x401d25
push edi
call dword [sym.imp.MSVCRT.dll_exit]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
push eax
lea eax, [ebp - 0x1c60]
push eax
call fcn.0040320c
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1c60]
push eax
call fcn.00401118
add esp, 0xc
cmp dword [ebp - 4], ebx
mov esi, 0x3e8
je 0x401ebf
cmp dword [ebp - 0x2c], esi
jge 0x401f0e
cmp eax, 4
jle 0x401ee7
cmp byte [ebp + eax - 0x1c64], 0x2e
lea eax, [ebp + eax - 0x1c60]
jne 0x401ee7
cmp byte [eax - 3], 0x65
jne 0x401ee7
cmp byte [eax - 2], 0x78
jne 0x401ee7
cmp byte [eax - 1], 0x65
je 0x401f0e
lea eax, [ebp - 0x1c60]
push str..exe
push eax
call fcn.00401130
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c60]
push eax
call fcn.0040320c
add esp, 0x10
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
je 0x40262f
mov edx, dword [ebp - 0x2c]
cmp edx, esi
jl 0x40262f
push 0x19
mov esi, str.aybzbzbzbzxaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzgromitxxkublerrossxxskiepicxxnukepavex
pop ecx
lea edi, [ebp - 0x98]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp - 0x33]
stosb byte es:[edi], al
mov eax, dword [ebp - 4]
inc byte [ebp - 0x98]
inc byte [ebp - 0x97]
push 0x64
lea esi, [eax + edx - 0x130]
lea eax, [ebp - 0x98]
push eax
push esi
mov byte [ebp - 0x34], bl
call fcn.0040108c
add esp, 0xc
test eax, eax
je 0x40205e
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 4]
mov dword [ebp - 4], ebx
lea esi, [edi + eax - 0xc480]
cmp byte [esi], 0x62
jne 0x401fa1
cmp byte [esi + 1], 0x7a
jne 0x401fa1
lea eax, [ebp - 0x98]
push 0x64
push eax
push esi
call fcn.0040108c
add esp, 0xc
test eax, eax
je 0x402061
inc esi
cmp dword [ebp - 4], 0xc418
jg 0x401fbc
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xc480
jl 0x401f7c
jmp 0x402061
push ebx
push str.ERROR:_could_not_find_bzmagicpattern_in_this_installer._This_n
call fcn.00401597
push ebx
push str.is_the_result_of_an_incomplete_or_corrupted_download._The__n
call fcn.00401597
push ebx
push str.incomplete_download_can_get_cached__causing_repeat_errors._n
call fcn.00401597
push ebx
push str.To_fix_this_problem__do_one_of_the_following:_n
call fcn.00401597
mov esi, 0x40a3f8
push ebx
push esi
call fcn.00401597
push ebx
push str.1._Reboot_your_computer__which_can_help_clear_the_web_browser_n
call fcn.00401597
push ebx
push str.____cache__and_then_download_the_installer_again._n
call fcn.00401597
push ebx
push esi
call fcn.00401597
add esp, 0x40
push ebx
push str.2._Use_a_different_web_browser_to_download_the_installer.__For_n
call fcn.00401597
push ebx
push str.____example__if_you_used_Internet_Explorer_the_first_time__try_n
call fcn.00401597
push ebx
push str.____using_Firefox_for_the_second_download.__Or_vice_versa._n
call fcn.00401597
push ebx
push esi
call fcn.00401597
push ebx
push str.If_you_continue_to_have_problems__please_contact_Backblaze_at:_n
call fcn.00401597
push 1
push str.helpme_backblaze.com_n
call fcn.00401597
add esp, 0x30
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov edi, dword [ebp - 4]
lea eax, [esi + 0x64]
push 4
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00401029
mov eax, dword [ebp - 0x30]
sub esi, eax
add eax, edi
sub esi, edi
push esi
push eax
lea eax, [ebp - 0xd6c]
push eax
call fcn.004032f4
mov eax, dword [ebp - 0x30]
push 0xc8
add esi, eax
lea eax, [esi + edi + 0x68]
push eax
lea eax, [ebp - 0x3860]
push eax
call fcn.004032f4
lea eax, [ebp - 0x1c60]
push eax
call fcn.00401118
push eax
lea eax, [ebp - 0x1c60]
push eax
lea eax, [ebp - 0x6504]
push eax
call fcn.004032f4
lea eax, [ebp - 0x8074]
push eax
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0xd6c]
push eax
call fcn.004029c3
add esp, 0x40
lea eax, [ebp - 0x968]
push eax
call fcn.00403390
cmp byte [ebp - 9], bl
pop ecx
je 0x402131
push ebx
push dword [ebp - 8]
call fcn.00401597
push ebx
push str._done_unpacking__see_dir:_n
call fcn.00401597
push ebx
push str.___
call fcn.00401597
lea eax, [ebp - 0x968]
push ebx
push eax
call fcn.00401597
push 1
push 0x40a048
call fcn.00401597
add esp, 0x28
jmp 0x402619
cmp byte [ebp - 0x22], bl
mov esi, 0x40a8d0
push esi
je 0x40237b
lea eax, [ebp - 0x5f70]
push eax
call section..text
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401118
mov cl, byte [ebp + eax - 0x5f71]
lea eax, [ebp + eax - 0x5f71]
add esp, 0x14
cmp cl, 0x2f
je 0x402186
cmp cl, 0x5c
jne 0x402188
mov byte [eax], bl
push dword [0x40a010]
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str.bzdoinstall
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str..exe_
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str._version_to_file__
push eax
call fcn.00401130
push 0x40a220
lea eax, [ebp - 0x244c]
push 0x40a21c
push eax
call fcn.00402e9a
lea eax, [ebp - 0x244c]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push esi
push eax
call fcn.00401130
push 1
lea eax, [ebp + 8]
pop edi
mov dword [ebp + 8], ebx
push edi
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00402ceb
add esp, 0x48
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push eax
lea eax, [ebp - 0x244c]
push eax
call fcn.0040320c
mov esi, eax
lea eax, [ebp - 0x244c]
push eax
call fcn.0040336c
add esp, 0xc
cmp esi, ebx
je 0x402254
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xf
jl 0x402254
mov eax, esi
mov dword [ebp + 8], ecx
jmp 0x402256
xor eax, eax
cmp eax, ebx
je 0x402321
cmp byte [eax], bl
je 0x402319
mov edx, dword [ebp + 8]
xor ecx, ecx
add edx, 0xfffffff4
mov byte [ebp - 0x160], bl
cmp edx, ebx
jle 0x4022e9
cmp byte [eax + ecx], 0x56
jne 0x4022af
cmp byte [eax + ecx + 1], 0x45
jne 0x4022af
cmp byte [eax + ecx + 2], 0x52
jne 0x4022af
cmp byte [eax + ecx + 3], 0x53
jne 0x4022af
cmp byte [eax + ecx + 4], 0x49
jne 0x4022af
cmp byte [eax + ecx + 5], 0x4f
jne 0x4022af
cmp byte [eax + ecx + 6], 0x4e
jne 0x4022af
cmp byte [eax + ecx + 7], 0x3a
je 0x4022b6
inc ecx
cmp ecx, edx
jl 0x402278
jmp 0x4022e9
xor edx, edx
lea ecx, [eax + ecx + 9]
mov al, byte [ecx + edx]
cmp al, 0x2e
je 0x4022cb
cmp al, 0x2f
jle 0x4022da
cmp al, 0x3a
jge 0x4022da
mov byte [ebp + edx - 0x160], al
inc edx
cmp edx, 0x32
jl 0x4022bc
jmp 0x4022e1
mov byte [ebp + edx - 0x160], bl
cmp byte [ebp - 0x160], bl
jne 0x4022f1
push edi
push str.Err_3_while_parsing_bzdoinstall__version_to_file_n
jmp 0x402327
push ebx
push str.VERSION:
call fcn.00401597
lea eax, [ebp - 0x160]
push ebx
push eax
call fcn.00401597
push edi
push 0x40a048
call fcn.00401597
add esp, 0x18
jmp 0x40232e
push edi
push str.Err_2_occurred_running_bzdoinstall__version_to_file_n
jmp 0x402327
push edi
push str.Some_error_occurred_running_bzdoinstall__version_to_file_n
call fcn.00401597
pop ecx
pop ecx
mov eax, dword [ebp - 0x8074]
cmp eax, ebx
je 0x40234f
lea esi, [ebp - 0x8074]
push eax
call fcn.0040336c
mov eax, dword [esi + 4]
add esi, 4
cmp eax, ebx
pop ecx
jne 0x40233e
lea eax, [ebp - 0x3860]
push eax
call fcn.0040336c
lea eax, [ebp - 0xd6c]
push eax
call fcn.0040336c
lea eax, [ebp - 0x968]
push eax
call fcn.0040337e
add esp, 0xc
jmp 0x402619
lea eax, [ebp - 0x5f70]
push eax
call section..text
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401118
mov cl, byte [ebp + eax - 0x5f71]
lea eax, [ebp + eax - 0x5f71]
add esp, 0x14
cmp cl, 0x2f
je 0x4023c1
cmp cl, 0x5c
jne 0x4023c3
mov byte [eax], bl
push dword [0x40a010]
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str.bzdoinstall
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str..exe_
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push str._doinstall__
push eax
call fcn.00401130
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401118
mov cl, byte [ebp + eax - 0x5f71]
lea eax, [ebp + eax - 0x5f71]
add esp, 0x2c
cmp cl, 0x2f
je 0x402442
cmp cl, 0x5c
jne 0x402444
mov byte [eax], bl
lea eax, [ebp - 0x5f70]
push esi
push eax
call fcn.00401130
cmp byte [ebp + 0x13], bl
pop ecx
pop ecx
jne 0x40246b
lea eax, [ebp - 0x5f70]
push str.__nogui
push eax
call fcn.00401130
pop ecx
pop ecx
cmp byte [ebp - 0x21], bl
je 0x402497
lea eax, [ebp - 0x5f70]
push str.__installdir
push eax
call fcn.00401130
lea eax, [ebp - 0x1490]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
add esp, 0x10
cmp byte [ebp - 0x23], bl
jne 0x402625
cmp byte [ebp - 0x19], bl
je 0x402547
push str.__signinaccount
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
pop ecx
lea eax, [ebp - 0x3058]
pop ecx
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
mov esi, 0x40a828
lea eax, [ebp - 0x5f70]
push esi
push eax
call fcn.00401130
lea eax, [ebp - 0x2850]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
add esp, 0x18
cmp byte [ebp - 0x24], bl
je 0x40251f
lea eax, [ebp - 0x5f70]
push esi
push eax
call fcn.00401130
lea eax, [ebp - 0x2c54]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
add esp, 0x10
cmp byte [ebp - 0x1a], bl
je 0x402547
lea eax, [ebp - 0x5f70]
push esi
push eax
call fcn.00401130
lea eax, [ebp - 0x345c]
push eax
lea eax, [ebp - 0x5f70]
push eax
call fcn.00401130
add esp, 0x10
cmp byte [ebp + 0x13], bl
je 0x402555
push dword [ebp + 8]
call 0x40266a
pop ecx
lea eax, [ebp - 4]
push 1
push eax
lea eax, [ebp - 0x5f70]
push eax
mov dword [ebp - 4], ebx
call fcn.00402ceb
mov esi, eax
add esp, 0xc
xor cl, cl
cmp esi, ebx
je 0x4025aa
mov edx, dword [ebp - 4]
xor eax, eax
lea edi, [edx - 6]
cmp edi, ebx
jle 0x4025aa
cmp byte [esi + eax], 0x45
jne 0x4025a5
cmp byte [esi + eax + 1], 0x52
jne 0x4025a5
cmp byte [esi + eax + 2], 0x52
jne 0x4025a5
cmp byte [esi + eax + 3], 0x4f
jne 0x4025a5
cmp byte [esi + eax + 4], 0x52
jne 0x4025a5
mov cl, 1
inc eax
cmp eax, edi
jl 0x402581
cmp byte [ebp + 0x13], bl
jne 0x402619
cmp cl, bl
je 0x402619
push ebx
push str.Some_sort_of_error_occurred:_n
call fcn.00401597
mov edi, 0x40a048
push ebx
push edi
call fcn.00401597
push ebx
push str.RAN_PROG:
call fcn.00401597
lea eax, [ebp - 0x5f70]
push ebx
push eax
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push edi
call fcn.00401597
push ebx
push str.RESULTS:
call fcn.00401597
add esp, 0x38
cmp esi, ebx
je 0x40260f
cmp byte [esi], bl
je 0x40260f
push ebx
push esi
call fcn.00401597
pop ecx
pop ecx
push 1
push edi
call fcn.00401597
pop ecx
pop ecx
call sub.WS2_32.dll_WSACleanup
push ebx
call dword [sym.imp.MSVCRT.dll_exit]
push str.__createaccount
jmp 0x4024ae
lea eax, [ebp - 0x564]
push str.ERROR:_could_not_read_from_the_file_to_self_extract_from:
push eax
call section..text
lea eax, [ebp - 0x1c60]
push eax
lea eax, [ebp - 0x564]
push eax
call fcn.00401130
lea eax, [ebp - 0x564]
push edi
push eax
call fcn.00401597
add esp, 0x18
push edi
call dword [sym.imp.MSVCRT.dll_exit]
push ebp
mov ebp, esp
sub esp, 0x4c
push esi
push edi
push 0x30
xor esi, esi
pop edi
lea eax, [ebp - 0x4c]
push edi
push esi
push eax
call fcn.00401054
mov eax, dword [sym.imp.USER32.dll_DefWindowProcA]
add esp, 0xc
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], 3
push 0x7f00
push esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], 0x1e
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x4c]
mov edi, str.BzSelfExtractorTmpClass
push eax
mov dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
call dword [sym.imp.USER32.dll_RegisterClassExA]
push esi
push dword [ebp + 8]
push esi
push esi
push 2
push 2
push esi
push esi
push 0x90c80000
push str.bzinst_win32_self_extractor_window
push edi
push esi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edi, eax
push esi
push esi
lea eax, [ebp - 0x1c]
push edi
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
push edi
call dword [sym.imp.USER32.dll_DestroyWindow]
pop edi
pop esi
leave
ret