Function at 0x413d69
Capabilities:
Accept command line arguments
Check http status code
Enumerate pe sections
Inspect section memory permissions

Disassembly:
mov eax, 0x47a869
call fcn.004586d4
push ecx
mov eax, 0x1a58
call fcn.00458a70
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x64], ebx
mov dword [0x4aaad4], 0x480100
mov dword [0x4aaad8], 0x480110
push 0x40a9c1
call fcn.0043a45e
pop ecx
lea ecx, [ebp - 0xa0]
call fcn.00426589
lea ecx, [ebp - 0x2c0]
call fcn.00426589
lea ecx, [ebp - 0x2b4]
call fcn.00426589
lea ecx, [ebp - 0x2a8]
call fcn.00426589
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
push 1
push str.SeTakeOwnershipPrivilege
call fcn.0044ec76
push 0x40b7f2
call fcn.0043b826
mov eax, dword [ebp + 8]
mov dword [0x4a96c0], eax
lea eax, [ebp - 0x1538]
push eax
call fcn.00453da0
add esp, 0x14
push eax
push dword [0x4a96c0]
push 1
mov ecx, 0x4ab140
call fcn.00452a51
lea eax, [ebp - 0x1540]
push eax
call fcn.00453d71
pop ecx
push eax
push dword [0x4a96c0]
push 1
mov ecx, 0x4aa7dc
call fcn.00452a51
mov esi, ebx
lea eax, [ebp - 0x8b8]
push eax
call fcn.00446679
pop ecx
mov edi, 0x47c724
jmp 0x414191
inc esi
cmp esi, 0x14
jge 0x4141aa
lea eax, [ebp - 0x8b8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004465d6
pop ecx
pop ecx
cmp dword [ebp - 0x8c], ebx
jle 0x41419f
lea eax, [ebp - 0x90]
push eax
call fcn.004465c4
pop ecx
test al, al
jne 0x413ec1
lea eax, [ebp - 0x90]
push eax
push str.Unexpected_command_line_parameter:_r_n
lea ecx, [ebp - 0x1404]
call fcn.00406fbd
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040ac33
pop ecx
lea ecx, [ebp - 0x1404]
call fcn.00423fb2
push 0x48019c
lea ecx, [ebp - 0x90]
call fcn.00425030
lea ecx, [ebp - 0x90]
test al, al
je 0x413ee7
mov byte [0x4a96d0], 1
jmp 0x41418c
push bind
push 0x4801a0
call fcn.0042483d
test al, al
je 0x413f30
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4aa854
call fcn.0042357c
push 0x22
mov ecx, 0x4aa854
call fcn.004243af
push 0xffffffffffffffff
push 0x4aaa40
push 0x4aa854
call fcn.0043f82d
add esp, 0xc
jmp 0x414186
push bind
push 0x4801a8
lea ecx, [ebp - 0x90]
call fcn.0042483d
test al, al
je 0x413f6b
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4aa818
call fcn.0042357c
mov ecx, 0x4aa818
push 0x22
call fcn.004243af
jmp 0x414186
push bind
push 0x4801b0
lea ecx, [ebp - 0x90]
call fcn.0042483d
lea ecx, [ebp - 0x90]
test al, al
je 0x413fba
mov byte [0x4a96d1], 1
push 0x3a
call fcn.00424929
test al, al
je 0x414186
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0042357c
lea ecx, [ebp - 0xa0]
jmp 0x413f5f
push bind
push 0x4801b4
call fcn.0042483d
test al, al
je 0x413fff
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4aaa2c
call fcn.0042357c
push 0x22
mov ecx, 0x4aaa2c
call fcn.00424b04
push 1
push 0x22
push 0x60
mov ecx, 0x4aaa2c
call fcn.0042b7c4
jmp 0x414186
push bind
push 0x4801bc
lea ecx, [ebp - 0x90]
call fcn.0042483d
test al, al
je 0x414076
push ebx
push 0x47d834
push ebx
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004485a9
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2c0]
call fcn.00424953
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2c0]
call fcn.0042a8e3
lea ecx, [ebp - 0x2c0]
push ebx
push bind
push ebx
push ebx
push dword [0x4a3158]
push 0x4801c8
call fcn.0042a9a8
jmp 0x414186
push bind
push str.B2:_
lea ecx, [ebp - 0x90]
call fcn.0042483d
test al, al
je 0x4140d2
push ebx
push 0x47d834
push ebx
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004485a9
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2b4]
call fcn.00424953
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2b4]
call fcn.0042a8e3
lea ecx, [ebp - 0x2b4]
jmp 0x414059
push bind
push str.B3:_
lea ecx, [ebp - 0x90]
call fcn.0042483d
test al, al
je 0x414131
push ebx
push 0x47d834
push ebx
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004485a9
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2a8]
call fcn.00424953
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2a8]
call fcn.0042a8e3
lea ecx, [ebp - 0x2a8]
jmp 0x414059
push 0x4801e4
lea ecx, [ebp - 0x90]
call fcn.00425030
test al, al
je 0x41414e
mov byte [0x4a96f9], 1
jmp 0x414186
cmp dword [ebp - 0x8c], ebx
jle 0x414186
lea eax, [ebp - 0x90]
push eax
push str.Illegal_command_line_atom:_r_n
lea ecx, [ebp - 0x1410]
call fcn.00406fbd
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040ac33
pop ecx
lea ecx, [ebp - 0x1410]
call fcn.00423fb2
lea ecx, [ebp - 0x90]
call fcn.00423fb2
cmp dword [ebp - 0x8b4], ebx
jg 0x413e55
jmp 0x4141aa
lea ecx, [ebp - 0x90]
call fcn.00423fb2
cmp byte [0x4a96d1], bl
je 0x4141fc
cmp dword [ebp - 0x9c], ebx
jg 0x4141c5
push str.Product_name_required
call fcn.0040ac33
pop ecx
lea eax, [ebp - 0xa0]
push eax
call fcn.00410c5d
pop ecx
mov esi, 0x47c720
test al, al
je 0x4141f3
mov ecx, esi
mov eax, dword [0x4aa9d8]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0040ca80
pop ecx
call fcn.00409577
push ebx
call fcn.0040ac89
pop ecx
jmp 0x414201
mov esi, 0x47c720
lea ecx, [ebp - 0x8b8]
call fcn.00423fb2
call fcn.0040ec3f
lea ecx, [ebp - 0x1fc]
call fcn.00426589
lea eax, [ebp - 0x1fc]
push eax
call fcn.004465b3
pop ecx
lea ecx, [ebp - 0xd08]
call fcn.00406aa8
mov eax, esi
cmp dword [ebp - 0x1fc], ebx
cmovne eax, dword [ebp - 0x1fc]
push 0x80
push 0x2111
push eax
lea ecx, [ebp - 0xd08]
call fcn.00441dba
mov esi, eax
test esi, esi
je 0x41429d
push esi
lea eax, [ebp - 0x141c]
push eax
call fcn.0043ebd2
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x1fc], ebx
cmovne eax, dword [ebp - 0x1fc]
push ecx
push esi
push eax
push str.Error_code_1:_The_installer_could_not_open_itself._r_nFilename:__s_r_nError__d:__s
call fcn.0043b904
add esp, 0x18
lea ecx, [ebp - 0x141c]
call fcn.00423fb2
lea ecx, [ebp - 0xd08]
call fcn.00442687
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x84], ebx
push 0x3c
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
test al, al
je 0x4142e6
mov eax, dword [ebp - 0x84]
push 0x40
pop esi
cmp ax, si
jb 0x4142e6
mov esi, 0x1000
cmp ax, si
jbe 0x4142f4
push 0x2b
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x94], ebx
movzx eax, ax
add eax, 6
push eax
push 2
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
test al, al
je 0x414331
push 4
pop esi
cmp word [ebp - 0x94], si
jb 0x414331
push 0x63
pop esi
cmp word [ebp - 0x94], si
jbe 0x414339
push 0x2c
call fcn.00408d43
pop ecx
movzx eax, word [ebp - 0x84]
add eax, 0x14
push eax
push 2
lea eax, [ebp - 0x3bc]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
movzx ecx, word [ebp - 0x3bc]
movzx esi, word [ebp - 0x84]
add ecx, 0x18
add esi, ecx
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x94]
cmp ax, cx
jmp 0x4143be
mov byte [ebp - 0xa58], bl
push esi
push 8
lea eax, [ebp - 0xa60]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
lea eax, [ebp - 0xa60]
push eax
push str..setup
call fcn.004687f0
pop ecx
pop ecx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x94]
test eax, eax
je 0x4143c9
add esi, 0x28
inc edx
movzx eax, cx
cmp edx, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x140], esi
jb 0x41437a
movzx eax, cx
cmp edx, eax
jb 0x4143db
push str.This_program_performs_installations_and_uninstallations._r_nThere_is_no_installation_data_present._r_nNo_uninstallation_parameters_were_specified._r_n_r_nYou_should_not_delete_this_program_or_execute_it_directly.
call fcn.0043b7f3
pop ecx
lea eax, [esi + 0xc]
push eax
push 4
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
lea eax, [esi + 0x10]
push eax
push 4
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
lea eax, [esi + 0x14]
push eax
push 4
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
mov eax, dword [ebp - 0x178]
test eax, eax
jne 0x41443f
push 9
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x178]
test eax, eax
je 0x41444f
push eax
lea ecx, [ebp - 0xd08]
call fcn.00441f80
test al, al
jne 0x414457
push 0xa
call fcn.00408d43
pop ecx
call fcn.004301b4
mov ecx, dword [ebp - 0x224]
add ecx, eax
mov dword [ebp - 0x224], ecx
mov dword [0x4a96e8], ecx
call fcn.0041086a
cmp eax, 0xa4f23de5
je 0x414484
push 0x14
call fcn.00408d43
pop ecx
call fcn.0041088e
mov esi, eax
push str.35.0
push esi
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
je 0x4144b2
mov ecx, dword [0x4aaad4]
push ecx
push esi
push ecx
push str.The_installer_version__35.0__does_not_match_the_version_of__s___s_.__Close_all_applications_and_reinstall__s.
call fcn.0043b8c9
add esp, 0x10
call fcn.0041086a
mov dword [0x4a96e0], eax
call fcn.0041086a
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
jle 0x4144d5
cmp esi, 0x3200000
jl 0x4144dd
push 0x16
call fcn.00408d43
pop ecx
call fcn.0041086a
mov dword [ebp + 8], eax
call fcn.0041086a
mov dword [ebp - 0x218], eax
call fcn.0041086a
mov dword [ebp - 0x4c], eax
test eax, eax
jns 0x414504
push 0x2d
call fcn.00408d43
pop ecx
call fcn.0041086a
mov dword [ebp - 0x17c], eax
test eax, eax
jns 0x41451b
push 0x1b
call fcn.00408d43
pop ecx
call fcn.0041086a
mov dword [ebp - 0x6c], eax
test eax, eax
jns 0x41452f
push 0x1d
call fcn.00408d43
pop ecx
call fcn.0041086a
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x17c], ebx
jle 0x414585
mov esi, dword [ebp - 0x17c]
call fcn.0041086a
mov dword [ebp - 0x34], eax
test eax, eax
js 0x41455e
cmp eax, 0x40000000
jle 0x414566
push 0x1c
call fcn.00408d43
pop ecx
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x4a3104
call fcn.00405e0f
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, esi
jl 0x41454b
mov esi, dword [ebp - 0x144]
test dword [0x4a96e0], 0x1000
je 0x4145ce
lea ecx, [ebp - 0xa6c]
call fcn.00426589
push 8
lea eax, [ebp - 0xa6c]
push eax
call fcn.0041084b
push ecx
mov ecx, esp
lea eax, [ebp - 0xa6c]
push eax
call fcn.00406ee3
mov ecx, 0x4a9728
call fcn.004206c7
lea ecx, [ebp - 0xa6c]
call fcn.00423fb2
mov eax, esi
sub eax, dword [ebp - 0x224]
add eax, dword [0x4a96e8]
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x2c]
call fcn.00406ec3
push esi
lea eax, [ebp - 0x20]
push eax
call fcn.0041084b
pop ecx
pop ecx
test dword [0x4a96e0], 0x1000
jne 0x41460d
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x20]
call fcn.0042e94a
jmp 0x414628
mov esi, 0x4a9728
mov ecx, esi
call fcn.004205dd
lea eax, [ebp - 0x20]
push eax
push eax
mov ecx, esi
call fcn.0042048a
mov esi, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x20]
push eax
call fcn.00458638
pop ecx
pop ecx
test al, al
jne 0x414640
push 0x2f
call fcn.00408d43
pop ecx
push 8
push 0x4a96d8
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
call fcn.00446b80
test al, al
jne 0x41466b
call fcn.00446c58
test eax, eax
jne 0x41466b
and dword [0x4a96e0], 0xfffffbff
push 1
lea eax, [ebp - 0xc5]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
movzx eax, byte [ebp - 0xc5]
sub eax, 1
je 0x414695
sub eax, 1
jne 0x41469c
mov byte [0x4a96d0], bl
jmp 0x41469c
mov byte [0x4a96d0], 1
mov ecx, dword [0x4a96dc]
and ecx, 0x100
mov eax, ebx
or eax, ecx
mov byte [0x4ab1a2], 1
jne 0x4146bb
mov byte [0x4ab1a2], bl
push 0x4ab1b0
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4ab1bc
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 8
push 0x4ab1d4
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 4
push 0x4a30a4
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [0x4a96d8]
and eax, 0x20000000
or eax, ebx
jne 0x414723
movzx eax, byte [0x4a96f9]
push eax
push ebx
push dword [0x4a96c0]
call fcn.00444957
mov dword [0x4a96c4], eax
push eax
call fcn.0040d4d8
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00426214
cmp eax, esi
je 0x414737
push 0x19
call fcn.00408d43
pop ecx
push 2
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, 0x270f
cmp word [ebp - 0x58], ax
jbe 0x414758
push 0x13
call fcn.00408d43
pop ecx
push 1
push 0x4a96f8
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov dword [ebp - 0x14a8], ebx
or dword [ebp - 0x14a0], 0xffffffff
push 0x18
lea eax, [ebp - 0x14ac]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
lea ecx, [ebp - 0x378]
call fcn.00426589
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0xa78]
call fcn.00426589
lea eax, [ebp - 0xa78]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
mov esi, 0x4aa818
cmp dword [0x4aa81c], ebx
jg 0x4147d4
lea eax, [ebp - 0xa78]
push eax
mov ecx, esi
call fcn.0042357c
lea ecx, [ebp - 0xa78]
call fcn.00423fb2
push 0x4aa80c
lea ecx, [ebp - 0x2c]
call fcn.00428e08
cmp dword [0x4aa810], ebx
jg 0x4147ff
push esi
mov ecx, 0x4aa80c
call fcn.004219dc
push ebx
push 0x47d834
push dword [0x4a30a0]
push 0x4aaa20
push 0x4aa80c
call fcn.004485a9
add esp, 0x14
push 1
push 0x4a96d2
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov byte [ebp + 0xb], bl
cmp byte [0x4a96d2], 1
jne 0x41484c
push 0x4a96d4
call fcn.00447d9a
pop ecx
neg al
sbb al, al
inc al
mov byte [ebp + 0xb], al
push 1
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 0x4aa878
lea ecx, [ebp - 0x2c]
call fcn.00428e08
cmp dword [0x4aa87c], ebx
jg 0x414895
lea ecx, [ebp - 0x378]
call fcn.0040a1d0
mov ecx, 0x4aa878
test al, al
jne 0x41488f
lea eax, [ebp - 0x378]
push eax
jmp 0x414890
push esi
call fcn.004219dc
lea ecx, [ebp - 0x29c]
call fcn.00426589
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa848
lea ecx, [ebp - 0x2c]
call fcn.0042945d
cmp dword [0x4aa84c], ebx
jg 0x4148cf
push esi
mov ecx, 0x4aa848
call fcn.004219dc
push 0x4aa8a8
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push ebx
push 0x4aaa14
push 0x4aa8a8
call fcn.00448432
add esp, 0xc
lea ecx, [ebp - 0xb8]
call fcn.00426589
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
cmp dword [ebp - 0xb4], ebx
jg 0x414924
push esi
lea ecx, [ebp - 0xb8]
call fcn.004219dc
mov esi, bind
jmp 0x414964
push ebx
mov esi, bind
push esi
push ebx
push 1
lea eax, [ebp - 0x14b8]
push eax
call fcn.00447c8b
pop ecx
push eax
push str._os_
lea ecx, [ebp - 0xb8]
call fcn.0042b6ba
lea ecx, [ebp - 0x14b8]
call fcn.00423fb2
lea eax, [ebp - 0xb8]
push eax
call fcn.0040a2ad
pop ecx
push str._master_
lea ecx, [ebp - 0xb8]
call fcn.00425030
test al, al
jne 0x4149ea
push esi
push 0x48045c
lea ecx, [ebp - 0xb8]
call fcn.00428228
test al, al
jne 0x4149ea
push esi
push 0x480468
lea ecx, [ebp - 0xb8]
call fcn.00428228
test al, al
jne 0x4149ea
xor eax, eax
cmp byte [0x4a96d2], 1
sete al
inc eax
push eax
lea eax, [ebp - 0xb24]
push eax
call fcn.00454fab
pop ecx
pop ecx
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0xb24]
push eax
call fcn.00406ee3
lea eax, [ebp - 0xb8]
push eax
call fcn.0044013d
add esp, 0x14
lea ecx, [ebp - 0xb24]
call fcn.00423fb2
lea ecx, [ebp - 0x290]
call fcn.00426589
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
push 0x4aa86c
lea ecx, [ebp - 0x2c]
call fcn.00428f65
push 4
push 0x4ab198
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [0x4ab198]
test eax, eax
js 0x414a2e
cmp eax, 0x64
jle 0x414a36
push 0x27
call fcn.00408d43
pop ecx
push 4
push 0x4ab19c
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 0x4aa9f0
lea ecx, [ebp - 0x2c]
call fcn.00428f10
lea ecx, [ebp - 0x2e8]
call fcn.0040689f
push 4
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x228]
test eax, eax
js 0x414a7d
cmp eax, 0x14
jle 0x414a8b
push 0x18
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.004055d6
mov esi, ebx
cmp dword [ebp - 0x228], ebx
jle 0x414ac6
push esi
lea ecx, [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e8]
call dword [eax + 0x88]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f65
inc esi
cmp esi, dword [ebp - 0x228]
jl 0x414aa1
lea ecx, [ebp - 0x2d4]
call fcn.0040689f
push 4
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x22c]
test eax, eax
js 0x414af1
cmp eax, 0x14
jle 0x414aff
push 0x1a
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.004055d6
mov esi, ebx
cmp dword [ebp - 0x22c], ebx
jle 0x414b3a
push esi
lea ecx, [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d4]
call dword [eax + 0x88]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f65
inc esi
cmp esi, dword [ebp - 0x22c]
jl 0x414b15
push 0x4aa9cc
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x384]
call fcn.00426589
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0xa0]
call fcn.0040a1ee
test al, al
je 0x414b8f
push 0x4aa818
lea ecx, [ebp - 0xa0]
call fcn.004219dc
lea ecx, [ebp - 0x1a8]
call fcn.00426589
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 0x4aa8b4
lea ecx, [ebp - 0x2c]
call fcn.0042945d
push 1
push 0x4ab1dc
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 4
pop esi
push esi
push 0x4ab148
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
push 0x4ab1a0
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
push 0x4ab1a1
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 0x4ab1a4
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push esi
push 0x4ab14c
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push esi
push 0x4ab150
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [0x4ab14c]
cmp eax, dword [0x4ab150]
sete byte [0x4ab154]
push esi
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
cmp dword [ebp - 0x388], ebx
jle 0x414cb0
lea ecx, [ebp - 0x99c]
call fcn.00426589
push dword [ebp - 0x388]
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00429049
mov eax, 0x47c720
cmp dword [ebp - 0x99c], ebx
cmovne eax, dword [ebp - 0x99c]
push dword [ebp - 0x388]
push eax
mov ecx, 0x4ab155
call fcn.0041ebbe
push esi
lea eax, [ebp - 0x80c]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x80c]
mov dword [0x4ab171], eax
lea ecx, [ebp - 0x99c]
call fcn.00423fb2
push 1
push 0x4ab1dd
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
cmp byte [0x4ab1dd], bl
je 0x414cfe
push esi
push 0x4ab1ec
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 8
push 0x4ab1f0
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 0x4ab1e0
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4ab1f8
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x284]
call fcn.00426589
lea ecx, [ebp - 0x1b4]
call fcn.00426589
lea ecx, [ebp - 0x278]
call fcn.00426589
mov eax, dword [0x4a96d8]
and eax, 0x10000
or eax, ebx
je 0x414d5a
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x1c0]
call fcn.00426589
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x3b8]
call fcn.00426589
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f65
cmp dword [ebp - 0x1bc], ebx
jg 0x414db8
mov ecx, dword [0x4a96dc]
and ecx, 0x4000000
mov eax, ebx
or eax, ecx
je 0x414db8
push 0x4aa818
lea ecx, [ebp - 0x1c0]
call fcn.004219dc
cmp byte [0x4a96f8], 1
jne 0x414dd5
lea eax, [ebp - 0x1368]
push eax
call fcn.00454800
pop ecx
mov edx, eax
xor eax, eax
inc eax
jmp 0x414de7
lea eax, [ebp - 0x1344]
push eax
call fcn.004548af
pop ecx
mov edx, eax
push 2
pop eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x30], eax
mov ecx, edi
cmp dword [ebp - 0x1c0], ebx
cmovne ecx, dword [ebp - 0x1c0]
mov eax, edi
cmp dword [edx], ebx
cmovne eax, dword [edx]
push ecx
push eax
lea eax, [ebp - 0x14c4]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
mov ecx, 0x4aa890
call fcn.0042357c
lea ecx, [ebp - 0x14c4]
call fcn.00423fb2
mov eax, dword [ebp - 0x30]
test al, 2
je 0x414e48
and eax, 0xfffffffd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x1344]
call fcn.00423fb2
mov eax, dword [ebp - 0x30]
test al, 1
je 0x414e60
and eax, 0xfffffffe
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x1368]
call fcn.00423fb2
push 0xffffffffffffffff
push 0x4aa884
push 0x4aa890
call fcn.0043f82d
add esp, 0xc
lea ecx, [ebp - 0x36c]
call fcn.00426589
lea ecx, [ebp - 0x360]
call fcn.00426589
lea ecx, [ebp - 0x354]
call fcn.00426589
lea ecx, [ebp - 0x43c]
call fcn.00426589
lea ecx, [ebp - 0x430]
call fcn.00426589
lea ecx, [ebp - 0x424]
call fcn.00426589
lea ecx, [ebp - 0x418]
call fcn.00426589
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0xb80]
call fcn.0042f701
push 0x14
lea eax, [ebp - 0xb80]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push esi
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
lea eax, [ebp - 0xc7]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 0x4aa8e4
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa8c0
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aaa7c
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa78c
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aaa58
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa800
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa8cc
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa8f0
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aaa64
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x4aa9d8
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x348]
call fcn.00426589
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea ecx, [ebp - 0x40c]
call fcn.00426589
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428ec3
push 0x4aa89c
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x33c]
call fcn.00426589
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x330]
call fcn.00426589
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea ecx, [ebp - 0x324]
call fcn.00426589
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
push 0x28
push 0x4a96fc
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
lea ecx, [ebp - 0x588]
call fcn.00406ec3
mov eax, dword [0x4a96d8]
and eax, esi
or eax, ebx
je 0x4150ac
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f65
lea ecx, [ebp - 0x7e8]
call fcn.00426589
lea eax, [ebp - 0x7e8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push str.THE_END
lea ecx, [ebp - 0x7e8]
call fcn.00424f04
test al, al
je 0x41e3d6
lea ecx, [ebp - 0x7e8]
call fcn.00423fb2
mov dword [ebp - 0x130], ebx
push esi
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov esi, dword [ebp - 0x130]
test esi, esi
js 0x415111
cmp esi, 0x3e8
jle 0x41511f
push 0x24
call fcn.00408d43
pop ecx
mov esi, dword [ebp - 0x130]
lea ecx, [ebp - 0x3d0]
call fcn.00406889
jmp 0x4151b5
dec esi
mov dword [ebp - 0x130], esi
push ebx
lea ecx, [ebp - 0x3d0]
call fcn.0040811d
mov esi, eax
push 4
push esi
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
call dword [edx]
lea ecx, [esi + 4]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x4c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
lea eax, [esi + 0x58]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
mov esi, dword [ebp - 0x130]
test esi, esi
jg 0x41512f
dec esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x134], ebx
push 4
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x134]
test eax, eax
js 0x4151ec
cmp eax, 0x3e8
jle 0x4151fa
push 0x30
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x134]
test eax, eax
jle 0x4152c5
dec eax
mov dword [ebp - 0x134], eax
push ebx
mov ecx, 0x4aa77c
call fcn.00407fb6
mov edi, eax
mov byte [edi + 4], 1
lea ecx, [edi + 8]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea esi, [edi + 0x14]
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 0xfde9
push esi
call fcn.0044840f
pop ecx
pop ecx
lea eax, [edi + 0x20]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [edi + 0x2c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
lea eax, [edi + 0x38]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 1
push edi
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
lea eax, [edi + 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 1
lea eax, [edi + 6]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
push 1
lea eax, [edi + 3]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x134]
test eax, eax
jg 0x415202
mov edi, 0x47c724
dec eax
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x26c]
call fcn.00426589
lea ecx, [ebp - 0x460]
call fcn.00426589
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea ecx, [ebp - 0x244]
call fcn.00426589
lea ecx, [ebp - 0x1cc]
call fcn.00426589
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042945d
mov dword [ebp - 0x138], ebx
push 4
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov esi, dword [ebp - 0x138]
test esi, esi
js 0x41535d
cmp esi, 0x3e8
jle 0x41536b
push 0x25
call fcn.00408d43
pop ecx
mov esi, dword [ebp - 0x138]
lea ecx, [ebp - 0x400]
call fcn.004068b5
jmp 0x4153b6
dec esi
mov dword [ebp - 0x138], esi
push ebx
lea ecx, [ebp - 0x400]
call fcn.00408161
mov esi, eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 1
lea ecx, [esi + 0x18]
push ecx
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
call dword [edx]
lea eax, [esi + 0xc]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428e08
mov esi, dword [ebp - 0x138]
test esi, esi
jg 0x415378
dec esi
mov dword [ebp - 0x138], esi
lea ecx, [ebp - 0x454]
call fcn.00426589
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f10
lea ecx, [ebp - 0x3ac]
call fcn.00426589
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00428f65
mov dword [ebp - 0x34], ebx
push ebx
mov ecx, 0x4aa7f0
call fcn.00407f00
mov esi, eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push str.THEEND
mov ecx, esi
call fcn.00424f04
test al, al
je 0x41e376
mov ecx, 0x4aa7f0
call fcn.00405d90
push 1
lea eax, [ebp - 0x12]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov al, byte [ebp - 0x12]
test al, al
je 0x415445
cmp al, 0xc8
jbe 0x41544d
push 0x1e
call fcn.00408d43
pop ecx
push 4
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
cmp dword [ebp - 0x174], ebx
jle 0x415472
cmp dword [ebp - 0x174], 0x2710
jle 0x41547a
push 0x1f
call fcn.00408d43
pop ecx
movzx eax, byte [ebp - 0x12]
push eax
mov ecx, 0x4a30c4
call fcn.00403fdb
mov edx, ebx
mov dword [ebp - 0x60], edx
cmp byte [ebp - 0x12], dl
jbe 0x4154d5
push edx
mov ecx, 0x4a30c4
call fcn.00403f6c
mov esi, eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042945d
push str.English
mov ecx, esi
call fcn.004250c1
mov ecx, dword [0x4a96e4]
test al, al
mov edx, dword [ebp - 0x60]
cmovne ecx, edx
mov dword [0x4a96e4], ecx
inc edx
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x12]
cmp edx, eax
jl 0x415493
push dword [ebp - 0x174]
mov ecx, 0x4a30d0
call fcn.00404b00
mov eax, ebx
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x174], eax
jle 0x415565
push eax
mov ecx, 0x4a30d0
mov eax, dword [0x4a30d0]
call dword [eax + 0x88]
mov esi, eax
mov dword [ebp - 0x34], esi
mov edx, dword [esi]
movzx ecx, byte [ebp - 0x12]
push ecx
mov ecx, esi
call dword [edx + 0x8c]
mov ecx, ebx
mov dword [ebp - 0x12c], ecx
cmp byte [ebp - 0x12], cl
jbe 0x415556
push ecx
mov ecx, esi
call fcn.00402bbe
mov esi, eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042945d
mov ecx, esi
call fcn.00423a1a
mov ecx, dword [ebp - 0x12c]
inc ecx
mov dword [ebp - 0x12c], ecx
movzx eax, byte [ebp - 0x12]
cmp ecx, eax
mov esi, dword [ebp - 0x34]
jl 0x415524
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, dword [ebp - 0x174]
jl 0x4154f2
push 4
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
cmp dword [ebp - 0x60], 0xd3e82b97
je 0x415584
push 0x20
call fcn.00408d43
pop ecx
push 0x4aa8b4
call fcn.00413c40
call fcn.004497d9
mov esi, 0x47c720
mov ecx, esi
mov eax, dword [0x4aa78c]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0040ca80
pop ecx
pop ecx
lea ecx, [ebp - 0xd8]
call fcn.00426589
push dword [ebp - 0x178]
push ebx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xd08]
call fcn.004420a2
test al, al
jne 0x4155dc
push 0x23
call fcn.00408d43
pop ecx
mov ecx, dword [0x4a96dc]
and ecx, 1
mov eax, ebx
or eax, ecx
je 0x415616
movzx eax, word [ebp - 0x84]
add eax, 0x5c
push bind
push eax
lea ecx, [ebp - 0xd8]
call fcn.004261cb
cmp eax, dword [ebp - 0x218]
je 0x415616
push 0x28
call fcn.00408d43
pop ecx
lea ecx, [ebp - 0xd08]
test byte [0x4a96e0], 0x20
jne 0x41563f
call fcn.00442687
mov dword [0x4a9724], eax
lea ecx, [ebp - 0xd8]
call fcn.00423fb2
jmp 0x415773
call fcn.00442687
mov ecx, dword [ebp - 0x178]
sub eax, ecx
mov edx, dword [ebp - 0x238]
sub eax, edx
test eax, eax
jle 0x415680
add ecx, edx
push ecx
push eax
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042250a
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
test al, al
jne 0x415680
push 0x2a
call fcn.00408d43
pop ecx
mov eax, dword [ebp - 0x94]
dec eax
push eax
movzx eax, word [ebp - 0x84]
add eax, 6
push eax
lea ecx, [ebp - 0xd8]
call fcn.00428de0
movzx eax, word [ebp - 0x84]
add eax, 0x20
push eax
lea ecx, [ebp - 0xd8]
call fcn.00428d1f
sub eax, dword [ebp - 0x238]
push eax
movzx eax, word [ebp - 0x84]
add eax, 0x20
push eax
lea ecx, [ebp - 0xd8]
call fcn.00428d6a
movzx eax, word [ebp - 0x84]
add eax, 0x50
push eax
lea ecx, [ebp - 0xd8]
call fcn.00428d1f
sub eax, dword [ebp - 0x238]
push eax
movzx eax, word [ebp - 0x84]
add eax, 0x50
push eax
lea ecx, [ebp - 0xd8]
call fcn.00428d6a
cmp dword [ebp - 0xd8], ebx
cmovne esi, dword [ebp - 0xd8]
add esi, dword [ebp - 0x140]
movzx eax, word [ebp - 0x94]
cmp dword [ebp - 0x3c], eax
ja 0x415763
lea eax, [esi + 0x28]
mov dword [ebp - 0x34], eax
push 0x28
push eax
push esi
call fcn.0045f160
add esp, 0xc
mov ecx, dword [ebp - 0x94]
movzx eax, cx
dec eax
mov edx, dword [ebp - 0x3c]
cmp edx, eax
jae 0x415755
mov eax, dword [ebp - 0x238]
sub dword [esi + 0x14], eax
mov ecx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x3c], edx
movzx eax, cx
cmp edx, eax
jbe 0x415723
mov eax, dword [ebp - 0xd4]
mov dword [0x4a9724], eax
mov esi, 0x47c720
cmp byte [ebp - 0x12], 1
je 0x4157d7
cmp byte [0x4a96d0], bl
jne 0x4157d7
mov ecx, str.LanguageDlg3
mov eax, dword [0x4a9708]
sub eax, ebx
je 0x4157a8
sub eax, 1
je 0x4157a1
dec eax
sub eax, 1
jne 0x4157ad
mov ecx, str.LanguageDlg4
jmp 0x4157ad
mov ecx, str.LanguageDlg
jmp 0x4157ad
mov ecx, str.LanguageDlg2
push ebx
push ebx
push 0x40b879
push dword [0x4a96c4]
push ecx
call fcn.00450e81
add esp, 0x14
cmp eax, 0x3eb
jne 0x4157d7
push 1
call fcn.0040ac89
pop ecx
jmp 0x41e173
push ebx
lea eax, [ebp - 0x1374]
push eax
call fcn.0040781b
pop ecx
pop ecx
push eax
mov ecx, 0x4ab1c8
call fcn.00407495
lea ecx, [ebp - 0x1374]
call fcn.00423fb2
mov eax, dword [0x4a96c4]
test eax, eax
je 0x415816
push 1
push ebx
push eax
call fcn.004522a5
add esp, 0xc
call fcn.00452b30
mov al, byte [0x4a96d2]
cmp al, 2
je 0x415823
cmp al, 1
jne 0x415898
call fcn.0044688d
movzx ecx, al
xor eax, eax
cmp byte [0x4a96d2], 2
sete al
cmp eax, ecx
jne 0x415888
cmp byte [0x4a96d0], bl
je 0x41584b
push 1
call fcn.0040ac89
pop ecx
push 0x51
lea eax, [ebp - 0x1380]
push eax
call fcn.0040781b
cmp dword [eax], ebx
cmovne edi, dword [eax]
cmp byte [0x4a96d2], 2
push 0x20
pop eax
push 0x40
pop ecx
cmove ecx, eax
push ecx
push edi
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0x1380]
call fcn.00423fb2
jmp 0x4157ca
cmp byte [ebp + 0xb], bl
je 0x415898
push str.Wow64DisableWow64FsRedirection___failed
call fcn.0043b7f3
pop ecx
lea ecx, [ebp - 0xb80]
call fcn.0042f3ec
test al, al
jne 0x41599e
push 0x7f02
call fcn.00452c6e
push eax
call fcn.00452c1f
pop ecx
pop ecx
call fcn.00452bb4
lea ecx, [ebp - 0x1530]
call fcn.00406a90
lea eax, [ebp - 0x1530]
push eax
call fcn.00443b9a
pop ecx
test al, al
jne 0x4158e9
lea ecx, [ebp - 0x1530]
call fcn.0042fbaa
push 0x7f00
call fcn.00452c6e
push eax
call fcn.00452c1f
pop ecx
pop ecx
call fcn.00452bb4
lea eax, [ebp - 0xb80]
push eax
lea ecx, [ebp - 0x1530]
call fcn.0042ece9
test eax, eax
jle 0x41599e
lea ecx, [ebp - 0x9a8]
call fcn.00426589
push 0x1400
push ebx
lea eax, [ebp - 0x138c]
push eax
lea ecx, [ebp - 0xb80]
call fcn.0042f358
push eax
lea ecx, [ebp - 0x9a8]
call fcn.0042357c
lea ecx, [ebp - 0x138c]
call fcn.00423fb2
mov esi, edi
cmp dword [ebp - 0x9a8], ebx
cmovne esi, dword [ebp - 0x9a8]
push 0x3c
lea eax, [ebp - 0x1398]
push eax
call fcn.0040781b
cmp dword [eax], ebx
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0x1398]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x9a8]
jmp 0x41e16e
call fcn.004468be
test dword [ebp - 0x810], eax
je 0x415a35
lea ecx, [ebp - 0x9b4]
call fcn.00426589
push dword [0x4a30a0]
lea eax, [ebp - 0x9b4]
push eax
push 3
lea eax, [ebp - 0x13a4]
push eax
call fcn.004469c4
pop ecx
pop ecx
push eax
call fcn.00448432
add esp, 0xc
lea ecx, [ebp - 0x13a4]
call fcn.00423fb2
mov esi, edi
cmp dword [ebp - 0x9b4], ebx
cmovne esi, dword [ebp - 0x9b4]
push 0x3d
lea eax, [ebp - 0x13b0]
push eax
call fcn.0040781b
cmp dword [eax], ebx
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0x13b0]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x9b4]
jmp 0x41e16e
mov ecx, dword [0x4a96d8]
mov eax, ecx
and eax, 0x10000
or eax, ebx
je 0x415c39
lea ecx, [ebp - 0x284]
call fcn.0040a1d0
test al, al
je 0x415a69
push 0x4aa818
lea ecx, [ebp - 0x284]
call fcn.004219dc
lea ecx, [ebp - 0x1b4]
call fcn.0040a1d0
test al, al
je 0x415a88
push 0x4aa818
lea ecx, [ebp - 0x1b4]
call fcn.004219dc
push str._master_
lea ecx, [ebp - 0xb8]
call fcn.00425030
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x660]
call fcn.00426589
lea ecx, [ebp - 0x72c]
call fcn.00426589
mov ecx, edi
cmp dword [ebp - 0x284], ebx
cmovne ecx, dword [ebp - 0x284]
lea eax, [ebp - 0x72c]
push eax
lea eax, [ebp - 0x660]
push eax
push ecx
call fcn.00445806
add esp, 0xc
cmp byte [ebp + 0xb], bl
je 0x415aea
movzx eax, al
xor ecx, ecx
cmp dword [ebp - 0x65c], ecx
cmovle eax, ecx
test al, al
jne 0x415b43
mov esi, edi
cmp dword [ebp - 0x1b4], ebx
cmovne esi, dword [ebp - 0x1b4]
push 0xc
lea eax, [ebp - 0x13bc]
push eax
call fcn.0040781b
cmp dword [eax], ebx
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0x13bc]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x72c]
call fcn.00423fb2
lea ecx, [ebp - 0x660]
jmp 0x41e16e
cmp dword [ebp - 0x274], ebx
jle 0x415c06
mov ecx, esi
cmp dword [ebp - 0x278], ebx
cmovne ecx, dword [ebp - 0x278]
mov eax, esi
cmp dword [ebp - 0x72c], ebx
cmovne eax, dword [ebp - 0x72c]
push ecx
push eax
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
jns 0x415c06
lea ecx, [ebp - 0x990]
call fcn.00426589
push dword [0x4a30a0]
lea eax, [ebp - 0x990]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00448432
cmp dword [ebp - 0x1b4], ebx
cmovne edi, dword [ebp - 0x1b4]
mov ebx, 0x47c724
mov esi, ebx
cmp dword [ebp - 0x990], 0
cmovne esi, dword [ebp - 0x990]
push 0x70
lea eax, [ebp - 0x13c8]
push eax
call fcn.0040781b
cmp dword [eax], 0
cmovne ebx, dword [eax]
push edi
push esi
push ebx
call fcn.0040a0e0
add esp, 0x20
lea ecx, [ebp - 0x13c8]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x990]
call fcn.00423fb2
jmp 0x415b2d
cmp byte [ebp + 0xb], bl
je 0x415c1d
lea eax, [ebp - 0x660]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0042357c
lea ecx, [ebp - 0x72c]
call fcn.00423fb2
lea ecx, [ebp - 0x660]
call fcn.00423fb2
mov ecx, dword [0x4a96d8]
and ecx, 0x100
or ecx, ebx
je 0x415c8d
push ebx
push dword [0x4a3140]
mov esi, 0x4aaa38
mov ecx, esi
call fcn.00455ba4
test al, al
je 0x415c8d
push ebx
mov ecx, esi
call fcn.00456046
test al, al
jne 0x415c8d
push 0x5b
lea eax, [ebp - 0x13d4]
push eax
call fcn.0040781b
cmp dword [eax], ebx
cmovne edi, dword [eax]
push edi
call fcn.0040a15a
add esp, 0xc
lea ecx, [ebp - 0x13d4]
jmp 0x41587e
lea ecx, [ebp - 0x4f8]
call fcn.00426589
lea ecx, [ebp - 0x648]
call fcn.00426589
lea ecx, [ebp - 0x984]
call fcn.00426589
mov eax, dword [0x4a96d8]
and eax, 4
or eax, ebx
je 0x415e7e
lea ecx, [ebp - 0x15f8]
call fcn.00406d8f
mov eax, edi
cmp dword [ebp - 0xa0], ebx
cmovne eax, dword [ebp - 0xa0]
push eax
call fcn.00454035
push eax
lea eax, [ebp - 0x13e0]
push eax
call fcn.0043f19d
add esp, 0xc
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push 0x2000f
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x15f8]
call fcn.0044cf3f
mov esi, eax
lea ecx, [ebp - 0x13e0]
call fcn.00423fb2
test esi, esi
mov esi, 0x47efea
je 0x415e04
push 0x1000
push esi
push 0x47faac
lea eax, [ebp - 0x13ec]
push eax
lea ecx, [ebp - 0x15f8]
call fcn.0044c7ea
push eax
lea ecx, [ebp - 0x4f8]
call fcn.0042357c
lea ecx, [ebp - 0x13ec]
call fcn.00423fb2
push ebx
push esi
push str.DisplayVersion
lea eax, [ebp - 0x13f8]
push eax
lea ecx, [ebp - 0x15f8]
call fcn.0044c7ea
push eax
mov esi, 0x4aa830
mov ecx, esi
call fcn.00407495
lea ecx, [ebp - 0x13f8]
call fcn.00423fb2
push ebx
push 0x4aa9fc
push esi
call fcn.00448432
add esp, 0xc
push ebx
mov esi, 0x47efea
push esi
push str.SharedFiles
lea eax, [ebp - 0x1428]
push eax
lea ecx, [ebp - 0x15f8]
call fcn.0044c7ea
push eax
lea ecx, [ebp - 0x648]
call fcn.00407495
lea ecx, [ebp - 0x1428]
call fcn.00423fb2
push 0x1000
push esi
push str.ProductStartMenu
lea eax, [ebp - 0x1434]
push eax
lea ecx, [ebp - 0x15f8]
call fcn.0044c7ea
push eax
lea ecx, [ebp - 0x984]
call fcn.00407495
lea ecx, [ebp - 0x1434]
call fcn.00423fb2
cmp dword [ebp - 0x4f4], ebx
jg 0x415e4b
mov eax, 0x47c720
cmp dword [ebp - 0x1a8], ebx
cmovne eax, dword [ebp - 0x1a8]
push 0x1000
push esi
push eax
lea eax, [ebp - 0x1440]
push eax
call fcn.0044dc37
add esp, 0x10
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00407495
lea ecx, [ebp - 0x1440]
call fcn.00423fb2
test dword [0x4a96e0], 0x2000
je 0x415e73
mov eax, 0x47c720
cmp dword [ebp - 0x1a8], ebx
cmovne eax, dword [ebp - 0x1a8]
push 2
push eax
call fcn.00407bea
pop ecx
pop ecx
lea ecx, [ebp - 0x15f8]
call fcn.0040718f
mov eax, edi
cmp dword [ebp - 0x4f8], ebx
cmovne eax, dword [ebp - 0x4f8]
push eax
call fcn.0043cb65
pop ecx
mov byte [ebp - 0x13c], al
mov eax, dword [0x4a96d8]
and eax, 8
or eax, ebx
jne 0x415ec0
cmp byte [0x4a96d0], bl
jne 0x415f22
mov ecx, dword [0x4a96dc]
and ecx, 0x800
mov eax, ebx
or eax, ecx
jne 0x415f22
push 0x41
lea eax, [ebp - 0x144c]
push eax
call fcn.0040781b
pop ecx
pop ecx
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push dword [0x4a9704]
push dword [0x4a96dc]
push dword [0x4a96d8]
sub esp, 0xc
mov eax, esp
push 1
push eax
call fcn.0040781b
pop ecx
pop ecx
push esi
push dword [0x4a96c4]
call fcn.0044601d
add esp, 0x20
mov bl, al
lea ecx, [ebp - 0x144c]
call fcn.00423fb2
test bl, bl
jne 0x415f20
push 1
call fcn.0040ac89
pop ecx
xor ebx, ebx
call fcn.0040ff21
test al, al
jne 0x415f30
call fcn.00407b00
cmp byte [0x4a96d0], 0
jne 0x41618e
push 0x3f
lea eax, [ebp - 0xa84]
push eax
call fcn.0040781b
pop ecx
pop ecx
cmp dword [ebp - 0xa80], 0
jle 0x415f76
lea eax, [ebp - 0xa84]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00403ac1
push 0x4804d8
push ebx
push ebx
mov ecx, eax
call fcn.00429d04
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x147c]
call fcn.00402c69
jmp 0x416041
push dword [ebp - 0x1468]
lea ecx, [ebp - 0x51c]
call fcn.00406ee3
cmp dword [ebp - 0x518], 0
jle 0x416036
mov esi, 0x47c720
mov eax, esi
cmp dword [ebp - 0x51c], 0
cmovne eax, dword [ebp - 0x51c]
push eax
call fcn.00439765
pop ecx
test al, al
jne 0x415fd8
lea eax, [ebp - 0x51c]
push eax
call fcn.00413c40
pop ecx
mov ecx, str.LicenseDlg3
mov eax, dword [0x4a970c]
sub eax, ebx
je 0x415fff
sub eax, 1
je 0x415ff8
dec eax
sub eax, 1
jne 0x416004
mov ecx, str.LicenseDlg4
jmp 0x416004
mov ecx, str.LicenseDlg
jmp 0x416004
mov ecx, str.LicenseDlg2
mov eax, esi
cmp dword [ebp - 0x51c], 0
cmovne eax, dword [ebp - 0x51c]
push ebx
push eax
push 0x40bb2e
push dword [0x4a96c4]
push ecx
call fcn.00450e81
add esp, 0x14
cmp eax, 0x3eb
jne 0x416036
call fcn.00407b00
lea ecx, [ebp - 0x51c]
call fcn.00423fb2
lea ecx, [ebp - 0x147c]
call fcn.00402e15
test al, al
jne 0x415f8d
lea ecx, [ebp - 0xa84]
call fcn.00423fb2
cmp byte [0x4a96d0], 0
jne 0x41618e
push 0x40
lea eax, [ebp - 0xa90]
push eax
call fcn.0040781b
pop ecx
pop ecx
cmp dword [ebp - 0xa8c], 0
jle 0x4160a5
lea eax, [ebp - 0xa90]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00403ac1
push 0x4804d8
push ebx
push ebx
mov ecx, eax
call fcn.00429d04
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x1494]
call fcn.00402c69
jmp 0x416170
push dword [ebp - 0x1480]
lea ecx, [ebp - 0x528]
call fcn.00406ee3
cmp dword [ebp - 0x524], 0
jle 0x416165
mov esi, 0x47c720
mov eax, esi
cmp dword [ebp - 0x528], 0
cmovne eax, dword [ebp - 0x528]
push eax
call fcn.00439765
pop ecx
test al, al
jne 0x416107
lea eax, [ebp - 0x528]
push eax
call fcn.00413c40
pop ecx
mov ecx, str.ReadmeDlg3
mov eax, dword [0x4a9710]
sub eax, ebx
je 0x41612e
sub eax, 1
je 0x416127
dec eax
sub eax, 1
jne 0x416133
mov ecx, str.ReadmeDlg4
jmp 0x416133
mov ecx, str.ReadmeDlg
jmp 0x416133
mov ecx, str.ReadmeDlg2
mov eax, esi
cmp dword [ebp - 0x528], 0
cmovne eax, dword [ebp - 0x528]
push ebx
push eax
push 0x40c3dd
push dword [0x4a96c4]
push ecx
call fcn.00450e81
add esp, 0x14
cmp eax, 0x3eb
jne 0x416165
call fcn.00407b00
lea ecx, [ebp - 0x528]
call fcn.00423fb2
lea ecx, [ebp - 0x1494]
call fcn.00402e15
test al, al
jne 0x4160bc
lea ecx, [ebp - 0xa90]
call fcn.00423fb2
cmp dword [0x4aa7f4], 0
je 0x4161ef
push 1
call fcn.004087a0
mov dword [esp], 0x4aa7f0
lea ecx, [ebp - 0xc30]
call fcn.00402c69
jmp 0x4161c9
mov eax, dword [ebp - 0xc1c]
test byte [eax + 0x28], 2
jne 0x4161c9
lea ecx, [ebp - 0xc30]
call fcn.004024e4
lea ecx, [ebp - 0xc30]
call fcn.00402e15
test al, al
jne 0x4161b2
push 0x14d
call fcn.00452b51
push dword [0x4a96c4]
call fcn.004521bd
pop ecx
pop ecx
mov byte [ebp + 0xb], bl
mov byte [ebp - 0x59], bl
mov byte [ebp - 0x7b], bl
mov byte [ebp - 0x11], bl
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x7dc]
call fcn.00406ee3
push bind
push 0x48045c
lea ecx, [ebp - 0x7dc]
call fcn.0042483d
mov esi, ebx
test al, al
mov eax, reloc.OLEAUT32.dll_SysReAllocString
cmovne esi, eax
push bind
push 0x480468
lea ecx, [ebp - 0x7dc]
call fcn.0042483d
mov ecx, bind
test al, al
cmovne esi, ecx
test esi, esi
je 0x41634e
lea ecx, [ebp - 0x1818]
call fcn.00406d8f
mov eax, edi
cmp dword [ebp - 0x7dc], 0
cmovne eax, dword [ebp - 0x7dc]
push 0x40
push edi
push eax
push esi
lea eax, [ebp - 0x1464]
push eax
lea ecx, [ebp - 0x1818]
call fcn.0044c895
push eax
mov ecx, 0x4aa854
call fcn.0042357c
lea ecx, [ebp - 0x1464]
call fcn.00423fb2
cmp dword [0x4aa858], 0
jg 0x4162cb
mov eax, edi
cmp dword [ebp - 0xb8], 0
cmovne eax, dword [ebp - 0xb8]
push eax
push str.Failed_to_obtain_installation_path_from___s_
call fcn.0040a0e0
push 1
call fcn.0040ac89
add esp, 0xc
push 0x4aa854
call fcn.0040a2ad
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043cb65
pop ecx
pop ecx
test al, al
jne 0x41631f
mov edx, edi
cmp dword [ebp - 0xb8], 0
cmovne edx, dword [ebp - 0xb8]
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push edx
push ecx
push str.Installation_path___s__obtained_from___s__does_not_exist.
call fcn.0040a0e0
push 1
call fcn.0040ac89
add esp, 0x10
push 0xffffffffffffffff
push 0x4aaa40
push 0x4aa854
call fcn.0043f82d
add esp, 0xc
lea ecx, [ebp - 0x1818]
call fcn.0040718f
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
jmp 0x417129
mov ecx, dword [0x4a96d8]
mov eax, ecx
and eax, 4
or eax, ebx
je 0x41692c
cmp byte [ebp - 0x13c], 0
je 0x41692c
and ecx, 1
or ecx, ebx
je 0x41657f
cmp dword [ebp - 0x338], 0
jle 0x4163b4
mov eax, 0x47c720
mov edx, eax
cmp dword [ebp - 0x33c], 0
cmovne edx, dword [ebp - 0x33c]
mov ecx, eax
mov eax, dword [0x4aa830]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
jns 0x41657f
mov byte [0x4a96d0], bl
lea ecx, [ebp - 0x534]
call fcn.00426589
lea ecx, [ebp - 0x16c4]
call fcn.00406d8f
mov eax, edi
cmp dword [ebp - 0xa0], 0
cmovne eax, dword [ebp - 0xa0]
push eax
call fcn.00454035
push eax
lea eax, [ebp - 0x14d0]
push eax
call fcn.0043f19d
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x20009
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x16c4]
call fcn.0044cf3f
mov esi, eax
lea ecx, [ebp - 0x14d0]
call fcn.00423fb2
test esi, esi
je 0x416490
push ebx
push edi
push 0x480614
lea eax, [ebp - 0x14dc]
push eax
lea ecx, [ebp - 0x16c4]
call fcn.0044c9ab
push eax
lea ecx, [ebp - 0x534]
call fcn.0042357c
lea ecx, [ebp - 0x14dc]
call fcn.00423fb2
cmp dword [ebp - 0x530], 0
jg 0x4164cb
push ebx
push edi
push 0x480640
lea eax, [ebp - 0xd14]
push eax
lea ecx, [ebp - 0x16c4]
call fcn.0044c9ab
push eax
lea ecx, [ebp - 0x534]
call fcn.0042357c
lea ecx, [ebp - 0xd14]
call fcn.00423fb2
cmp dword [ebp - 0x530], 0
jg 0x4164cb
push 9
lea eax, [ebp - 0xd20]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040a15a
add esp, 0xc
lea ecx, [ebp - 0xd20]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
push ebx
push ebx
push 0x40beba
push dword [0x4a96c4]
push str.MustUninstall
call fcn.00450e81
add esp, 0x14
cmp eax, 0x3e9
jne 0x416561
call sub.KERNEL32.dll_GetCommandLineW
push eax
lea ecx, [ebp - 0x9c0]
call fcn.00406f9c
push 1
push 0x60
push 0x22
lea ecx, [ebp - 0x9c0]
call fcn.0042b7c4
mov eax, edi
cmp dword [ebp - 0x9c0], 0
cmovne eax, dword [ebp - 0x9c0]
push ebx
push 0x47f678
push eax
push str.__r:_
lea eax, [ebp - 0x534]
push eax
call fcn.004223bb
mov eax, edi
cmp dword [ebp - 0x534], 0
cmovne eax, dword [ebp - 0x534]
push ebx
push ebx
push 0x880
push eax
call fcn.00446c8b
add esp, 0x24
lea ecx, [ebp - 0x9c0]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x16c4]
call fcn.0040718f
lea ecx, [ebp - 0x534]
call fcn.00423fb2
lea ecx, [ebp - 0x174c]
call fcn.00406d8f
mov eax, edi
cmp dword [ebp - 0xa0], 0
cmovne eax, dword [ebp - 0xa0]
push eax
call fcn.00454035
push eax
lea eax, [ebp - 0xd2c]
push eax
call fcn.0043f19d
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x2000f
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x174c]
call fcn.0044cf3f
mov esi, eax
lea ecx, [ebp - 0xd2c]
call fcn.00423fb2
test esi, esi
je 0x4166ce
lea ecx, [ebp - 0x4bc]
call fcn.00426589
push ebx
push 0x47efea
push str.NoDowngradeBelow
lea eax, [ebp - 0xd38]
push eax
lea ecx, [ebp - 0x174c]
call fcn.0044c7ea
push eax
lea ecx, [ebp - 0x4bc]
call fcn.0042357c
lea ecx, [ebp - 0xd38]
call fcn.00423fb2
lea ecx, [ebp - 0x4bc]
call fcn.00410c2f
cmp dword [ebp - 0x4b8], 0
jle 0x4166c3
mov eax, 0x47c720
mov edx, eax
cmp dword [ebp - 0x4bc], 0
cmovne edx, dword [ebp - 0x4bc]
mov ecx, eax
mov eax, dword [0x4aa8a8]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
jns 0x4166c3
cmp byte [0x4a96d0], 0
jne 0x4166bb
push ebx
lea eax, [ebp - 0x4bc]
push eax
call fcn.0044840f
mov esi, edi
cmp dword [ebp - 0x4bc], 0
cmovne esi, dword [ebp - 0x4bc]
push 0x6a
lea eax, [ebp - 0xd44]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040a0e0
add esp, 0x18
lea ecx, [ebp - 0xd44]
call fcn.00423fb2
push 1
call fcn.0040ac89
pop ecx
lea ecx, [ebp - 0x4bc]
call fcn.00423fb2
lea ecx, [ebp - 0x174c]
call fcn.0040718f
mov ecx, dword [0x4a96dc]
and ecx, 0x10
mov eax, ebx
or eax, ecx
je 0x416755
mov ecx, 0x4aa830
call fcn.0040a1d0
test al, al
jne 0x416755
mov ecx, 0x4aa8a8
call fcn.0040a1d0
test al, al
jne 0x416755
mov ecx, 0x47c720
mov edx, ecx
mov eax, dword [0x4aa8a8]
test eax, eax
cmovne edx, eax
mov eax, dword [0x4aa830]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
jne 0x416739
mov byte [ebp - 0x11], 1
mov dword [ebp - 0x60], 4
jmp 0x41675c
js 0x416748
mov dword [ebp - 0x60], 6
mov byte [ebp - 0x7b], 1
jmp 0x41675c
mov dword [ebp - 0x60], 5
mov byte [ebp - 0x59], 1
jmp 0x41675c
mov dword [ebp - 0x60], 3
cmp byte [0x4a96d0], 0
jne 0x416912
mov eax, dword [0x4a96d8]
and eax, 0x10000000
or eax, ebx
jne 0x416912
lea ecx, [ebp - 0x9e4]
call fcn.00426589
push 7
lea eax, [ebp - 0xd5c]
push eax
call fcn.0040781b
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, 0x47c724
cmp dword [ebp - 0x4f8], 0
cmovne esi, dword [ebp - 0x4f8]
push dword [ebp - 0x60]
lea eax, [ebp - 0xd50]
push eax
call fcn.0040781b
mov ecx, 0x47c724
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push dword [0x4a3164]
push esi
push dword [0x4a3160]
push ecx
lea eax, [ebp - 0x9e4]
push eax
call fcn.0042c1c8
add esp, 0x2c
lea ecx, [ebp - 0xd50]
call fcn.00423fb2
lea ecx, [ebp - 0xd5c]
call fcn.00423fb2
push 2
lea eax, [ebp - 0xd68]
push eax
call fcn.0040781b
mov edi, 0x47c724
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x9e4], 0
cmovne eax, dword [ebp - 0x9e4]
push ecx
push eax
call fcn.0040df60
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xd68]
call fcn.00423fb2
test bl, bl
jne 0x416847
call fcn.00407b00
mov ecx, dword [0x4a96dc]
and ecx, 0x1000
xor ebx, ebx
mov eax, ebx
or eax, ecx
je 0x416907
mov ecx, 0x4aa830
call fcn.0040a1d0
test al, al
jne 0x416907
lea ecx, [ebp - 0x348]
call fcn.0040a1d0
test al, al
jne 0x4168ad
mov eax, 0x47c720
mov edx, eax
cmp dword [ebp - 0x348], ebx
cmovne edx, dword [ebp - 0x348]
mov ecx, eax
mov eax, dword [0x4aa830]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.0042d9a6
pop ecx
pop ecx
test eax, eax
jns 0x416907
push 0x14
lea eax, [ebp - 0xd80]
push eax
call fcn.0040781b
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push 0x48
lea eax, [ebp - 0xd74]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040deab
add esp, 0x18
mov bl, al
lea ecx, [ebp - 0xd74]
call fcn.00423fb2
lea ecx, [ebp - 0xd80]
call fcn.00423fb2
test bl, bl
jne 0x416905
push 1
call fcn.0040ac89
pop ecx
xor ebx, ebx
lea ecx, [ebp - 0x9e4]
call fcn.00423fb2
mov byte [ebp + 0xb], 1
push 0xffffffffffffffff
push 0x4aaa40
lea eax, [ebp - 0x4f8]
push eax
call fcn.0043f82d
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
cmp byte [ebp + 0xb], 0
jne 0x417129
cmp dword [0x4aaa44], 0
jg 0x416960
push 0xffffffffffffffff
push 0x4aaa40
lea eax, [ebp - 0xb8]
push eax
call fcn.0043f82d
add esp, 0xc
push ebx
push 0x4aa854
push 0x4aaa40
call fcn.004405ed
add esp, 0xc
cmp byte [0x4a96d0], 0
jne 0x417116
mov eax, dword [0x4a96d8]
and eax, 0x80
or eax, ebx
je 0x417116
call fcn.0040fe85
test al, al
jne 0x4169a0
call fcn.00407b00
mov ecx, 0x4aa854
call fcn.00410c46
cmp dword [0x4aaa44], 0
jle 0x416992
push 0xffffffffffffffff
push 0x4aaa40
push 0x4aa854
call fcn.0043f82d
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043cecd
add esp, 0x10
test al, al
je 0x4170a4
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043fbb2
pop ecx
test al, al
je 0x4170a4
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0043f5c8
pop ecx
pop ecx
mov byte [ebp - 0x68], al
test al, al
je 0x416a55
lea eax, [ebp - 0x68]
push eax
call fcn.0043d17e
pop ecx
test al, al
jne 0x416a55
push 0x10
lea eax, [ebp - 0xd8c]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
movsx eax, byte [ebp - 0x68]
push eax
push ecx
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0xd8c]
jmp 0x4170db
mov ecx, dword [0x4a96dc]
and ecx, 0x20
mov eax, ebx
or eax, ecx
je 0x416ab4
push bind
push 0x47f24c
mov ecx, 0x4aa854
call fcn.004282d7
test al, al
jne 0x416a8a
lea eax, [ebp - 0x68]
push eax
call fcn.0043d263
pop ecx
test al, al
je 0x416ab4
push 0x42
lea eax, [ebp - 0xd98]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040a15a
add esp, 0xc
lea ecx, [ebp - 0xd98]
jmp 0x4170db
mov eax, dword [0x4aa858]
and eax, 0xfffffffe
cmp eax, 6
jg 0x416aeb
push 0x11
lea eax, [ebp - 0xda4]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040a15a
add esp, 0xc
lea ecx, [ebp - 0xda4]
jmp 0x4170db
lea ecx, [ebp - 0x3e0]
call fcn.00426589
push 1
lea eax, [ebp - 0xdb0]
push eax
call fcn.00454fab
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0042357c
lea ecx, [ebp - 0xdb0]
call fcn.00423fb2
sub esp, 0xc
mov ecx, esp
push 0x4aa854
call fcn.00406ee3
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3e0]
push eax
call fcn.00406ee3
call fcn.0043cf53
add esp, 0x18
test al, al
je 0x416b8f
mov esi, edi
cmp dword [ebp - 0x3e0], 0
cmovne esi, dword [ebp - 0x3e0]
push 0x12
lea eax, [ebp - 0xdbc]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040a0e0
lea ecx, [ebp - 0xdbc]
add esp, 0x10
call fcn.00423fb2
lea ecx, [ebp - 0x3e0]
jmp 0x4170db
push 2
lea eax, [ebp - 0xdc8]
push eax
call fcn.00454fab
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0042357c
lea ecx, [ebp - 0xdc8]
call fcn.00423fb2
sub esp, 0xc
mov ecx, esp
push 0x4aa854
call fcn.00406ee3
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3e0]
push eax
call fcn.00406ee3
call fcn.0043cf53
add esp, 0x18
test al, al
je 0x416c1a
mov esi, edi
cmp dword [ebp - 0x3e0], 0
cmovne esi, dword [ebp - 0x3e0]
push 0x12
lea eax, [ebp - 0xdd4]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040a0e0
lea ecx, [ebp - 0xdd4]
jmp 0x416b7c
lea ecx, [ebp - 0x3e0]
call fcn.00423fb2
mov dl, byte [ebp - 0x68]
test dl, dl
je 0x416c6c
lea eax, [ebp - 0x68]
push eax
call fcn.0043d289
pop ecx
test al, al
je 0x416c69
push 0x60
lea eax, [ebp - 0xde0]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
movsx eax, byte [ebp - 0x68]
push eax
push ecx
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0xde0]
jmp 0x4170db
mov dl, byte [ebp - 0x68]
mov ecx, dword [0x4a96dc]
and ecx, 0x800000
mov eax, ebx
or eax, ecx
je 0x416cbf
test dl, dl
je 0x416cbf
lea eax, [ebp - 0x68]
push eax
call fcn.0043d276
pop ecx
test al, al
je 0x416cbf
push 0x60
lea eax, [ebp - 0xdec]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
movsx eax, byte [ebp - 0x68]
push eax
push ecx
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0xdec]
jmp 0x4170db
test dword [0x4a96e0], 0x10000
je 0x416d03
mov ecx, 0x4aa854
call fcn.0042377b
test al, al
jne 0x416d03
push 0x1e
lea eax, [ebp - 0xdf8]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040a15a
add esp, 0xc
lea ecx, [ebp - 0xdf8]
jmp 0x4170db
push 0x4a3104
push dword [ebp - 0x68]
call fcn.0040a235
pop ecx
pop ecx
mov dword [ebp - 0x14c], eax
mov esi, edx
mov dword [ebp - 0x148], esi
cmp byte [ebp - 0x13c], 0
jne 0x416e59
cmp byte [0x4a96d0], 0
jne 0x416e59
cmp byte [ebp - 0x68], 0
je 0x416e59
lea eax, [ebp - 0x68]
push eax
call fcn.0043d23d
pop ecx
mov ebx, eax
mov eax, edx
mov dword [ebp + 8], eax
cmp esi, eax
jl 0x416e59
jg 0x416d6b
cmp dword [ebp - 0x14c], ebx
jbe 0x416e59
lea ecx, [ebp - 0x7f4]
call fcn.00426589
push dword [ebp + 8]
push ebx
lea eax, [ebp - 0xe1c]
push eax
call fcn.00422ce1
cmp dword [eax], 0
cmovne edi, dword [eax]
push dword [ebp - 0x148]
push dword [ebp - 0x14c]
lea eax, [ebp - 0xe10]
push eax
call fcn.00422ce1
mov ebx, 0x47c724
mov esi, ebx
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x13
lea eax, [ebp - 0xe04]
push eax
call fcn.0040781b
mov ecx, ebx
cmp dword [eax], 0
cmovne ecx, dword [eax]
push edi
movsx eax, byte [ebp - 0x68]
push eax
push esi
push ecx
lea eax, [ebp - 0x7f4]
push eax
call fcn.00425ff0
add esp, 0x34
lea ecx, [ebp - 0xe04]
call fcn.00423fb2
lea ecx, [ebp - 0xe10]
call fcn.00423fb2
lea ecx, [ebp - 0xe1c]
call fcn.00423fb2
push 0x14
lea eax, [ebp - 0xe28]
push eax
call fcn.0040781b
mov edi, ebx
mov ecx, ebx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x7f4], 0
cmovne eax, dword [ebp - 0x7f4]
push ecx
push eax
call fcn.0040df60
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xe28]
call fcn.00423fb2
lea ecx, [ebp - 0x7f4]
test bl, bl
jne 0x416e54
call fcn.00423fb2
xor ebx, ebx
jmp 0x416992
call fcn.00423fb2
lea ecx, [ebp - 0x540]
call fcn.00426589
call fcn.00452bfd
call fcn.00452bb4
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043cb65
pop ecx
mov bl, al
call fcn.00452c7e
mov esi, edi
mov eax, dword [0x4aa854]
test bl, bl
je 0x416ed0
xor ebx, ebx
mov byte [ebp + 0xb], bl
test eax, eax
cmovne esi, eax
push 0x16
lea eax, [ebp - 0xe34]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x540]
push eax
call fcn.00425ff0
add esp, 0x14
lea ecx, [ebp - 0xe34]
call fcn.00423fb2
jmp 0x416f0d
mov byte [ebp + 0xb], 1
test eax, eax
cmovne esi, eax
push 0x17
lea eax, [ebp - 0xe40]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x540]
push eax
call fcn.00425ff0
add esp, 0x14
lea ecx, [ebp - 0xe40]
call fcn.00423fb2
xor ebx, ebx
mov eax, dword [0x4a96d8]
and eax, 0x80000000
or eax, ebx
je 0x416f69
push 0x18
lea eax, [ebp - 0xe4c]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x540], 0
cmovne eax, dword [ebp - 0x540]
push ecx
push eax
call fcn.0040df60
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xe4c]
call fcn.00423fb2
test bl, bl
jne 0x416f67
lea ecx, [ebp - 0x540]
jmp 0x416e48
xor ebx, ebx
cmp byte [ebp + 0xb], 0
je 0x41703a
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043c741
pop ecx
test al, al
jne 0x41703a
lea ecx, [ebp - 0x81c]
call fcn.00426589
lea eax, [ebp - 0xe64]
push eax
call fcn.00447992
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, 0x47c724
mov eax, dword [0x4aa854]
test eax, eax
cmovne esi, eax
push 0x19
lea eax, [ebp - 0xe58]
push eax
call fcn.0040781b
mov ecx, 0x47c724
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push dword [0x4a3164]
push esi
push dword [0x4a3160]
push ecx
lea eax, [ebp - 0x81c]
push eax
call fcn.0042c1c8
add esp, 0x28
lea ecx, [ebp - 0xe58]
call fcn.00423fb2
lea ecx, [ebp - 0xe64]
call fcn.00423fb2
mov edi, 0x47c724
mov eax, edi
cmp dword [ebp - 0x81c], 0
cmovne eax, dword [ebp - 0x81c]
push eax
call fcn.0040a15a
pop ecx
lea ecx, [ebp - 0x81c]
call fcn.00423fb2
lea ecx, [ebp - 0x540]
jmp 0x4170db
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ebx
push ebx
push ecx
lea eax, [ebp - 0x788]
push eax
call fcn.0043e00c
add esp, 0x10
cmp dword [ebp - 0x784], 0
jg 0x4170e5
mov esi, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne esi, eax
push 0x49
lea eax, [ebp - 0xe70]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040a0e0
add esp, 0x10
lea ecx, [ebp - 0xe70]
call fcn.00423fb2
lea ecx, [ebp - 0x788]
jmp 0x41702a
mov esi, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne esi, eax
push 0xe
lea eax, [ebp - 0xe7c]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
push str._s_r_n_r_n_s
call fcn.0040a0e0
add esp, 0x14
lea ecx, [ebp - 0xe7c]
call fcn.00423fb2
jmp 0x416992
mov eax, edi
cmp dword [ebp - 0x788], 0
cmovne eax, dword [ebp - 0x788]
push ebx
push eax
call fcn.0043e32e
pop ecx
pop ecx
lea ecx, [ebp - 0x788]
call fcn.00423fb2
lea ecx, [ebp - 0x540]
call fcn.00423fb2
jmp 0x417129
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043c741
pop ecx
push ebx
push 0x4aa854
push 0x4aaa40
call fcn.004405ed
mov esi, 0x47c720
mov ecx, esi
mov eax, dword [0x4aaa40]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0043f582
mov byte [ebp - 0x3d4], al
lea eax, [ebp - 0x3d4]
push eax
call fcn.0043d276
add esp, 0x18
mov byte [ebp + 0xb], al
cmp byte [ebp - 0x13c], 0
je 0x41718e
cmp dword [ebp - 0x980], 0
jle 0x4171d1
lea eax, [ebp - 0x984]
push eax
mov ecx, 0x4aa848
call fcn.004219dc
jmp 0x4171d1
push 0x4aa848
call fcn.00413c40
pop ecx
cmp byte [0x4a96d0], 0
jne 0x4171d1
mov ecx, dword [0x4a96dc]
and ecx, 4
mov eax, ebx
or eax, ecx
je 0x4171d1
cmp byte [ebp + 0xb], 0
je 0x4171c3
test dword [0x4a96e0], 0x800
jne 0x4171d1
call fcn.0040fed2
test al, al
jne 0x4171d1
call fcn.00407b00
call fcn.0040e66b
mov ecx, esi
mov eax, dword [0x4aaa58]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0040ca80
pop ecx
push 0x80
push 0x20000000
push 0x47efea
mov ecx, 0x4aa950
call fcn.00441dba
xorps xmm0, xmm0
movlpd qword [ebp - 0x7fc], xmm0
test byte [0x4a96e0], 2
je 0x4172e9
push 0x61
call fcn.00408900
mov dword [esp], str.Creating_restore_point...
call fcn.0040d3c2
mov dword [esp], 0x4aa818
lea ecx, [ebp - 0x834]
call fcn.00406ee3
cmp dword [0x4aaa18], 0
jg 0x41725d
push 0x4aaa14
push 0x47dfd4
lea ecx, [ebp - 0x834]
call fcn.004227a2
lea ecx, [ebp - 0x828]
call fcn.00426589
mov eax, edi
cmp dword [ebp - 0x834], 0
cmovne eax, dword [ebp - 0x834]
lea ecx, [ebp - 0x828]
push ecx
push eax
lea ecx, [ebp - 0x7fc]
call fcn.0044df02
test al, al
jne 0x4172bd
mov eax, esi
cmp dword [ebp - 0x828], 0
cmovne eax, dword [ebp - 0x828]
push ebx
push dword [0x4a315c]
push eax
push str.FAILED_r_n
call fcn.0040d366
add esp, 0x10
and dword [0x4a96e0], 0xfffffffd
jmp 0x4172c8
push str.OK_r_n
call fcn.0040d3c2
pop ecx
push 0x47efea
call fcn.0041098c
pop ecx
lea ecx, [ebp - 0x828]
call fcn.00423fb2
lea ecx, [ebp - 0x834]
call fcn.00423fb2
push 0x71
call fcn.00408900
push 1
call fcn.0040e648
mov edx, edi
mov eax, dword [0x4aa9cc]
test eax, eax
cmovne edx, eax
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xe88]
push eax
call fcn.0043f19d
add esp, 0x14
push eax
mov ecx, 0x4aaa70
call fcn.0042357c
lea ecx, [ebp - 0xe88]
call fcn.00423fb2
push 0xffffffffffffffff
push 0x4aa8d8
push 0x4aaa70
call fcn.0043f82d
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004108a9
add esp, 0x10
cmp dword [0x4aa9d0], 0
jle 0x4173c2
mov ecx, edi
mov eax, dword [0x4aaa70]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043c741
pop ecx
test al, al
jne 0x4173c2
lea eax, [ebp - 0xe94]
push eax
call fcn.00447992
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4aaa70]
test eax, eax
cmovne ecx, eax
push ebx
push dword [0x4a3160]
push edx
push 0x4806cc
push ecx
push str.Failed_to_create_uninstall_data_folder__
call fcn.0040d394
add esp, 0x1c
lea ecx, [ebp - 0xe94]
call fcn.00423fb2
mov eax, dword [0x4a96d8]
and eax, 4
or eax, ebx
jne 0x4173d8
mov ecx, 0x4aa878
jmp 0x417512
cmp dword [ebp - 0x298], 0
jle 0x41742a
cmp byte [ebp + 0xb], 0
je 0x41742a
mov edx, edi
cmp dword [ebp - 0x29c], 0
cmovne edx, dword [ebp - 0x29c]
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xea0]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
mov ecx, 0x4aa878
call fcn.0042357c
lea ecx, [ebp - 0xea0]
jmp 0x417512
lea ecx, [ebp - 0x66c]
call fcn.00426589
movzx eax, byte [ebp - 0xc6]
sub eax, 1
je 0x4174c9
sub eax, 1
je 0x4174a5
sub eax, 1
je 0x417481
xor eax, eax
cmp byte [0x4a96d2], 1
setne al
add eax, 2
push eax
lea eax, [ebp - 0xeac]
push eax
call fcn.00454612
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x66c]
call fcn.0042357c
lea ecx, [ebp - 0xeac]
jmp 0x4174e8
push 2
lea eax, [ebp - 0xeb8]
push eax
call fcn.00454612
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x66c]
call fcn.0042357c
lea ecx, [ebp - 0xeb8]
jmp 0x4174e8
push 1
lea eax, [ebp - 0xec4]
push eax
call fcn.00454612
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x66c]
call fcn.0042357c
lea ecx, [ebp - 0xec4]
jmp 0x4174e8
lea eax, [ebp - 0xed0]
push eax
call fcn.00454482
pop ecx
push eax
lea ecx, [ebp - 0x66c]
call fcn.0042357c
lea ecx, [ebp - 0xed0]
call fcn.00423fb2
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x66c]
push eax
call fcn.00406ee3
push 0x4aa878
call fcn.0044013d
add esp, 0x14
lea ecx, [ebp - 0x66c]
call fcn.00423fb2
push 0xffffffffffffffff
push 0x4aa83c
push 0x4aa878
call fcn.0043f82d
add esp, 0xc
cmp dword [0x4aa87c], 0
jle 0x4175ba
mov ecx, edi
mov eax, dword [0x4aa878]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0043c741
pop ecx
test al, al
jne 0x417595
lea eax, [ebp - 0xedc]
push eax
call fcn.00447992
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4aa878]
test eax, eax
cmovne ecx, eax
push ebx
push dword [0x4a3160]
push edx
push 0x4806cc
push ecx
push str.Failed_to_create_shared_folder__
call fcn.0040d394
add esp, 0x1c
lea ecx, [ebp - 0xedc]
call fcn.00423fb2
mov ecx, dword [0x4a96dc]
and ecx, 0x40000000
mov eax, ebx
or eax, ecx
je 0x4175ba
mov ecx, edi
mov eax, dword [0x4aa878]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004108a9
pop ecx
mov eax, dword [ebp - 0x14c]
or eax, dword [ebp - 0x148]
jne 0x4175e6
push 0x4a3104
push dword [ebp - 0x3d4]
call fcn.0040a235
pop ecx
pop ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov edx, dword [0x4a96dc]
mov ecx, edx
and ecx, 0x1000000
mov eax, ebx
or eax, ecx
je 0x41760d
cmp byte [ebp + 0xb], 0
je 0x41760d
and dword [0x4a96d8], 0xfffffffb
mov dword [0x4a96dc], edx
lea ecx, [ebp - 0x36c]
call fcn.00424d37
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x36c]
call fcn.004221df
mov eax, dword [0x4a96d8]
and eax, 0x800000
or eax, ebx
mov cl, 1
jne 0x41763c
mov cl, bl
test byte [0x4a96e0], 0x40
mov eax, str.Pre_Installation_Batch
push 0
pop edx
cmove eax, edx
push eax
push ecx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x36c]
push eax
call fcn.00406ee3
call fcn.0040f2dc
add esp, 0x14
cmp byte [ebp - 0x59], 0
je 0x4176b3
mov ecx, dword [0x4a96dc]
and ecx, 0x10000000
mov eax, ebx
or eax, ecx
mov cl, 1
jne 0x417685
mov cl, bl
mov eax, dword [0x4a96e0]
and eax, 0x100
neg eax
sbb eax, eax
and eax, str.Upgrade_Batch
push eax
push ecx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x424]
push eax
call fcn.00406ee3
call fcn.0040f2dc
add esp, 0x14
cmp byte [ebp - 0x13c], 0
je 0x41770e
mov edx, dword [0x4a96e0]
cmp byte [ebp - 0x11], 0
jne 0x4176cd
test dl, 1
jne 0x41770e
mov ecx, dword [0x4a96dc]
and ecx, 0x20000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x4176e3
mov al, bl
and edx, 0x200
neg edx
sbb edx, edx
and edx, str.Reinstall_Batch
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x418]
push eax
call fcn.00406ee3
call fcn.0040f2dc
add esp, 0x14
push 8
call fcn.00408900
push 2
call fcn.0040e648
pop ecx
pop ecx
lea ecx, [ebp - 0x96c]
call fcn.00426589
cmp byte [ebp - 0xc7], 0
jne 0x417747
mov ecx, dword [ebp - 0x50]
sub dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x224]
add eax, ecx
mov dword [0x4a96e8], eax
jmp 0x4177a7
mov esi, dword [ebp - 0x50]
add esi, dword [ebp - 0x178]
mov eax, dword [ebp - 0x21c]
sub eax, esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x96c]
call fcn.00421e4f
mov eax, 0x47c720
cmp dword [ebp - 0x96c], 0
cmovne eax, dword [ebp - 0x96c]
mov dword [0x4a96e8], eax
push esi
push dword [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xd08]
call fcn.0042908f
test al, al
jne 0x4177a7
push esi
push dword [ebp - 0x4c]
push str.Error_code_2:_failed_to_read_archive_data_r_nsize_d_pos_d
call fcn.0043b8c9
add esp, 0xc
mov esi, dword [ebp - 0x6c]
cmp dword [ebp - 0x4c], esi
je 0x4177b7
push 0x2e
call fcn.00408d43
pop ecx
movzx eax, word [ebp - 0x58]
push eax
call fcn.0040daf3
push 0x3e
call fcn.00408900
push 0x15
call fcn.0040e648
push esi
push dword [0x4a96e8]
call fcn.00426221
add esp, 0x14
cmp eax, dword [ebp - 0x220]
je 0x4177ee
push 0x37
call fcn.00408d43
pop ecx
movzx eax, word [ebp - 0x58]
push eax
call fcn.0040daf3
mov esi, dword [0x4a96e8]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x21c], esi
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x218], eax
push 0x36
call fcn.00408900
push 0x1a
call fcn.0040e648
push 1
call fcn.0040902d
push 0x1b
call fcn.0040e648
add esp, 0x14
lea ecx, [ebp - 0xb18]
call fcn.00406985
lea ecx, [ebp - 0xa48]
call fcn.00406985
lea ecx, [ebp - 0xa38]
call fcn.00406985
lea ecx, [ebp - 0xa10]
call fcn.00406985
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x14f8]
call fcn.004068cb
lea ecx, [ebp - 0x4ec]
call fcn.00426589
mov byte [ebp - 0x35], bl
lea ecx, [ebp - 0xb94]
call fcn.004217ed
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
cmp eax, dword [ebp - 0x17c]
jge 0x419061
lea ecx, [ebp - 0x214]
call fcn.00426589
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0xb94]
call fcn.00423602
test al, al
jne 0x4179c4
push 0x1d
call fcn.00408900
pop ecx
mov edi, dword [esi]
add esi, 4
mov dword [ebp - 0x54], esi
mov ecx, dword [ebp - 0x6c]
sub ecx, 4
mov dword [ebp - 0x6c], ecx
test edi, edi
jg 0x4178e6
push 0x3d
call fcn.00408d43
pop ecx
mov ecx, dword [ebp - 0x6c]
cmp edi, ecx
jle 0x4178f5
push 0x3f
call fcn.00408d43
pop ecx
mov ecx, dword [ebp - 0x6c]
mov esi, dword [esi]
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
sub ecx, 4
mov dword [ebp - 0x6c], ecx
push edi
push eax
lea ecx, [ebp - 0x678]
call fcn.00406f7d
lea ecx, [ebp - 0x678]
call fcn.00426214
cmp eax, esi
je 0x41792a
push 0x3e
call fcn.00408d43
pop ecx
test dword [0x4a96e0], 0x1000
je 0x417951
mov esi, 0x4a9728
mov ecx, esi
call fcn.004205dd
lea eax, [ebp - 0x678]
push eax
push eax
mov ecx, esi
call fcn.0042048a
mov eax, dword [0x4a96d8]
and eax, 0x20
or eax, ebx
je 0x417978
push ebx
lea eax, [ebp - 0x678]
push eax
call fcn.00458638
pop ecx
pop ecx
test al, al
jne 0x417978
push 0x3c
call fcn.00408d43
pop ecx
lea eax, [ebp - 0x678]
push eax
lea ecx, [ebp - 0xb94]
call fcn.004257b9
mov esi, dword [ebp - 0x54]
add esi, edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x21c], esi
mov eax, dword [ebp - 0x6c]
sub eax, edi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x218], eax
dec dword [ebp - 0x3c]
lea ecx, [ebp - 0x678]
call fcn.00423fb2
lea ecx, [ebp - 0x214]
call fcn.00423fb2
jmp 0x41904d
mov eax, 0x47c720
cmp dword [ebp - 0x214], 0
cmovne eax, dword [ebp - 0x214]
mov dword [0x4a96e8], eax
call fcn.00408935
imul eax, dword [ebp - 0x3c], 0x3e
cdq
idiv dword [ebp - 0x17c]
add eax, 0x1c
push eax
call fcn.0040e648
pop ecx
call fcn.0041088e
push eax
lea ecx, [ebp - 0x19c]
call fcn.00406f3d
cmp dword [ebp - 0x198], 0
jg 0x417a18
push 0x46
call fcn.00408d43
pop ecx
call fcn.0041086a
mov esi, eax
mov dword [ebp - 0x4c], esi
call fcn.0041086a
mov dword [ebp - 0x50], eax
call fcn.0041086a
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x9d4], ebx
or dword [ebp - 0x9cc], 0xffffffff
lea eax, [ebp - 0x9d8]
push eax
call fcn.0040679e
pop ecx
call fcn.0041088e
push eax
lea ecx, [ebp - 0xc4]
call fcn.00406f3d
lea ecx, [ebp - 0x30c]
call fcn.00426589
mov eax, dword [ebp - 0x50]
and eax, 3
mov dword [ebp - 0x190], eax
je 0x417a87
call fcn.0041088e
push eax
lea ecx, [ebp - 0x30c]
call fcn.0040747e
call fcn.0041088e
push eax
lea ecx, [ebp - 0x394]
call fcn.00406f3d
call fcn.0041088e
push eax
lea ecx, [ebp - 0x158]
call fcn.00406f3d
call fcn.0041088e
push eax
lea ecx, [ebp - 0x300]
call fcn.00406f3d
cmp esi, 0xb
jne 0x417aca
call fcn.0041086a
mov dword [ebp - 0x144], eax
push dword [ebp - 0x3c]
mov ecx, 0x4a3104
mov edx, dword [0x4a3104]
call dword [edx + 0x88]
mov esi, dword [eax]
mov dword [ebp - 0x510], esi
test esi, esi
jns 0x417af2
push 0x47
call fcn.00408d43
pop ecx
cmp esi, 0x40000000
jle 0x417b02
push 0x48
call fcn.00408d43
pop ecx
mov eax, dword [0x4a96e8]
mov dword [ebp - 0x220], eax
add eax, esi
mov dword [0x4a96e8], eax
call fcn.0041086a
mov esi, eax
push dword [ebp - 0x510]
push dword [ebp - 0x220]
call fcn.00426221
pop ecx
pop ecx
cmp eax, esi
je 0x417b3a
push 0x64
call fcn.00408d43
pop ecx
call fcn.00452ae4
cmp dword [ebp - 0x154], 0
jle 0x417b76
push 0x5c
lea ecx, [ebp - 0x158]
call fcn.00423713
test al, al
jne 0x417b76
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004219dc
lea ecx, [ebp - 0x158]
call fcn.00423fb2
mov esi, dword [ebp - 0x4c]
cmp esi, 1
jne 0x417b98
cmp byte [ebp + 0xb], 0
je 0x417b98
cmp dword [ebp - 0x298], 0
jle 0x417b98
lea ecx, [ebp - 0x158]
call fcn.00423fb2
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x78]
call fcn.00426589
lea ecx, [ebp - 0xac]
call fcn.00426589
push ebx
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.004405ed
push ebx
lea eax, [ebp - 0x158]
push eax
call fcn.004405c2
add esp, 0x14
cmp dword [ebp - 0x154], 0
jle 0x417c90
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x78]
call fcn.004219dc
lea eax, [ebp - 0x78]
push eax
call fcn.0040a2ad
mov dword [esp], bind
push 0x47f24c
lea ecx, [ebp - 0x78]
call fcn.00424aa5
test al, al
je 0x417c19
push 0x5c
lea ecx, [ebp - 0x78]
call fcn.00422870
mov eax, 0x4aa878
cmp esi, 1
mov ecx, 0x4aa854
cmovne eax, ecx
push ebx
sub esp, 0xc
mov ecx, esp
push eax
call fcn.00406ee3
lea eax, [ebp - 0x78]
push eax
call fcn.0044013d
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x78]
call fcn.00410b2c
test al, al
je 0x417e57
mov eax, edi
cmp dword [ebp - 0xac], 0
cmovne eax, dword [ebp - 0xac]
push eax
lea eax, [ebp - 0xee8]
push eax
call fcn.0043f66d
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
lea eax, [ebp - 0x78]
push eax
call fcn.0043f075
add esp, 0x10
lea ecx, [ebp - 0xee8]
jmp 0x417e52
test byte [ebp - 0x50], 0x40
je 0x417cdf
mov edx, edi
cmp dword [ebp - 0xac], 0
cmovne edx, dword [ebp - 0xac]
mov ecx, edi
mov eax, dword [0x4aaa70]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xef4]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
call fcn.0042357c
lea ecx, [ebp - 0xef4]
call fcn.00423fb2
mov byte [ebp - 0x11], bl
jmp 0x417ebb
cmp esi, 5
jg 0x417e0c
je 0x417e16
mov eax, esi
sub eax, ebx
je 0x417e16
sub eax, 1
je 0x417dcb
sub eax, 3
jne 0x417e5d
mov esi, edi
cmp dword [ebp - 0xac], eax
cmovne esi, dword [ebp - 0xac]
lea eax, [ebp - 0xf0c]
push eax
call fcn.00454df6
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0xf00]
push eax
call fcn.0043f19d
add esp, 0x10
push eax
lea ecx, [ebp - 0x78]
call fcn.0042357c
lea ecx, [ebp - 0xf00]
call fcn.00423fb2
lea ecx, [ebp - 0xf0c]
call fcn.00423fb2
test byte [ebp - 0x50], 0x20
jne 0x417ebb
push 0x22
lea ecx, [ebp - 0x4ec]
call fcn.0040759f
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x4ec]
call fcn.004221df
push 0x4807e8
push ebx
push dword [ebp - 0x4e8]
lea ecx, [ebp - 0x4ec]
call fcn.00429d04
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x4ec]
call fcn.004221df
push 0x4807ec
push ebx
push dword [ebp - 0x4e8]
lea ecx, [ebp - 0x4ec]
call fcn.00429d04
jmp 0x417ebb
mov edx, edi
cmp dword [ebp - 0xac], 0
cmovne edx, dword [ebp - 0xac]
mov ecx, edi
mov eax, dword [0x4aa878]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf18]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
call fcn.0042357c
lea ecx, [ebp - 0xf18]
jmp 0x417eb6
cmp esi, 8
jle 0x417e67
cmp esi, 0xc
jg 0x417e5d
mov edx, edi
cmp dword [ebp - 0xac], 0
cmovne edx, dword [ebp - 0xac]
mov ecx, edi
mov eax, dword [0x4aa854]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf24]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
call fcn.0042357c
lea ecx, [ebp - 0xf24]
call fcn.00423fb2
mov byte [ebp - 0x11], 1
jmp 0x417ebb
push 0x6e
call fcn.00408d43
pop ecx
jmp 0x417ebb
mov esi, edi
cmp dword [ebp - 0xac], 0
cmovne esi, dword [ebp - 0xac]
lea eax, [ebp - 0xf3c]
push eax
call fcn.0045556b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0xf30]
push eax
call fcn.0043f19d
add esp, 0x10
push eax
lea ecx, [ebp - 0x78]
call fcn.0042357c
lea ecx, [ebp - 0xf30]
call fcn.00423fb2
lea ecx, [ebp - 0xf3c]
call fcn.00423fb2
lea ecx, [ebp - 0x48]
call fcn.00426589
push 0xffffffffffffffff
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0043f82d
add esp, 0xc
lea ecx, [ebp - 0x2f4]
call fcn.00426589
mov esi, edi
cmp dword [ebp - 0x78], 0
cmovne esi, dword [ebp - 0x78]
mov eax, edi
cmp dword [ebp - 0xac], 0
cmovne eax, dword [ebp - 0xac]
push eax
lea eax, [ebp - 0xf48]
push eax
call fcn.0043f66d
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push esi
push 0x4807f0
push ecx
lea eax, [ebp - 0x2f4]
push eax
call fcn.004223bb
add esp, 0x1c
lea ecx, [ebp - 0xf48]
call fcn.00423fb2
mov ecx, dword [0x4a96dc]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x417f6a
push str.b_0_
lea ecx, [ebp - 0x19c]
call fcn.00424f04
test al, al
jne 0x417f6a
mov eax, edi
cmp dword [ebp - 0x78], 0
cmovne eax, dword [ebp - 0x78]
push eax
call fcn.00410a3b
pop ecx
jmp 0x417f94
push 0x36
lea eax, [ebp - 0xf54]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.00410a44
add esp, 0xc
lea ecx, [ebp - 0xf54]
call fcn.00423fb2
mov byte [ebp - 0x140], 1
mov byte [ebp - 0x79], bl
mov byte [ebp - 0x13], bl
mov esi, dword [ebp - 0x4c]
mov eax, esi
sub eax, 1
je 0x417ff6
sub eax, 5
je 0x418004
sub eax, 1
je 0x417fe3
sub eax, 1
jne 0x418046
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0xa38]
call fcn.0040803a
xor ecx, ecx
inc ecx
mov byte [ebp - 0x13], cl
mov eax, dword [ebp - 0x50]
shr eax, 5
and al, cl
mov dword [ebp - 0x140], eax
jmp 0x418004
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0xa48]
call fcn.0040803a
mov byte [ebp - 0x79], 1
mov eax, dword [ebp - 0x50]
shr eax, 5
and al, 1
mov byte [ebp - 0x140], al
push ebx
lea ecx, [ebp - 0xb18]
call fcn.00407ff8
mov esi, eax
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.004219dc
cmp byte [ebp - 0x140], 0
je 0x41802a
push 0x20
jmp 0x41803c
cmp byte [ebp - 0x79], 0
je 0x418034
push 0x5e
jmp 0x41803c
cmp byte [ebp - 0x13], 0
je 0x418043
push 0xffffffffffffffa9
mov ecx, esi
call fcn.0040759f
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
and eax, 0x1c
cmp eax, 4
je 0x418fd7
cmp eax, 8
je 0x4182b6
cmp eax, 0xc
je 0x418261
mov eax, 0x47c720
cmp dword [ebp - 0x48], 0
cmovne eax, dword [ebp - 0x48]
push eax
call fcn.0043e593
pop ecx
test al, al
jne 0x418079
lea ecx, [ebp - 0x2f4]
call fcn.00423fb2
lea ecx, [ebp - 0x48]
call fcn.00423fb2
lea ecx, [ebp - 0xac]
call fcn.00423fb2
lea ecx, [ebp - 0x78]
call fcn.00423fb2
lea ecx, [ebp - 0x300]
call fcn.00423fb2
lea ecx, [ebp - 0x158]
call fcn.00423fb2
lea ecx, [ebp - 0x394]
call fcn.00423fb2
lea ecx, [ebp - 0x30c]
call fcn.00423fb2
lea ecx, [ebp - 0xc4]
call fcn.00423fb2
lea ecx, [ebp - 0x19c]
call fcn.00423fb2
lea ecx, [ebp - 0x214]
call fcn.00423fb2
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov edi, 0x47c724
jmp 0x41788d
cmp dword [ebp - 0x6c], 0
je 0x41906f
push 0x50
call fcn.00408d43
pop ecx
lea ecx, [ebp - 0xb94]
call fcn.00424c7f
test al, al
jne 0x419086
push 0x53
call fcn.00408d43
pop ecx
push 0x5b
call fcn.0040e648
push 0x36
lea eax, [ebp - 0xff0]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.00410a44
add esp, 0x10
lea ecx, [ebp - 0xff0]
call fcn.00423fb2
cmp byte [ebp - 0x35], 0
je 0x4190c2
call fcn.00452cc8
lea eax, [ebp - 0x14f8]
push eax
call fcn.00408e1b
push 0x5c
call fcn.0040e648
pop ecx
pop ecx
mov eax, dword [0x4a96d8]
push 4
pop esi
and eax, esi
or eax, ebx
je 0x41934e
lea ecx, [ebp - 0x15b4]
call fcn.00406d8f
push 0x2000f
push 0x40
call fcn.0045402f
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x15b4]
call fcn.0044cd37
test eax, eax
jne 0x419130
push str.Registry_error:_unable_to_increment_shared_file_reference_counts._r_n_r_n
push ebx
push dword [0x4aaa0c]
mov ecx, 0x4aaa08
call fcn.00429d04
jmp 0x419343
lea eax, [ebp - 0xb18]
push eax
lea ecx, [ebp - 0xc48]
call fcn.00402c69
lea ecx, [ebp - 0xc48]
call fcn.00402e15
test al, al
je 0x419338
mov esi, 0x47c720
lea ecx, [ebp - 0x684]
call fcn.00426589
mov eax, dword [ebp - 0xc34]
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
mov eax, 0x480a78
push eax
push ecx
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.0042c14b
add esp, 0x14
mov eax, esi
cmp dword [ebp - 0x684], 0
cmovne eax, dword [ebp - 0x684]
push eax
lea ecx, [ebp - 0x648]
call fcn.00408b1d
test al, al
jne 0x419317
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0xc48]
call fcn.0040757f
push 0x5e
lea ecx, [ebp - 0x4b0]
call fcn.00424953
push 0x20
lea ecx, [ebp - 0x4b0]
call fcn.00424953
push 0xffffffffffffffa9
lea ecx, [ebp - 0x4b0]
call fcn.00424953
push 0x7c
lea ecx, [ebp - 0x4b0]
call fcn.0040e0e5
test al, al
jne 0x419228
mov ecx, esi
mov eax, dword [ebp - 0x4b0]
test eax, eax
cmovne ecx, eax
cmovne esi, eax
push ebx
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x15b4]
call fcn.0044c64c
inc eax
push eax
push esi
lea ecx, [ebp - 0x15b4]
call fcn.0044d840
jmp 0x41928a
lea ecx, [ebp - 0xa9c]
call fcn.00426589
push ebx
lea eax, [ebp - 0xa9c]
push eax
lea eax, [ebp - 0x4b0]
push eax
call fcn.004405ed
add esp, 0xc
mov ecx, edi
mov eax, dword [ebp - 0xa9c]
test eax, eax
cmovne ecx, eax
mov esi, edi
cmovne esi, eax
push ebx
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x15b4]
call fcn.0044c690
inc eax
push eax
push esi
lea ecx, [ebp - 0x15b4]
call fcn.0044dbfc
mov byte [ebp - 0x36], al
lea ecx, [ebp - 0xa9c]
call fcn.00423fb2
mov al, byte [ebp - 0x36]
test al, al
jne 0x4192df
lea eax, [ebp - 0xffc]
push eax
call fcn.0044789c
mov esi, 0x47c720
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, esi
cmp dword [ebp - 0x4b0], 0
cmovne eax, dword [ebp - 0x4b0]
push ebx
push dword [0x4a3158]
push ecx
push str.__:
push eax
push str.Failed_to_increment_reference_count_of_shared_file__
call fcn.0040d366
add esp, 0x1c
lea ecx, [ebp - 0xffc]
call fcn.00423fb2
jmp 0x4192e4
mov esi, 0x47c720
cmp dword [ebp - 0x644], 0
jle 0x4192fa
push 0x3b
lea ecx, [ebp - 0x648]
call fcn.0040759f
lea eax, [ebp - 0x684]
push eax
lea ecx, [ebp - 0x648]
call fcn.004221df
lea ecx, [ebp - 0x4b0]
call fcn.00423fb2
lea ecx, [ebp - 0x684]
call fcn.00423fb2
lea ecx, [ebp - 0xc48]
call fcn.00402e15
test al, al
jne 0x41915a
push 4
pop esi
lea ecx, [ebp - 0x15b4]
call fcn.0044b7ff
lea ecx, [ebp - 0x15b4]
call fcn.0040718f
push 0x5d
call fcn.0040e648
pop ecx
cmp dword [ebp - 0xa44], 0
jne 0x41936c
cmp dword [ebp - 0xa34], 0
je 0x419754
lea eax, [ebp - 0xa48]
push eax
lea ecx, [ebp - 0x1558]
call fcn.00402c69
lea ecx, [ebp - 0x1558]
call fcn.00402e15
test al, al
je 0x4195a2
mov eax, dword [ebp - 0x1544]
mov esi, 0x47c720
cmp dword [eax], 0
cmovne esi, dword [eax]
mov dword [ebp - 0x190], esi
lea ecx, [ebp - 0x5ac]
call fcn.00426589
push esi
lea ecx, [ebp - 0xb48]
call fcn.00406f3d
push ebx
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0xb48]
push eax
call fcn.004405ed
add esp, 0xc
lea ecx, [ebp - 0xb48]
call fcn.00423fb2
mov eax, edi
cmp dword [ebp - 0x5ac], 0
cmovne eax, dword [ebp - 0x5ac]
push eax
push str.Registering_COM_File___s_...
call fcn.0040d32e
push 0x4d
lea eax, [ebp - 0x87c]
push eax
call fcn.0040781b
add esp, 0x10
push ebx
push bind
push ebx
push ebx
lea eax, [ebp - 0x5ac]
push eax
push str._file_
lea ecx, [ebp - 0x87c]
call fcn.0042b6ba
mov eax, edi
cmp dword [ebp - 0x87c], 0
cmovne eax, dword [ebp - 0x87c]
push eax
call fcn.00410a44
pop ecx
mov dword [ebp - 4], 2
wait
lea eax, [ebp - 0x1014]
push eax
call fcn.0045556b
pop ecx
mov esi, dword [eax]
test esi, esi
jne 0x419460
mov esi, edi
mov eax, dword [ebp - 0x5ac]
test eax, eax
jne 0x41946c
mov eax, edi
push ebx
push 0x47f678
push eax
push str.regsvr32.exe__s__
lea eax, [ebp - 0x1008]
push eax
call fcn.0042ca67
add esp, 0x14
mov eax, dword [eax]
test eax, eax
jne 0x41948f
mov eax, edi
push ebx
push esi
push 0x11
push eax
call fcn.00446c8b
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x808], esi
lea ecx, [ebp - 0x1008]
call fcn.00423fb2
lea ecx, [ebp - 0x1014]
call fcn.00423fb2
test esi, esi
je 0x41950e
mov eax, dword [ebp - 0x5ac]
test eax, eax
jne 0x4194ca
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x80], eax
cmp eax, 0x20
jb 0x4194fc
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4194f3
call eax
mov esi, ebx
mov dword [ebp - 0x808], esi
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x41950e
push esi
push str.FAILED__code__d_r_n
call fcn.0040d2f6
pop ecx
jmp 0x419518
push str.OK_r_n
call fcn.0040d3c2
pop ecx
wait
or dword [ebp - 4], 0xffffffff
jmp 0x419584
push 4
pop esi
lea ecx, [ebp - 0x87c]
call fcn.00423fb2
lea ecx, [ebp - 0x5ac]
call fcn.00423fb2
jmp 0x41937e
lea eax, [ebp - 0xa38]
push eax
lea ecx, [ebp - 0x1570]
call fcn.00402c69
lea ecx, [ebp - 0x1570]
call fcn.00402e15
test al, al
je 0x419754
mov eax, dword [ebp - 0x155c]
mov esi, 0x47c720
cmp dword [eax], 0
cmovne esi, dword [eax]
mov dword [ebp - 0x80], esi
lea ecx, [ebp - 0x7b8]
call fcn.00426589
push esi
lea ecx, [ebp - 0xb54]
call fcn.00406f3d
push ebx
lea eax, [ebp - 0x7b8]
push eax
lea eax, [ebp - 0xb54]
push eax
call fcn.004405ed
add esp, 0xc
lea ecx, [ebp - 0xb54]
call fcn.00423fb2
mov eax, edi
cmp dword [ebp - 0x7b8], 0
cmovne eax, dword [ebp - 0x7b8]
push eax
push str.Registering_Type_Library___s_...
call fcn.0040d32e
push 0x4d
lea eax, [ebp - 0x888]
push eax
call fcn.0040781b
add esp, 0x10
push ebx
push bind
push ebx
push ebx
lea eax, [ebp - 0x7b8]
push eax
push str._file_
lea ecx, [ebp - 0x888]
call fcn.0042b6ba
mov eax, edi
cmp dword [ebp - 0x888], 0
cmovne eax, dword [ebp - 0x888]
push eax
call fcn.00410a44
pop ecx
mov dword [ebp - 4], 4
wait
push esi
call fcn.0044b38f
pop ecx
test al, al
je 0x419696
push str.OK_r_n
call fcn.0040d3c2
pop ecx
jmp 0x4196ce
lea eax, [ebp - 0x102c]
push eax
call fcn.0044789c
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x4196ae
mov eax, 0x47c720
push ebx
push dword [0x4a3158]
push eax
push str.FAILED_r_n
call fcn.0040d366
add esp, 0x10
lea ecx, [ebp - 0x102c]
call fcn.00423fb2
wait
or dword [ebp - 4], 0xffffffff
jmp 0x419736
push 4
pop esi
lea ecx, [ebp - 0x888]
call fcn.00423fb2
lea ecx, [ebp - 0x7b8]
call fcn.00423fb2
jmp 0x4195b4
cmp dword [ebp - 0xa0c], 0
je 0x4197d5
mov dword [ebp - 0x500], ebx
mov dword [ebp - fcn.004301ec], 0x47d150
mov dword [ebp - 0x6e0], ebx
mov dword [ebp - 0x6dc], ebx
push 1
push str.Setupapi.dll
lea ecx, [ebp - 0x6e4]
call fcn.00430432
test al, al
jne 0x419796
push str.Cannot_install_INF_files...unable_to_open_Setupapi.dll_r_n
jmp 0x4197ba
lea eax, [ebp - 0x500]
push eax
push str.SetupCopyOEMInfW
lea ecx, [ebp - 0x6e4]
call fcn.004303c9
test al, al
jne 0x419946
push str.Cannot_install_INF_files...unable_to_link_to_SetupCopyOEMInf___r_n
call fcn.0040d3c2
pop ecx
mov dword [ebp - fcn.004301ec], 0x47d150
lea ecx, [ebp - 0x6e4]
call fcn.004301bd
movzx eax, word [ebp - 0x58]
push eax
call fcn.0040daf3
push 0x1a
call fcn.00408900
push 0x5f
call fcn.0040e648
add esp, 0xc
lea ecx, [ebp - 0x108]
call fcn.00426589
lea ecx, [ebp - 0x654]
call fcn.00426589
lea ecx, [ebp - 0x4e0]
call fcn.00426589
lea ecx, [ebp - 0x260]
call fcn.00426589
mov eax, dword [0x4a96d8]
and eax, esi
or eax, ebx
je 0x419da7
mov eax, 0x47c720
mov edx, eax
cmp dword [ebp - 0x384], 0
cmovne edx, dword [ebp - 0x384]
mov ecx, eax
mov eax, dword [0x4aa8d8]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0x1050]
push eax
call fcn.0043f0e3
add esp, 0xc
push eax
lea ecx, [ebp - 0x108]
call fcn.00407495
lea ecx, [ebp - 0x1050]
call fcn.00423fb2
push ebx
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.004405ed
mov eax, edi
cmp dword [ebp - 0xa0], 0
cmovne eax, dword [ebp - 0xa0]
push ebx
push 0x47f678
push eax
push str._u:_
lea eax, [ebp - 0x4e0]
push eax
call fcn.0042c1c8
add esp, 0x20
cmp dword [ebp - 0x578], 0
jle 0x419c2f
mov ecx, edi
mov eax, dword [0x4aaa70]
test eax, eax
cmovne ecx, eax
push str.uninstall.ico
push ecx
lea eax, [ebp - 0x105c]
push eax
call fcn.0043f19d
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
call fcn.0042357c
lea ecx, [ebp - 0x105c]
call fcn.00423fb2
mov eax, edi
cmp dword [ebp - 0x260], 0
cmovne eax, dword [ebp - 0x260]
lea ecx, [ebp - 0x57c]
push ecx
push eax
call fcn.0043e193
mov esi, eax
push esi
call fcn.004346fc
add esp, 0xc
test al, al
jne 0x419bba
mov eax, edi
cmp dword [ebp - 0x260], 0
cmovne eax, dword [ebp - 0x260]
push ebx
push eax
call fcn.00407ce9
pop ecx
pop ecx
jmp 0x419c2f
push dword [0x4a3158]
call fcn.0040d3c2
pop ecx
lea eax, [ebp - 0xa10]
push eax
lea ecx, [ebp - 0x1510]
call fcn.00402c69
lea ecx, [ebp - 0x1510]
call fcn.00402e15
test al, al
je 0x4197c0
lea ecx, [ebp - 0x690]
call fcn.00426589
push ebx
lea eax, [ebp - 0x690]
push eax
push dword [ebp - 0x14fc]
call fcn.004405ed
push 0x4d
lea eax, [ebp - 0x8a0]
push eax
call fcn.0040781b
add esp, 0x14
push ebx
push bind
push ebx
push ebx
lea eax, [ebp - 0x690]
push eax
push str._file_
lea ecx, [ebp - 0x8a0]
call fcn.0042b6ba
mov eax, edi
cmp dword [ebp - 0x8a0], 0
cmovne eax, dword [ebp - 0x8a0]
push eax
call fcn.00410a44
mov eax, edi
cmp dword [ebp - 0x690], 0
cmovne eax, dword [ebp - 0x690]
push ebx
push 0x47f150
push eax
push str.Installing_driver__
call fcn.0040d394
add esp, 0x14
xor eax, eax
mov word [ebp - 0x1a68], ax
mov dword [ebp - 4], 6
wait
call fcn.004479b0
mov eax, dword [ebp - 0x690]
test eax, eax
jne 0x419a21
mov eax, edi
push ebx
push ebx
push 0x104
lea ecx, [ebp - 0x1a68]
push ecx
push ebx
push 1
push ebx
push eax
call dword [ebp - 0x500]
test eax, eax
jne 0x419ade
call sub.KERNEL32.dll_GetLastError
mov esi, eax
push esi
lea eax, [ebp - 0x894]
push eax
call fcn.0044785e
pop ecx
pop ecx
cmp dword [ebp - 0x890], 0
jg 0x419a79
cmp esi, 0xe000022f
jne 0x419a79
push str.The_INF_does_not_contain_digital_signature_information.
lea ecx, [ebp - 0x894]
call fcn.0040747e
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x419a8d
mov dword [ebp - 0x34], 0x47c720
push 8
push ebx
push esi
lea eax, [ebp - 0x1044]
push eax
call fcn.004269d2
add esp, 0x10
mov eax, dword [eax]
test eax, eax
jne 0x419aab
mov eax, 0x47c720
push ebx
push dword [0x4a3158]
push dword [ebp - 0x34]
push 0x480a7c
push eax
push str.FAILED___Code_0x
call fcn.0040d366
add esp, 0x18
lea ecx, [ebp - 0x1044]
call fcn.00423fb2
lea ecx, [ebp - 0x894]
jmp 0x419b6e
lea eax, [ebp - 0x1a68]
push eax
call fcn.0042e574
pop ecx
test al, al
je 0x419afc
push str.OK__but_resulting_filepath_is_unknown_r_n
call fcn.0040d3c2
pop ecx
jmp 0x419b73
lea ecx, [ebp - 0xaa8]
call fcn.00426589
lea eax, [ebp - 0x1a68]
push eax
lea ecx, [ebp - 0xb60]
call fcn.00406f9c
push 0xffffffffffffffff
lea eax, [ebp - 0xaa8]
push eax
lea eax, [ebp - 0xb60]
push eax
call fcn.0043f82d
add esp, 0xc
lea ecx, [ebp - 0xb60]
call fcn.00423fb2
push ebx
push dword [0x4a3160]
lea eax, [ebp - 0x1a68]
push eax
push str.OK_r_nFinal_driver_location:
call fcn.0040d394
add esp, 0x10
lea eax, [ebp - 0xaa8]
push eax
mov ecx, 0x4aaa4c
call fcn.00422219
lea ecx, [ebp - 0xaa8]
call fcn.00423fb2
wait
or dword [ebp - 4], 0xffffffff
jmp 0x419b9c
push 4
pop esi
lea ecx, [ebp - 0x8a0]
call fcn.00423fb2
lea ecx, [ebp - 0x690]
call fcn.00423fb2
jmp 0x419964
lea ecx, [ebp - 0xb6c]
call fcn.00426589
push 0xffffffffffffffff
lea eax, [ebp - 0xb6c]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0043f82d
push esi
lea eax, [ebp - 0x1068]
push eax
call fcn.0043ebd2
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x260], 0
cmovne eax, dword [ebp - 0x260]
push ecx
push eax
push str.Failed_to_install_uninstaller_icon_to__s_r_n_s_r_n
call fcn.0040d32e
add esp, 0x20
lea ecx, [ebp - 0x1068]
call fcn.00423fb2
lea ecx, [ebp - 0x260]
call fcn.00423fb2
lea ecx, [ebp - 0xb6c]
call fcn.00423fb2
mov eax, dword [0x4a96d8]
and eax, 2
or eax, ebx
je 0x419ca8
push ebx
mov ecx, 0x4aa77c
call fcn.00407fb6
mov esi, eax
xor eax, eax
inc eax
mov byte [esi + 1], al
mov byte [esi + 5], al
lea eax, [ebp - 0x108]
push eax
lea ecx, [esi + 8]
call fcn.004219dc
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [esi + 0x2c]
call fcn.004219dc
push 0x21
lea eax, [ebp - 0x1074]
push eax
call fcn.0040781b
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0042357c
lea ecx, [ebp - 0x1074]
call fcn.00423fb2
push 0xffffffffffffffff
lea eax, [esi + 0x20]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0043f82d
add esp, 0xc
mov ecx, dword [0x4a96dc]
and ecx, 2
mov eax, ebx
or eax, ecx
je 0x419d23
push ebx
mov ecx, 0x4aa77c
call fcn.00407fb6
mov esi, eax
xor eax, eax
inc eax
mov byte [esi], al
mov byte [esi + 5], al
lea eax, [ebp - 0x108]
push eax
lea ecx, [esi + 8]
call fcn.004219dc
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [esi + 0x2c]
call fcn.004219dc
push 0x21
lea eax, [ebp - 0x1080]
push eax
call fcn.0040781b
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0042357c
lea ecx, [ebp - 0x1080]
call fcn.00423fb2
push 0xffffffffffffffff
lea eax, [esi + 0x20]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0043f82d
add esp, 0xc
mov ecx, dword [0x4a96dc]
and ecx, 0x40
mov eax, ebx
or eax, ecx
je 0x419da7
push ebx
mov ecx, 0x4aa77c
call fcn.00407fb6
mov esi, eax
mov byte [esi + 5], 1
lea eax, [ebp - 0x108]
push eax
lea ecx, [esi + 8]
call fcn.004219dc
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [esi + 0x2c]
call fcn.004219dc
push 0x21
lea eax, [ebp - 0x108c]
push eax
call fcn.0040781b
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0042357c
lea ecx, [ebp - 0x108c]
call fcn.00423fb2
push 0x4aa8d8
lea ecx, [esi + 0x44]
call fcn.004219dc
push 0xffffffffffffffff
lea eax, [esi + 0x20]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0043f82d
add esp, 0xc
mov ecx, dword [0x4a96dc]
and ecx, 0x8000000
mov eax, ebx
or eax, ecx
je 0x419e0f
push ebx
mov ecx, 0x4aa77c
call fcn.00407fb6
mov esi, eax
mov byte [esi + 1], 1
lea eax, [ebp - 0x1098]
push eax
call fcn.0040ad37
pop ecx
push eax
lea ecx, [esi + 8]
call fcn.0042357c
lea ecx, [ebp - 0x1098]
call fcn.00423fb2
push 0x56
lea eax, [ebp - 0x10a4]
push eax
call fcn.0040781b
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0042357c
lea ecx, [ebp - 0x10a4]
call fcn.00423fb2
test dword [0x4a96e0], 0x800
je 0x419e25
cmp byte [ebp + 0xb], 0
jne 0x41ad94
cmp dword [0x4aa780], 0
je 0x41ad94
mov byte [ebp - 0x35], 1
mov eax, dword [0x4a96d8]
and eax, 0x100000
or eax, ebx
je 0x419e50
push dword [0x4a3158]
call fcn.0040d3c2
pop ecx
push 0x4aa77c
lea ecx, [ebp - 0xfc]
call fcn.00402c69
jmp 0x41ad81
mov eax, dword [ebp - 0xe8]
add eax, 0x2c
push eax
call fcn.0040a2ad
mov dword [esp], bind
push 0x480f28
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + 0x2c]
call fcn.004282d7
test al, al
je 0x419eec
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + 0x2c]
call fcn.0040a03d
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xe8]
lea eax, [ecx + 8]
push eax
push ebx
lea eax, [ebp - 0x10b0]
push eax
add ecx, 0x2c
call fcn.0040e9f7
push eax
call fcn.0043f82d
add esp, 0xc
lea ecx, [ebp - 0x10b0]
call fcn.00423fb2
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + 8]
call fcn.0042dcb3
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + 0x2c]
call fcn.0042dd25
mov esi, dword [ebp - 0xe8]
push ebx
sub esp, 0xc
mov ecx, esp
push 0x4aa8d8
call fcn.00406ee3
lea eax, [esi + 0x20]
push eax
call fcn.0043fe93
add esp, 0x14
lea ecx, [ebp - 0x170]
call fcn.00426589
lea ecx, [ebp - 0x164]
call fcn.00426589
lea ecx, [ebp - 0x318]
call fcn.00426589
push ebx
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp - 0xe8]
add eax, 8
push eax
call fcn.004405ed
push ebx
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 0xe8]
add eax, 0x38
push eax
call fcn.004405ed
push ebx
lea eax, [ebp - 0x318]
push eax
mov eax, dword [ebp - 0xe8]
add eax, 0x20
push eax
call fcn.004405ed
lea eax, [ebp - 0x164]
push eax
call fcn.0040a2ad
add esp, 0x28
lea ecx, [ebp - 0x164]
call fcn.0042dcda
cmp dword [ebp - 0x160], 0
jle 0x419fb2
mov eax, edi
cmp dword [ebp - 0x164], 0
cmovne eax, dword [ebp - 0x164]
push eax
call fcn.0043cb65
pop ecx
test al, al
jne 0x419fc2
push 0x4aa854
lea ecx, [ebp - 0x164]
call fcn.004219dc
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 4], 0
je 0x419fdb
lea eax, [ebp - 0x170]
push eax
call fcn.0040a2ad
pop ecx
push 0x3a
lea ecx, [ebp - 0x170]
call fcn.0042382f
test al, al
jne 0x41a00b
push ebx
sub esp, 0xc
mov ecx, esp
push 0x4aa854
call fcn.00406ee3
lea eax, [ebp - 0x170]
push eax
call fcn.0044013d
add esp, 0x14
lea ecx, [ebp - 0x6d8]
call fcn.00426589
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x18], ebx
jg 0x41a11f
lea ecx, [ebp - 0x8ac]
call fcn.00426589
push 0xffffffffffffffff
lea eax, [ebp - 0x8ac]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.0043f82d
mov esi, 0x47c720
mov eax, esi
cmp dword [ebp - 0x8ac], 0
cmovne eax, dword [ebp - 0x8ac]
push eax
lea eax, [ebp - 0x10c8]
push eax
call fcn.0043f5fa
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x26
lea eax, [ebp - 0x10bc]
push eax
call fcn.004077dd
mov ecx, 0x47c720
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x6d8]
push eax
call fcn.00425fa5
add esp, 0x28
lea ecx, [ebp - 0x10bc]
call fcn.00423fb2
lea ecx, [ebp - 0x10c8]
call fcn.00423fb2
mov eax, edi
cmp dword [ebp - 0x170], 0
cmovne eax, dword [ebp - 0x170]
push eax
lea eax, [ebp - 0x10e0]
push eax
call fcn.0043f66d
mov esi, edi
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x26
lea eax, [ebp - 0x10d4]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
mov eax, dword [ebp - 0xe8]
add eax, 0x14
push eax
call fcn.00425ff0
add esp, 0x1c
lea ecx, [ebp - 0x10d4]
call fcn.00423fb2
lea ecx, [ebp - 0x10e0]
call fcn.00423fb2
lea ecx, [ebp - 0x8ac]
call fcn.00423fb2
jmp 0x41a139
push ebx
push 0x47d834
push ebx
lea ecx, [ebp - 0x6d8]
push ecx
add eax, 0x14
push eax
call fcn.004485a9
add esp, 0x14
xor edx, edx
cmp byte [0x4a96f8], 1
sete dl
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xe8]
movzx ecx, byte [eax + 6]
sub ecx, 1
je 0x41a161
lea ecx, [ebp - 0xfc]
call fcn.00402e15
test al, al
jne 0x419e65
mov al, byte [ebp + 0xb]
cmp dword [ebp - 0x268], 0
jle 0x41af9f
test al, al
je 0x41af9f
mov dword [ebp - 4], 8
wait
lea eax, [ebp - 0x26c]
push eax
call fcn.0040a2ad
pop ecx
lea ecx, [ebp - 0x738]
call fcn.00426589
push ebx
lea eax, [ebp - 0x738]
push eax
lea eax, [ebp - 0x460]
push eax
call fcn.00448432
lea eax, [ebp - 0x738]
push eax
call fcn.00413c40
lea eax, [ebp - 0x738]
push eax
call fcn.0040a2ad
add esp, 0x14
lea ecx, [ebp - 0x5dc]
call fcn.00426589
mov eax, dword [ebp - 0x738]
test eax, eax
jne 0x41ae12
mov eax, edi
push eax
movsx eax, byte [ebp - 0x3d4]
push eax
push str._c:_s.lnk
lea eax, [ebp - 0x5dc]
push eax
call fcn.00425ff0
add esp, 0x10
lea ecx, [ebp - 0xacc]
call fcn.00426589
push 0xffffffffffffffff
lea eax, [ebp - 0xacc]
push eax
lea eax, [ebp - 0x5dc]
push eax
call fcn.0043f82d
add esp, 0xc
mov ecx, dword [0x4a96dc]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x41ae77
mov eax, dword [ebp - 0x5dc]
test eax, eax
jne 0x41ae70
mov eax, edi
push eax
call fcn.00410a3b
pop ecx
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0xac0]
push eax
call fcn.004465d6
pop ecx
pop ecx
push 0x22
lea ecx, [ebp - 0xac0]
call fcn.0042436f
mov edx, dword [0x4aa854]
test edx, edx
jne 0x41aea5
mov edx, edi
mov ecx, dword [ebp - 0x26c]
test ecx, ecx
jne 0x41aeb1
mov ecx, edi
mov eax, dword [ebp - 0xac0]
test eax, eax
jne 0x41aebd
mov eax, edi
push ebx
push ebx
push edx
push ecx
push eax
lea eax, [ebp - 0x5dc]
push eax
call fcn.004543ab
add esp, 0x18
test al, al
je 0x41af1f
mov eax, dword [0x4a96d8]
and eax, 0x100000
or eax, ebx
je 0x41af0a
mov eax, dword [ebp - 0xacc]
test eax, eax
jne 0x41af2e
cmp dword [ebp - 0x240], 0
jle 0x41b2d5
test al, al
jne 0x41b2d5
call fcn.00446bd6
test al, al
je 0x41b2d5
call fcn.00446b69
test al, al
jne 0x41b2d5
mov dword [ebp - 4], 0xa
wait
lea eax, [ebp - 0x244]
push eax
call fcn.0040a2ad
pop ecx
lea ecx, [ebp - 0x6fc]
call fcn.00426589
lea ecx, [ebp - 0x978]
call fcn.00426589
push ebx
lea eax, [ebp - 0x1188]
push eax
lea ecx, [ebp - 0x244]
call fcn.0040e9f7
push eax
lea ecx, [ebp - 0x6fc]
call fcn.0042357c
lea ecx, [ebp - 0x1188]
call fcn.00423fb2
lea eax, [ebp - 0x244]
push eax
cmp dword [ebp - 0x6f8], 0
jg 0x41b040
lea ecx, [ebp - 0x6fc]
call fcn.0042357c
jmp 0x41b056
lea ecx, [ebp - 0x978]
call fcn.0042357c
lea ecx, [ebp - 0x978]
call fcn.0042dd19
cmp dword [ebp - 0x1c8], 0
jg 0x41b071
push 0x4aa818
lea ecx, [ebp - 0x1cc]
call fcn.004219dc
jmp 0x41b08b
lea eax, [ebp - 0x1cc]
push eax
call fcn.00413c40
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040a2ad
pop ecx
pop ecx
lea ecx, [ebp - 0x6f0]
call fcn.00426589
mov esi, dword [ebp - 0x1cc]
test esi, esi
jne 0x41b0a2
mov esi, edi
lea eax, [ebp - 0x11a0]
push eax
call fcn.00447d34
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x41b0b7
push 0x4e
lea eax, [ebp - 0x11dc]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.00410a44
add esp, 0xc
lea ecx, [ebp - 0x11dc]
call fcn.00423fb2
push 0x61
call fcn.0040e648
pop ecx
cmp byte [ebp + 0xb], 0
je 0x41b31d
test dword [0x4a96e0], 0x8000
jne 0x41ba5d
mov esi, 0x2000f
cmp byte [0x4a96d2], 1
mov ecx, 0x2010f
cmove esi, ecx
cmp dword [ebp - 0x28c], 0
jle 0x41b45b
lea ecx, [ebp - 0x708]
call fcn.00426589
lea eax, [ebp - 0x290]
push eax
push str.Software_
lea ecx, [ebp - 0x708]
call fcn.0042c455
lea ecx, [ebp - 0x1790]
call fcn.00406d8f
mov eax, edi
cmp dword [ebp - 0x708], 0
cmovne eax, dword [ebp - 0x708]
push esi
push eax
call fcn.0044b8a4
pop ecx
pop ecx
mov eax, edi
cmp dword [ebp - 0x708], 0
cmovne eax, dword [ebp - 0x708]
push esi
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1790]
call fcn.0044cf3f
test eax, eax
je 0x41b3bb
lea ecx, [ebp - 0x1790]
call fcn.0044b7ff
jmp 0x41b445
call sub.KERNEL32.dll_GetLastError
mov dword [ebp - 0x34], eax
test eax, eax
je 0x41b445
lea ecx, [ebp - 0x8c4]
call fcn.00426589
push ebx
push 0x47d834
push ebx
lea eax, [ebp - 0x8c4]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.004485a9
push dword [ebp - 0x34]
lea eax, [ebp - 0x11e8]
push eax
call fcn.0044785e
mov edx, 0x47c720
mov ecx, edx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edx
cmp dword [ebp - 0x8c4], 0
cmovne eax, dword [ebp - 0x8c4]
push ecx
push dword [ebp - 0x34]
push eax
push str.Error_creating_registry_keys_at_Software_s_r_nCode__d:__s_r_n_r_n
push 0x4aaa08
call fcn.00426014
add esp, 0x30
lea ecx, [ebp - 0x11e8]
call fcn.00423fb2
lea ecx, [ebp - 0x8c4]
call fcn.00423fb2
lea ecx, [ebp - 0x1790]
call fcn.0040718f
lea ecx, [ebp - 0x708]
call fcn.00423fb2
cmp dword [0x4aa870], 0
jle 0x41ba5d
push ebx
mov ecx, 0x4aa860
mov eax, dword [0x4aa860]
call dword [eax + 0x30]
jmp 0x41ba22
lea ecx, [ebp - 0x11c]
call fcn.0040689f
push ebx
push 2
push 0x47fe24
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00438149
add esp, 0x14
cmp dword [ebp - 0x118], 1
jne 0x41b539
lea ecx, [ebp - 0xe4]
call fcn.00410c46
cmp dword [ebp - 0xe0], 0
jle 0x41ba02
push ebx
cmp dword [ebp - 0x118], 5
je 0x41b58d
lea ecx, [ebp - 0xe4]
call fcn.00426589
push ebx
push 0x47fe24
push ebx
push 2
lea eax, [ebp - 0xe4]
push eax
push 0x4aa860
call fcn.004383cb
add esp, 0x18
test al, al
jne 0x41b47b
lea ecx, [ebp - 0xe4]
call fcn.00423fb2
cmp dword [ebp - 0x3cc], 0
je 0x41c386
test dword [0x4a96e0], 0x20000
je 0x41ba80
cmp byte [ebp + 0xb], 0
jne 0x41c38c
mov dword [ebp - 4], 0xc
wait
push dword [0x4a96e4]
mov ecx, 0x4a30c4
mov eax, dword [0x4a30c4]
call dword [eax + 0x88]
push eax
lea ecx, [ebp - 0xba0]
call fcn.00406ee3
push str._Backup
push 0x4aa818
lea ecx, [ebp - 0x5e8]
call fcn.00406f1e
push ebx
push ebx
push str._r_n_t
lea ecx, [ebp - 0x5e8]
call fcn.0042460c
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.00402c69
lea ecx, [ebp - 0x1f0]
call fcn.00402e15
test al, al
je 0x41c336
mov ecx, dword [ebp - 0x1dc]
cmp dword [ecx + 8], ebx
jle 0x41bae3
call fcn.00453f6e
lea ecx, [ebp - 0x5e8]
call fcn.00423fb2
lea ecx, [ebp - 0xba0]
call fcn.00423fb2
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41c386
cmp byte [ebp + 0xb], 0
je 0x41c39c
test dword [0x4a96e0], 0x80000
jne 0x41c71e
mov dword [ebp - 4], 0xe
wait
cmp dword [ebp - 0x32c], 0
jle 0x41c40c
lea ecx, [ebp - 0x180]
call fcn.00442ad1
lea ecx, [ebp - 0x180]
call fcn.00442e7c
mov esi, eax
mov dword [ebp - 0x234], esi
test esi, esi
je 0x41c3de
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41c71e
movzx eax, word [ebp - 0x58]
push eax
call fcn.0040daf3
push 0x20
lea eax, [ebp - 0x1200]
push eax
call fcn.0040781b
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.00410a44
add esp, 0x10
lea ecx, [ebp - 0x1200]
call fcn.00423fb2
push 0x62
call fcn.0040e648
pop ecx
mov eax, dword [0x4a96d8]
and eax, 0x8000
or eax, ebx
je 0x41c802
call fcn.00423fb2
lea ecx, [ebp - 0xd8]
call fcn.00423fb2
lea ecx, [ebp - 0x3ac]
call fcn.00423fb2
lea ecx, [ebp - 0x454]
call fcn.00423fb2
mov dword [ebp - 0x400], 0x48000c
lea ecx, [ebp - 0x400]
call fcn.00409847
lea ecx, [ebp - 0x1cc]
call fcn.00423fb2
lea ecx, [ebp - 0x244]
call fcn.00423fb2
lea ecx, [ebp - 0x460]
call fcn.00423fb2
lea ecx, [ebp - 0x26c]
call fcn.00423fb2
mov dword [ebp - 0x3d0], 0x47f85c
lea ecx, [ebp - 0x3d0]
call fcn.00409791
lea ecx, [ebp - 0x57c]
call fcn.00423fb2
lea ecx, [ebp - 0x324]
call fcn.00423fb2
lea ecx, [ebp - 0x330]
call fcn.00423fb2
lea ecx, [ebp - 0x33c]
call fcn.00423fb2
lea ecx, [ebp - 0x40c]
call fcn.00423fb2
lea ecx, [ebp - 0x348]
call fcn.00423fb2
lea ecx, [ebp - 0x418]
call fcn.00423fb2
lea ecx, [ebp - 0x424]
call fcn.00423fb2
lea ecx, [ebp - 0x430]
call fcn.00423fb2
lea ecx, [ebp - 0x43c]
call fcn.00423fb2
lea ecx, [ebp - 0x354]
call fcn.00423fb2
lea ecx, [ebp - 0x360]
call fcn.00423fb2
lea ecx, [ebp - 0x36c]
call fcn.00423fb2
lea ecx, [ebp - 0x3b8]
call fcn.00423fb2
lea ecx, [ebp - 0x1c0]
call fcn.00423fb2
lea ecx, [ebp - 0x278]
call fcn.00423fb2
lea ecx, [ebp - 0x1b4]
call fcn.00423fb2
lea ecx, [ebp - 0x284]
call fcn.00423fb2
lea ecx, [ebp - 0x1a8]
call fcn.00423fb2
lea ecx, [ebp - 0x384]
call fcn.00423fb2
mov ebx, 0x47d520
mov dword [ebp - 0x2d4], ebx
lea ecx, [ebp - 0x2d4]
call fcn.004097ec
mov dword [ebp - 0x2e8], ebx
lea ecx, [ebp - 0x2e8]
call fcn.004097ec
lea ecx, [ebp - 0x290]
call fcn.00423fb2
lea ecx, [ebp - 0xb8]
call fcn.00423fb2
lea ecx, [ebp - 0x29c]
call fcn.00423fb2
lea ecx, [ebp - 0x378]
call fcn.00423fb2
lea ecx, [ebp - 0x20]
call fcn.00423fb2
lea ecx, [ebp - 0xd08]
call fcn.004070e3
lea ecx, [ebp - 0x1fc]
call fcn.00423fb2
lea ecx, [ebp - 0x2a8]
call fcn.00423fb2
lea ecx, [ebp - 0x2b4]
call fcn.00423fb2
lea ecx, [ebp - 0x2c0]
call fcn.00423fb2
lea ecx, [ebp - 0xa0]
call fcn.00423fb2
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x10
lea eax, [esi + 0xc]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 1
lea eax, [ebp - 0xc9]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
movzx eax, byte [ebp - 0xc9]
mov dword [esi + 0x24], eax
push 1
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x3e8
jle 0x4153f8
push 0x29
call fcn.00408d43
pop ecx
jmp 0x4153f8
cmp dword [0x4a30e0], 0x3e8
jle 0x41e3ea
push 0x26
call fcn.00408d43
pop ecx
push ebx
mov ecx, 0x4a30dc
call fcn.004052fa
mov esi, eax
lea eax, [ebp - 0x7e8]
push eax
mov ecx, esi
call fcn.004219dc
push 1
lea ecx, [esi + 0xc]
push ecx
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
call dword [edx]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042932c
push 1
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call dword [eax]
lea ecx, [ebp - 0x7e8]
call fcn.00423fb2
push 4
pop esi
jmp 0x4150ac