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

Disassembly:
mov eax, 0x49a0ed
call fcn.0046b790
push ecx
mov eax, 0x1c10
call fcn.0046b7e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x68], ebx
mov dword [0x4df2f0], 0x49fca4
mov dword [0x4df2f4], 0x49fcb4
push 0x40be65
call fcn.0043f63b
pop ecx
lea ecx, [ebp - 0xbc]
call fcn.00428af1
lea ecx, [ebp - 0x2cc]
call fcn.00428af1
lea ecx, [ebp - 0x2c0]
call fcn.00428af1
lea ecx, [ebp - 0x2b4]
call fcn.00428af1
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
push 1
push str.SeTakeOwnershipPrivilege
call fcn.00460152
push 0x40cd4f
call fcn.00440a7c
mov eax, dword [ebp + 8]
mov dword [0x4dde90], eax
call fcn.00456395
mov dword [0x4ddef8], eax
mov dword [0x4ddefc], edx
lea eax, [ebp - 0x16ac]
push eax
call fcn.00465c02
add esp, 0x14
push eax
push dword [0x4dde90]
push 1
mov ecx, 0x4dfb20
call fcn.004642db
lea eax, [ebp - 0x16b4]
push eax
call fcn.00465bd3
pop ecx
push eax
push dword [0x4dde90]
push 1
mov ecx, 0x4ddf7c
call fcn.004642db
call fcn.00456f43
mov esi, ebx
lea eax, [ebp - 0x9c4]
push eax
call fcn.00456ec5
pop ecx
mov edi, 0x49bb64
mov dword [ebp - 0x18], edi
jmp 0x415df9
inc esi
cmp esi, 0x14
jge 0x415e12
lea eax, [ebp - 0x9c4]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00456de5
pop ecx
pop ecx
cmp dword [ebp - 0x88], ebx
jle 0x415e07
lea eax, [ebp - 0x8c]
push eax
call fcn.00456d40
pop ecx
test al, al
jne 0x415afa
lea eax, [ebp - 0x8c]
push eax
push str.Unexpected_command_line_parameter:_r_n
lea ecx, [ebp - 0x1470]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c13d
pop ecx
lea ecx, [ebp - 0x1470]
call fcn.00426428
push 0x49fd3c
lea ecx, [ebp - 0x8c]
call fcn.0042757c
lea ecx, [ebp - 0x8c]
test al, al
je 0x415b20
mov byte [0x4ddea0], 1
jmp 0x415df4
push closesocket
push 0x49fd40
call fcn.00426cc1
test al, al
je 0x415b75
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4de018
call fcn.00425696
push 0x22
mov ecx, 0x4de018
call fcn.00426297
push 0x5c
mov ecx, 0x4de018
call fcn.00426dd7
push 0xffffffffffffffff
push 0x4df258
push 0x4de018
call fcn.004454f2
add esp, 0xc
jmp 0x415dee
push closesocket
push 0x49fd48
lea ecx, [ebp - 0x8c]
call fcn.00426cc1
test al, al
je 0x415bb0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4ddfd0
call fcn.00425696
mov ecx, 0x4ddfd0
push 0x22
call fcn.00426297
jmp 0x415dee
push closesocket
push 0x49fd50
lea ecx, [ebp - 0x8c]
call fcn.00426cc1
lea ecx, [ebp - 0x8c]
test al, al
je 0x415bff
mov byte [0x4ddea1], 1
push 0x3a
call fcn.00426dad
test al, al
je 0x415dee
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00425696
lea ecx, [ebp - 0xbc]
jmp 0x415ba4
push closesocket
push 0x49fd54
call fcn.00426cc1
test al, al
je 0x415c44
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4df244
call fcn.00425696
push 0x22
mov ecx, 0x4df244
call fcn.00426f88
push 1
push 0x22
push 0x60
mov ecx, 0x4df244
call fcn.0042ee8a
jmp 0x415dee
push closesocket
push 0x49fd5c
lea ecx, [ebp - 0x8c]
call fcn.00426cc1
test al, al
je 0x415cbb
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004595fe
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2cc]
call fcn.00426dd7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2cc]
call fcn.0042df4d
lea ecx, [ebp - 0x2cc]
push ebx
push closesocket
push ebx
push ebx
push dword [0x4d139c]
push 0x49fd68
call fcn.0042e012
jmp 0x415dee
push closesocket
push str.B2:_
lea ecx, [ebp - 0x8c]
call fcn.00426cc1
test al, al
je 0x415d17
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004595fe
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2c0]
call fcn.00426dd7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2c0]
call fcn.0042df4d
lea ecx, [ebp - 0x2c0]
jmp 0x415c9e
push closesocket
push str.B3:_
lea ecx, [ebp - 0x8c]
call fcn.00426cc1
test al, al
je 0x415d76
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004595fe
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2b4]
call fcn.00426dd7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2b4]
call fcn.0042df4d
lea ecx, [ebp - 0x2b4]
jmp 0x415c9e
push str.Silent
lea ecx, [ebp - 0x8c]
call fcn.0042757c
lea ecx, [ebp - 0x8c]
test al, al
je 0x415d9f
xor eax, eax
inc eax
mov byte [0x4ddea0], al
mov byte [0x4ddec6], al
jmp 0x415df4
push 0x49fd94
call fcn.0042757c
test al, al
je 0x415db6
mov byte [0x4ddec5], 1
jmp 0x415dee
cmp dword [ebp - 0x88], ebx
jle 0x415dee
lea eax, [ebp - 0x8c]
push eax
push str.Illegal_command_line_atom:_r_n
lea ecx, [ebp - 0x14b8]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c13d
pop ecx
lea ecx, [ebp - 0x14b8]
call fcn.00426428
lea ecx, [ebp - 0x8c]
call fcn.00426428
cmp dword [ebp - 0x9c0], ebx
jg 0x415a8e
jmp 0x415e12
lea ecx, [ebp - 0x8c]
call fcn.00426428
cmp byte [0x4ddea1], bl
je 0x415e66
cmp dword [ebp - 0xb8], ebx
jg 0x415e2d
push str.Product_name_required
call fcn.0040c13d
pop ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00412712
pop ecx
mov esi, 0x49bb60
test al, al
je 0x415e5d
mov ecx, esi
mov eax, dword [0x4df208]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e133
pop ecx
pop ecx
call fcn.0040a8d0
push ebx
call fcn.0040c19f
pop ecx
jmp 0x415e6b
mov esi, 0x49bb60
lea ecx, [ebp - 0x9c4]
call fcn.00426428
call fcn.00410175
lea ecx, [ebp - 0x1b8]
call fcn.00428af1
lea eax, [ebp - 0x1b8]
push eax
call fcn.00456d2f
pop ecx
lea ecx, [ebp - 0xd98]
call fcn.00401a0d
mov eax, esi
cmp dword [ebp - 0x1b8], ebx
cmovne eax, dword [ebp - 0x1b8]
push 0x80
push 0x2111
push eax
lea ecx, [ebp - 0xd98]
call fcn.00447c77
mov esi, eax
test esi, esi
je 0x415f07
push esi
lea eax, [ebp - 0x14c4]
push eax
call fcn.004448de
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x1b8], ebx
cmovne eax, dword [ebp - 0x1b8]
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.00440b6c
add esp, 0x18
lea ecx, [ebp - 0x14c4]
call fcn.00426428
lea ecx, [ebp - 0xd98]
call fcn.00448681
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x90], ebx
push 0x3c
push 2
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
test al, al
je 0x415f50
mov eax, dword [ebp - 0x90]
push 0x40
pop esi
cmp ax, si
jb 0x415f50
mov esi, 0x1000
cmp ax, si
jbe 0x415f60
push ebx
push 0x2b
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], ebx
movzx eax, ax
add eax, 6
push eax
push 2
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
test al, al
je 0x415f9d
push 4
pop esi
cmp word [ebp - 0x98], si
jb 0x415f9d
push 0x63
pop esi
cmp word [ebp - 0x98], si
jbe 0x415fa7
push ebx
push 0x2c
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x90]
add eax, 0x14
push eax
push 2
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
movzx ecx, word [ebp - 0x3a0]
movzx esi, word [ebp - 0x90]
add ecx, 0x18
add esi, ecx
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x98]
cmp ax, cx
jmp 0x41602c
mov byte [ebp - 0xa80], bl
push esi
push 8
lea eax, [ebp - 0xa88]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
lea eax, [ebp - 0xa88]
push eax
push str..setup
call fcn.00489030
pop ecx
pop ecx
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x98]
test eax, eax
je 0x416037
add esi, 0x28
inc edx
movzx eax, cx
cmp edx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x144], esi
jb 0x415fe8
movzx eax, cx
cmp edx, eax
jb 0x416049
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.00440a47
pop ecx
lea eax, [esi + 0xc]
push eax
push 4
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
lea eax, [esi + 0x10]
push eax
push 4
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
lea eax, [esi + 0x14]
push eax
push 4
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
mov eax, dword [ebp - 0x168]
test eax, eax
jne 0x4160af
push ebx
push 9
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x4160bf
push eax
lea ecx, [ebp - 0xd98]
call fcn.00447ed7
test al, al
jne 0x4160c9
push ebx
push 0xa
call fcn.0040a031
pop ecx
pop ecx
call fcn.00433ff6
mov ecx, dword [ebp - 0x1f0]
add ecx, eax
mov dword [ebp - 0x1f0], ecx
mov dword [0x4ddeb8], ecx
call fcn.004122c7
cmp eax, 0xa4f23de5
je 0x4160f8
push ebx
push 0x14
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122eb
mov esi, eax
push str.43.0
push esi
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
je 0x416126
mov ecx, dword [0x4df2f0]
push ecx
push esi
push ecx
push str.The_installer_version__43.0__does_not_match_the_version_of__s___s_.__Close_all_applications_and_reinstall__s.
call fcn.00440b2b
add esp, 0x10
call fcn.004122c7
mov dword [0x4ddeb0], eax
call fcn.004122c7
mov esi, eax
mov dword [ebp - 0x13c], esi
test esi, esi
jle 0x416149
cmp esi, 0x3200000
jl 0x416153
push ebx
push 0x16
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122c7
mov dword [ebp + 8], eax
call fcn.004122c7
mov dword [ebp - 0x204], eax
call fcn.004122c7
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x41617c
push ebx
push 0x2d
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122c7
mov dword [ebp - 0x164], eax
test eax, eax
jns 0x416195
push ebx
push 0x1b
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122c7
mov dword [ebp - 0x7c], eax
test eax, eax
jns 0x4161ab
push ebx
push 0x1d
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122c7
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x5c], ebx
cmp dword [ebp - 0x164], ebx
jle 0x416203
mov esi, dword [ebp - 0x164]
call fcn.004122c7
mov dword [ebp - 0x38], eax
test eax, eax
js 0x4161da
cmp eax, 0x40000000
jle 0x4161e4
push ebx
push 0x1c
call fcn.0040a031
pop ecx
pop ecx
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4d12f4
call fcn.004070f6
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp eax, esi
jl 0x4161c7
mov esi, dword [ebp - 0x13c]
test dword [0x4ddeb0], 0x1000
je 0x41624c
lea ecx, [ebp - 0xa94]
call fcn.00428af1
push 8
lea eax, [ebp - 0xa94]
push eax
call fcn.004122a8
push ecx
mov ecx, esp
lea eax, [ebp - 0xa94]
push eax
call fcn.004082e7
mov ecx, 0x4de0a0
call fcn.0042320f
lea ecx, [ebp - 0xa94]
call fcn.00426428
mov eax, esi
sub eax, dword [ebp - 0x1f0]
add eax, dword [0x4ddeb8]
mov dword [ebp - 0x140], eax
lea ecx, [ebp - 0x30]
call fcn.00401a6c
push esi
lea eax, [ebp - 0x24]
push eax
call fcn.004122a8
pop ecx
pop ecx
test dword [0x4ddeb0], 0x1000
jne 0x41628e
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x24]
call fcn.004326e1
jmp 0x4162a9
mov esi, 0x4de0a0
mov ecx, esi
call fcn.00423125
lea eax, [ebp - 0x24]
push eax
push eax
mov ecx, esi
call fcn.00422fbd
mov esi, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x4162c3
push ebx
push 0x2f
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4ddea8
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4ddec6], bl
je 0x416308
mov ecx, dword [0x4ddea8]
and ecx, 0x7fffff7f
mov eax, dword [0x4ddeac]
and eax, 0xfff7ede3
or ecx, 0x30600000
or eax, 0x800
mov dword [0x4ddea8], ecx
mov dword [0x4ddeac], eax
call fcn.00457557
test al, al
je 0x41631a
call fcn.0045762f
test eax, eax
je 0x416324
and dword [0x4ddeb0], 0xfffffbff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xdd]
push ecx
lea ecx, [ebp - 0x30]
call eax
movzx eax, byte [ebp - 0xdd]
sub eax, 1
je 0x416358
sub eax, 1
jne 0x41635f
cmp byte [0x4ddec6], bl
jne 0x41635f
mov byte [0x4ddea0], bl
jmp 0x41635f
mov byte [0x4ddea0], 1
mov ecx, dword [0x4ddeac]
and ecx, 0x100
mov eax, ebx
or eax, ecx
mov byte [0x4dfb3c], 1
jne 0x41637e
mov byte [0x4dfb3c], bl
push 0x4dfb28
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4dfb60
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4dfb78
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4d1294
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4ddea8]
and eax, 0x20000000
or eax, ebx
jne 0x4163ea
movzx eax, byte [0x4ddec5]
push eax
push ebx
push dword [0x4dde90]
call fcn.00454c8a
mov dword [0x4dde94], eax
push eax
call fcn.0040ebdf
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.0046b482
pop ecx
cmp eax, esi
je 0x416402
push ebx
push 0x19
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 2
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, 0x270f
cmp word [ebp - 0x64], ax
jbe 0x416427
push ebx
push 0x13
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
xor esi, esi
inc esi
push esi
push 0x4ddec4
lea ecx, [ebp - 0x30]
call eax
mov dword [ebp - 0x161c], ebx
or dword [ebp - 0x1614], 0xffffffff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x18
lea ecx, [ebp - 0x1620]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4ddfdc
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0xaa0]
call fcn.00428af1
lea eax, [ebp - 0xaa0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
cmp dword [0x4ddfd4], ebx
jg 0x41649a
lea eax, [ebp - 0xaa0]
push eax
mov ecx, 0x4ddfd0
call fcn.00425696
lea ecx, [ebp - 0xaa0]
call fcn.00426428
push 0x4ddfc4
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
cmp dword [0x4ddfc8], ebx
jg 0x4164c9
push 0x4ddfd0
mov ecx, 0x4ddfc4
call fcn.004236f3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4ddea2
lea ecx, [ebp - 0x30]
call eax
mov byte [ebp + 0xb], bl
cmp byte [0x4ddea2], 1
jne 0x4164f9
push 0x4ddea4
call fcn.00458d04
pop ecx
neg al
sbb al, al
inc al
mov byte [ebp + 0xb], al
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push 1
lea eax, [ebp - 0xd5]
push eax
lea ecx, [ebp - 0x30]
call edx
push 0x4de048
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
cmp dword [0x4de04c], ebx
jg 0x416545
mov ecx, 0x4ddfdc
call fcn.0040b46c
mov ecx, 0x4de048
test al, al
jne 0x41653b
push 0x4ddfdc
jmp 0x416540
push 0x4ddfd0
call fcn.004236f3
lea ecx, [ebp - 0x278]
call fcn.00428af1
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4de00c
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
cmp dword [0x4de010], ebx
jg 0x416583
push 0x4ddfd0
mov ecx, 0x4de00c
call fcn.004236f3
push 0x4de078
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push ebx
push 0x4df238
push 0x4de078
call fcn.004593b8
add esp, 0xc
lea ecx, [ebp - 0xb0]
call fcn.00428af1
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
cmp dword [ebp - 0xac], ebx
jg 0x4165dc
push 0x4ddfd0
lea ecx, [ebp - 0xb0]
call fcn.004236f3
mov esi, closesocket
jmp 0x41661c
push ebx
mov esi, closesocket
push esi
push ebx
push 1
lea eax, [ebp - 0x14d0]
push eax
call fcn.00458b6f
pop ecx
push eax
push str._os_
lea ecx, [ebp - 0xb0]
call fcn.0042ed7e
lea ecx, [ebp - 0x14d0]
call fcn.00426428
lea eax, [ebp - 0xb0]
push eax
call fcn.0040b549
pop ecx
push str._master_
lea ecx, [ebp - 0xb0]
call fcn.0042757c
test al, al
jne 0x4166a2
push esi
push 0x4a000c
lea ecx, [ebp - 0xb0]
call fcn.0042b4d3
test al, al
jne 0x4166a2
push esi
push 0x4a0018
lea ecx, [ebp - 0xb0]
call fcn.0042b4d3
test al, al
jne 0x4166a2
xor eax, eax
cmp byte [0x4ddea2], 1
sete al
inc eax
push eax
lea eax, [ebp - 0xb94]
push eax
call fcn.00466e1e
pop ecx
pop ecx
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0xb94]
push eax
call fcn.004082e7
lea eax, [ebp - 0xb0]
push eax
call fcn.00445b0a
add esp, 0x14
lea ecx, [ebp - 0xb94]
call fcn.00426428
lea ecx, [ebp - 0x26c]
call fcn.00428af1
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4de03c
lea ecx, [ebp - 0x30]
call fcn.0042c347
lea ecx, [ebp - 0x3fc]
call fcn.00428af1
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x260]
call fcn.00428af1
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4dfbec
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4dfbec]
test eax, eax
js 0x41671c
cmp eax, 0x64
jle 0x416726
push ebx
push 0x27
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4dfbf0
lea ecx, [ebp - 0x30]
call eax
push 0x4ddf08
lea ecx, [ebp - 0x30]
call fcn.0042c908
push 0x4df220
lea ecx, [ebp - 0x30]
call fcn.0042c2ee
lea ecx, [ebp - 0x2f4]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x214]
test eax, eax
js 0x41677e
cmp eax, 0x14
jle 0x41678e
push ebx
push 0x18
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x214]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x214], ebx
jle 0x4167cb
mov eax, dword [ebp - 0x2f4]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2f4]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c347
inc esi
cmp esi, dword [ebp - 0x214]
jl 0x4167a4
lea ecx, [ebp - 0x2e0]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x218]
test eax, eax
js 0x4167f8
cmp eax, 0x14
jle 0x416808
push ebx
push 0x1a
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x218], ebx
jle 0x416845
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2e0]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c347
inc esi
cmp esi, dword [ebp - 0x218]
jl 0x41681e
push 0x4df1fc
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x3f0]
call fcn.00428af1
lea eax, [ebp - 0x3f0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c298
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0xbc]
call fcn.0040b48a
test al, al
je 0x41689a
push 0x4ddfd0
lea ecx, [ebp - 0xbc]
call fcn.004236f3
lea ecx, [ebp - 0x1e8]
call fcn.00428af1
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
push 0x4de084
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
pop esi
push esi
push 0x4dfb38
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb34
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb40
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb50
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb51
lea ecx, [ebp - 0x30]
call eax
push 0x4dfb54
lea ecx, [ebp - 0x30]
call fcn.0042c2ee
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb48
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb4c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4dfb48]
cmp eax, dword [0x4dfb4c]
sete byte [0x4dfb44]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3a4]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x3a4], ebx
jle 0x4169db
lea ecx, [ebp - 0x9d0]
call fcn.00428af1
push dword [ebp - 0x3a4]
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c492
mov eax, 0x49bb60
cmp dword [ebp - 0x9d0], ebx
cmovne eax, dword [ebp - 0x9d0]
push dword [ebp - 0x3a4]
push eax
mov ecx, 0x4dfba8
call fcn.00421678
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x82c]
mov dword [0x4dfbc4], eax
lea ecx, [ebp - 0x9d0]
call fcn.00426428
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb80
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4dfb80], bl
je 0x416a2f
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb90
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4dfb94
lea ecx, [ebp - 0x30]
call eax
push 0x4dfb84
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4dfb9c
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x2a8]
call fcn.00428af1
lea ecx, [ebp - 0x1dc]
call fcn.00428af1
lea ecx, [ebp - 0x29c]
call fcn.00428af1
mov eax, dword [0x4ddea8]
and eax, 0x10000
or eax, ebx
je 0x416a8b
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x318]
call fcn.00428af1
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x1d0]
call fcn.00428af1
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x3e4]
call fcn.00428af1
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c347
cmp dword [ebp - 0x1cc], ebx
jg 0x416b03
mov ecx, dword [0x4ddeac]
and ecx, 0x4000000
mov eax, ebx
or eax, ecx
je 0x416b03
push 0x4ddfd0
lea ecx, [ebp - 0x1d0]
call fcn.004236f3
mov esi, edi
cmp dword [ebp - 0x1d0], ebx
cmovne esi, dword [ebp - 0x1d0]
cmp byte [0x4ddec4], 1
jne 0x416b2f
lea eax, [ebp - 0x14f4]
push eax
call fcn.00466673
pop ecx
mov ecx, eax
xor eax, eax
inc eax
jmp 0x416b41
lea eax, [ebp - 0x14e8]
push eax
call fcn.00466722
pop ecx
mov ecx, eax
push 2
pop eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x34], eax
mov eax, edi
cmp dword [ecx], ebx
cmovne eax, dword [ecx]
push esi
push eax
lea eax, [ebp - 0x14dc]
push eax
call fcn.00444edd
add esp, 0xc
push eax
mov esi, 0x4de060
mov ecx, esi
call fcn.00425696
lea ecx, [ebp - 0x14dc]
call fcn.00426428
mov eax, dword [ebp - 0x34]
test al, 2
je 0x416b95
and eax, 0xfffffffd
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x14e8]
call fcn.00426428
mov eax, dword [ebp - 0x34]
test al, 1
je 0x416bad
and eax, 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x14f4]
call fcn.00426428
push 0xffffffffffffffff
push 0x4de054
push esi
call fcn.004454f2
add esp, 0xc
lea ecx, [ebp - 0x30c]
call fcn.00428af1
lea ecx, [ebp - 0x300]
call fcn.00428af1
lea ecx, [ebp - 0x378]
call fcn.00428af1
lea ecx, [ebp - 0x44c]
call fcn.00428af1
lea ecx, [ebp - 0x440]
call fcn.00428af1
lea ecx, [ebp - 0x4a0]
call fcn.00428af1
lea ecx, [ebp - 0x494]
call fcn.00428af1
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0xbcc]
call fcn.00433503
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x14
lea ecx, [ebp - 0xbcc]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x828]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xd6]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4ddfa0
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4de090
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df294
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4ddf2c
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df270
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4ddfb8
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df0f0
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df108
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df27c
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4df208
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4de024
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4ddfac
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
push 0x4ddfe8
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x36c]
call fcn.00428af1
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea ecx, [ebp - 0x488]
call fcn.00428af1
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c298
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x4ddf00
call fcn.0043345f
push 0x4de06c
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x360]
call fcn.00428af1
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x354]
call fcn.00428af1
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x384]
call fcn.00428af1
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x2c
push 0x4ddec8
lea ecx, [ebp - 0x30]
call eax
lea ecx, [ebp - 0x5d4]
call fcn.00401a6c
mov eax, dword [0x4ddea8]
and eax, 4
or eax, ebx
je 0x416e34
lea eax, [ebp - 0x5c8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c347
lea ecx, [ebp - 0x804]
call fcn.00428af1
lea eax, [ebp - 0x804]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
push str.THE_END
lea ecx, [ebp - 0x804]
call fcn.0042740e
test al, al
je 0x420e70
lea ecx, [ebp - 0x804]
call fcn.00426428
mov dword [ebp - 0x148], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov esi, dword [ebp - 0x148]
test esi, esi
js 0x416e9c
cmp esi, 0x3e8
jle 0x416eac
push ebx
push 0x24
call fcn.0040a031
pop ecx
pop ecx
mov esi, dword [ebp - 0x148]
lea ecx, [ebp - 0x434]
call fcn.00407d18
jmp 0x416f44
dec esi
mov dword [ebp - 0x148], esi
push ebx
lea ecx, [ebp - 0x434]
call fcn.00409440
mov esi, eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push 4
push esi
lea ecx, [ebp - 0x30]
call edx
lea ecx, [esi + 4]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [esi + 0x4c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c931
lea eax, [esi + 0x58]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov esi, dword [ebp - 0x148]
test esi, esi
jg 0x416ebc
dec esi
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x138]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x138]
test eax, eax
js 0x416f81
cmp eax, 0x3e8
jle 0x417043
push ebx
push 0x30
call fcn.0040a031
pop ecx
pop ecx
jmp 0x41703d
dec eax
mov dword [ebp - 0x138], eax
push ebx
mov ecx, 0x4ddf1c
call fcn.004092d9
mov esi, eax
mov byte [esi + 4], 1
lea ecx, [esi + 8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [esi + 0x14]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push esi
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
push 1
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x30]
call edx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
push 1
lea eax, [esi + 2]
push eax
lea ecx, [ebp - 0x30]
call edx
lea eax, [esi + 0x44]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
push 1
lea eax, [esi + 6]
push eax
lea ecx, [ebp - 0x30]
call edx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
push 1
lea eax, [esi + 3]
push eax
lea ecx, [ebp - 0x30]
call edx
mov eax, dword [ebp - 0x138]
test eax, eax
jg 0x416f90
dec eax
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x290]
call fcn.00428af1
lea ecx, [ebp - 0x284]
call fcn.00428af1
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
lea ecx, [ebp - 0x254]
call fcn.00428af1
lea ecx, [ebp - 0x1c4]
call fcn.00428af1
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c931
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c931
mov dword [ebp - 0x14c], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov esi, dword [ebp - 0x14c]
test esi, esi
js 0x4170e5
cmp esi, 0x3e8
jle 0x4170f5
push ebx
push 0x25
call fcn.0040a031
pop ecx
pop ecx
mov esi, dword [ebp - 0x14c]
lea ecx, [ebp - 0x4b4]
call fcn.00407d44
jmp 0x417142
dec esi
mov dword [ebp - 0x14c], esi
push ebx
lea ecx, [ebp - 0x4b4]
call fcn.00409484
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c298
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push 1
lea ecx, [esi + 0x18]
push ecx
lea ecx, [ebp - 0x30]
call edx
lea eax, [esi + 0xc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c1d7
mov esi, dword [ebp - 0x14c]
test esi, esi
jg 0x417102
dec esi
mov dword [ebp - 0x14c], esi
lea ecx, [ebp - 0x47c]
call fcn.00428af1
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2ee
lea ecx, [ebp - 0x3d4]
call fcn.00428af1
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c347
mov dword [ebp - 0x38], ebx
push ebx
mov ecx, 0x4ddf90
call fcn.00409297
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c2ee
push str.THEEND
lea ecx, [ebp - 0xba0]
call fcn.0040837f
lea eax, [ebp - 0xba0]
push eax
mov ecx, esi
call fcn.004273cc
mov bl, al
lea ecx, [ebp - 0xba0]
call fcn.00426428
test bl, bl
je 0x420e0a
mov ecx, 0x4ddf90
call fcn.00407077
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0x11]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov al, byte [ebp - 0x11]
test al, al
je 0x4171f6
cmp al, 0xc8
ja 0x4171f6
xor ebx, ebx
jmp 0x417202
xor ebx, ebx
push ebx
push 0x1e
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x170], 0
jle 0x41722a
cmp dword [ebp - 0x170], 0x2710
jle 0x417234
push ebx
push 0x1f
call fcn.0040a031
pop ecx
pop ecx
movzx eax, byte [ebp - 0x11]
push eax
mov ecx, 0x4d12b4
call fcn.004052ab
mov edx, ebx
mov dword [ebp - 0x5c], edx
cmp byte [ebp - 0x11], 0
jbe 0x417290
push edx
mov ecx, 0x4d12b4
call fcn.0040523c
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c931
push str.English
mov ecx, esi
call fcn.00427645
mov ecx, dword [0x4ddeb4]
test al, al
mov edx, dword [ebp - 0x5c]
cmovne ecx, edx
mov dword [0x4ddeb4], ecx
inc edx
mov dword [ebp - 0x5c], edx
movzx eax, byte [ebp - 0x11]
cmp edx, eax
jl 0x41724e
push dword [ebp - 0x170]
mov ecx, 0x4d12c0
call fcn.00405dd4
mov ecx, ebx
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x170], 0
jle 0x417326
mov eax, dword [0x4d12c0]
mov eax, dword [eax + 0x88]
push ecx
mov ecx, 0x4d12c0
call eax
mov esi, eax
mov dword [ebp - 0x38], esi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x8c]
movzx ecx, byte [ebp - 0x11]
push ecx
mov ecx, esi
call edx
mov ecx, ebx
mov dword [ebp - 0x94], ecx
cmp byte [ebp - 0x11], 0
jbe 0x417317
push ecx
mov ecx, esi
call fcn.004043c2
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c931
mov ecx, esi
call fcn.00425c39
mov ecx, dword [ebp - 0x94]
inc ecx
mov dword [ebp - 0x94], ecx
movzx eax, byte [ebp - 0x11]
cmp ecx, eax
mov esi, dword [ebp - 0x38]
jl 0x4172e5
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [ebp - 0x170]
jl 0x4172ae
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x5c], 0xd3e82b97
je 0x417349
push ebx
push 0x20
call fcn.0040a031
pop ecx
pop ecx
push 0x4de084
call fcn.004157f3
call fcn.0045a7f6
mov ecx, 0x49bb60
mov eax, dword [0x4ddf2c]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e133
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.00428af1
push dword [ebp - 0x168]
push ebx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0044802e
test al, al
jne 0x4173a3
push ebx
push 0x23
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [0x4ddef0]
sub eax, 1
je 0x417400
sub eax, 1
jne 0x417439
mov eax, edi
cmp dword [ebp - 0x1b8], 0
cmovne eax, dword [ebp - 0x1b8]
push ebx
push eax
call fcn.00401f84
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x417439
cmp esi, 3
jle 0x4173e9
cmp esi, 0xb
jle 0x417439
cmp esi, 0xd
je 0x417439
cmp esi, 0x11
je 0x417439
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x800b010a
je 0x417439
push 1
lea eax, [esi + 0x3e8]
push eax
jmp 0x417432
movzx eax, word [ebp - 0x90]
add eax, 0x5c
mov esi, dword [ebp - 0xd0]
sub esi, eax
push eax
lea ecx, [ebp - 0xd4]
call fcn.0042b787
push esi
push eax
call fcn.0046b464
pop ecx
pop ecx
cmp eax, dword [ebp - 0x204]
je 0x417439
push ebx
push 0x28
call fcn.0040a031
pop ecx
pop ecx
lea ecx, [ebp - 0xd98]
test byte [0x4ddeb0], 0x20
jne 0x417462
call fcn.00448681
mov dword [0x4ddef4], eax
lea ecx, [ebp - 0xd4]
call fcn.00426428
jmp 0x4175a0
call fcn.00448681
mov ecx, dword [ebp - 0x168]
sub eax, ecx
mov edx, dword [ebp - 0x1ec]
sub eax, edx
mov dword [ebp - 0x38], eax
test eax, eax
jle 0x4174ab
lea esi, [ecx + edx]
push eax
lea ecx, [ebp - 0xd4]
call fcn.004241aa
push esi
push dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
test al, al
jne 0x4174ab
push ebx
push 0x2a
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
dec eax
push eax
movzx eax, word [ebp - 0x90]
add eax, 6
push eax
lea ecx, [ebp - 0xd4]
call fcn.0042c1af
movzx eax, word [ebp - 0x90]
push 0x20
pop esi
add eax, esi
push eax
lea ecx, [ebp - 0xd4]
call fcn.0042c0ee
sub eax, dword [ebp - 0x1ec]
movzx ecx, word [ebp - 0x90]
add ecx, esi
push eax
push ecx
lea ecx, [ebp - 0xd4]
call fcn.0042c139
movzx eax, word [ebp - 0x90]
add eax, 0x50
push eax
lea ecx, [ebp - 0xd4]
call fcn.0042c0ee
sub eax, dword [ebp - 0x1ec]
movzx ecx, word [ebp - 0x90]
add ecx, 0x50
push eax
push ecx
lea ecx, [ebp - 0xd4]
call fcn.0042c139
mov esi, 0x49bb60
cmp dword [ebp - 0xd4], 0
cmovne esi, dword [ebp - 0xd4]
add esi, dword [ebp - 0x144]
movzx eax, word [ebp - 0x98]
cmp dword [ebp - 0x40], eax
ja 0x417595
lea eax, [esi + 0x28]
mov dword [ebp - 0x38], eax
push 0x28
push eax
push esi
call fcn.0047f970
add esp, 0xc
mov ecx, dword [ebp - 0x98]
movzx eax, cx
dec eax
mov edx, dword [ebp - 0x40]
cmp edx, eax
jae 0x417587
mov eax, dword [ebp - 0x1ec]
sub dword [esi + 0x14], eax
mov ecx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x38]
inc edx
mov dword [ebp - 0x40], edx
movzx eax, cx
cmp edx, eax
jbe 0x417555
mov eax, dword [ebp - 0xd0]
mov dword [0x4ddef4], eax
cmp byte [ebp - 0x11], 1
je 0x4177ae
cmp byte [0x4ddea0], 0
jne 0x4177ae
mov ecx, str.LanguageDlg3
mov eax, dword [0x4dded4]
sub eax, ebx
je 0x4175de
sub eax, 1
je 0x4175d7
dec eax
sub eax, 1
jne 0x4175e3
mov ecx, str.LanguageDlg4
jmp 0x4175e3
mov ecx, str.LanguageDlg
jmp 0x4175e3
mov ecx, str.LanguageDlg2
push ebx
push ebx
push 0x40cde0
push dword [0x4dde94]
push ecx
call fcn.004623ee
add esp, 0x14
cmp eax, 0x3eb
jne 0x4177ae
mov eax, dword [0x4ddfac]
test eax, eax
mov ecx, 0x49bb60
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e133
push 1
call fcn.0040c19f
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.00426428
lea ecx, [ebp - 0x3d4]
call fcn.00426428
lea ecx, [ebp - 0x47c]
call fcn.00426428
mov dword [ebp - 0x4b4], 0x49fbb0
lea ecx, [ebp - 0x4b4]
call fcn.0040aba0
lea ecx, [ebp - 0x1c4]
call fcn.00426428
lea ecx, [ebp - 0x254]
call fcn.00426428
lea ecx, [ebp - 0x284]
call fcn.00426428
lea ecx, [ebp - 0x290]
call fcn.00426428
mov dword [ebp - 0x434], 0x49f380
lea ecx, [ebp - 0x434]
call fcn.0040aaea
lea ecx, [ebp - 0x5c8]
call fcn.00426428
lea ecx, [ebp - 0x384]
call fcn.00426428
lea ecx, [ebp - 0x354]
call fcn.00426428
lea ecx, [ebp - 0x360]
call fcn.00426428
lea ecx, [ebp - 0x488]
call fcn.00426428
lea ecx, [ebp - 0x36c]
call fcn.00426428
lea ecx, [ebp - 0x494]
call fcn.00426428
lea ecx, [ebp - 0x4a0]
call fcn.00426428
lea ecx, [ebp - 0x440]
call fcn.00426428
lea ecx, [ebp - 0x44c]
call fcn.00426428
lea ecx, [ebp - 0x378]
call fcn.00426428
lea ecx, [ebp - 0x300]
call fcn.00426428
lea ecx, [ebp - 0x30c]
call fcn.00426428
lea ecx, [ebp - 0x3e4]
call fcn.00426428
lea ecx, [ebp - 0x1d0]
call fcn.00426428
lea ecx, [ebp - 0x318]
call fcn.00426428
lea ecx, [ebp - 0x29c]
call fcn.00426428
lea ecx, [ebp - 0x1dc]
call fcn.00426428
lea ecx, [ebp - 0x2a8]
call fcn.00426428
lea ecx, [ebp - 0x1e8]
call fcn.00426428
lea ecx, [ebp - 0x3f0]
call fcn.00426428
mov esi, 0x49cb54
mov dword [ebp - 0x2e0], esi
lea ecx, [ebp - 0x2e0]
call fcn.0040ab45
mov dword [ebp - 0x2f4], esi
lea ecx, [ebp - 0x2f4]
call fcn.0040ab45
jmp 0x420d76
push ebx
lea eax, [ebp - 0x1500]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
mov ecx, 0x4dfb6c
call fcn.00408887
lea ecx, [ebp - 0x1500]
call fcn.00426428
push 0x72
lea eax, [ebp - 0xaac]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xaa8], 0
jle 0x4177fd
lea eax, [ebp - 0xaac]
push eax
mov ecx, 0x4de084
call fcn.00425696
lea ecx, [ebp - 0xaac]
call fcn.00426428
mov eax, dword [0x4dde94]
test eax, eax
je 0x417822
push 1
push ebx
push eax
call fcn.00463b51
add esp, 0xc
call fcn.004643be
mov al, byte [0x4ddea2]
cmp al, 2
je 0x417833
cmp al, 1
jne 0x4178b7
call fcn.0045720e
movzx ecx, al
xor eax, eax
mov dl, byte [0x4ddea2]
cmp dl, 2
sete al
cmp eax, ecx
jne 0x4178a6
cmp byte [0x4ddea0], 0
je 0x417864
push 1
call fcn.0040c19f
pop ecx
mov dl, byte [0x4ddea2]
cmp dl, 2
push 0x20
pop eax
push 0x40
pop ebx
cmove ebx, eax
push 0x51
lea eax, [ebp - 0x150c]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push ebx
push edi
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0x150c]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
jmp 0x417624
cmp byte [ebp + 0xb], 0
je 0x4178b7
push str.Wow64DisableWow64FsRedirection___failed
call fcn.00440a47
pop ecx
lea ecx, [ebp - 0xbcc]
call fcn.004331d7
test al, al
jne 0x4179c4
push 0x7f02
call fcn.00464604
push eax
call fcn.004645b5
pop ecx
pop ecx
call fcn.00464442
lea ecx, [ebp - 0x16a4]
call fcn.00407f42
lea eax, [ebp - 0x16a4]
push eax
call fcn.00453d0c
pop ecx
test al, al
jne 0x417908
lea ecx, [ebp - 0x16a4]
call fcn.0043399f
push 0x7f00
call fcn.00464604
push eax
call fcn.004645b5
pop ecx
pop ecx
call fcn.00464442
lea eax, [ebp - 0xbcc]
push eax
lea ecx, [ebp - 0x16a4]
call fcn.00432add
test eax, eax
jle 0x4179c4
lea ecx, [ebp - 0x9e8]
call fcn.00428af1
push 0x1400
push ebx
lea eax, [ebp - 0x1518]
push eax
lea ecx, [ebp - 0xbcc]
call fcn.0043314c
push eax
lea ecx, [ebp - 0x9e8]
call fcn.00425696
lea ecx, [ebp - 0x1518]
call fcn.00426428
mov esi, edi
cmp dword [ebp - 0x9e8], 0
cmovne esi, dword [ebp - 0x9e8]
push 0x3c
lea eax, [ebp - 0x1524]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0x1524]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x9e8]
call fcn.00426428
jmp 0x417624
call fcn.0045723f
test dword [ebp - 0x828], eax
je 0x417a5c
lea ecx, [ebp - 0x9f4]
call fcn.00428af1
mov esi, dword [0x4d1290]
push 3
lea eax, [ebp - 0x1530]
push eax
call fcn.0045739b
push esi
lea ecx, [ebp - 0x9f4]
push ecx
push eax
call fcn.004593b8
add esp, 0x14
lea ecx, [ebp - 0x1530]
call fcn.00426428
mov esi, edi
cmp dword [ebp - 0x9f4], 0
cmovne esi, dword [ebp - 0x9f4]
push 0x3d
lea eax, [ebp - 0x153c]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0x153c]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x9f4]
jmp 0x4179ba
mov ecx, dword [0x4ddea8]
mov eax, ecx
and eax, 0x10000
or eax, ebx
je 0x417c6c
lea ecx, [ebp - 0x2a8]
call fcn.0040b46c
test al, al
je 0x417a90
push 0x4ddfd0
lea ecx, [ebp - 0x2a8]
call fcn.004236f3
lea ecx, [ebp - 0x1dc]
call fcn.0040b46c
test al, al
je 0x417aaf
push 0x4ddfd0
lea ecx, [ebp - 0x1dc]
call fcn.004236f3
push str._master_
lea ecx, [ebp - 0xb0]
call fcn.0042757c
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x664]
call fcn.00428af1
lea ecx, [ebp - 0x658]
call fcn.00428af1
mov ecx, edi
cmp dword [ebp - 0x2a8], 0
cmovne ecx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x658]
push eax
lea eax, [ebp - 0x664]
push eax
push ecx
call fcn.00455ae6
add esp, 0xc
cmp byte [ebp + 0xb], 0
je 0x417b13
movzx eax, al
xor ecx, ecx
cmp dword [ebp - 0x660], ecx
cmovle eax, ecx
test al, al
jne 0x417b6e
mov esi, edi
cmp dword [ebp - 0x1dc], 0
cmovne esi, dword [ebp - 0x1dc]
push 0xc
lea eax, [ebp - 0x1548]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0x1548]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x658]
call fcn.00426428
lea ecx, [ebp - 0x664]
jmp 0x4179ba
cmp dword [ebp - 0x298], 0
jle 0x417c38
mov eax, 0x49bb60
mov ecx, eax
cmp dword [ebp - 0x29c], 0
cmovne ecx, dword [ebp - 0x29c]
cmp dword [ebp - 0x658], 0
cmovne eax, dword [ebp - 0x658]
push ecx
push eax
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
jns 0x417c38
lea ecx, [ebp - 0xa00]
call fcn.00428af1
push dword [0x4d1290]
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004593b8
cmp dword [ebp - 0x1dc], 0
cmovne edi, dword [ebp - 0x1dc]
mov ebx, 0x49bb64
mov esi, ebx
cmp dword [ebp - 0xa00], 0
cmovne esi, dword [ebp - 0xa00]
push 0x70
lea eax, [ebp - 0x1554]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne ebx, dword [eax]
push edi
push esi
push ebx
call fcn.0040b37c
add esp, 0x20
lea ecx, [ebp - 0x1554]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0xa00]
call fcn.00426428
jmp 0x417b58
cmp byte [ebp + 0xb], 0
je 0x417c50
lea eax, [ebp - 0x664]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00425696
lea ecx, [ebp - 0x658]
call fcn.00426428
lea ecx, [ebp - 0x664]
call fcn.00426428
mov ecx, dword [0x4ddea8]
and ecx, 0x100
or ecx, ebx
je 0x417cc1
push ebx
push dword [0x4d1330]
mov esi, 0x4df250
mov ecx, esi
call fcn.00467bdd
test al, al
je 0x417cc1
push ebx
mov ecx, esi
call fcn.004683c5
test al, al
jne 0x417cc1
push 0x5b
lea eax, [ebp - 0x1560]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push edi
call fcn.0040b3f6
add esp, 0xc
lea ecx, [ebp - 0x1560]
jmp 0x417894
lea ecx, [ebp - 0x51c]
call fcn.00428af1
lea ecx, [ebp - 0x64c]
call fcn.00428af1
lea ecx, [ebp - 0x9b8]
call fcn.00428af1
lea ecx, [ebp - 0x9ac]
call fcn.00428af1
mov eax, dword [0x4ddea8]
and eax, 4
or eax, ebx
je 0x417ed4
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00465ea4
push esi
push eax
lea eax, [ebp - 0x156c]
push eax
call fcn.00444edd
add esp, 0xc
push eax
lea ecx, [ebp - 0x9ac]
call fcn.00425696
lea ecx, [ebp - 0x156c]
call fcn.00426428
lea ecx, [ebp - 0x176c]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x9ac], 0
cmovne eax, dword [ebp - 0x9ac]
push 0x2000f
push 0x40
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x176c]
call fcn.0045e3c4
mov esi, 0x49cd2d
test eax, eax
je 0x417e57
push 0x1000
push esi
push 0x49f5cc
lea eax, [ebp - 0x1578]
push eax
lea ecx, [ebp - 0x176c]
call fcn.0045d8b5
push eax
lea ecx, [ebp - 0x51c]
call fcn.00425696
lea ecx, [ebp - 0x1578]
call fcn.00426428
push ebx
push esi
push str.DisplayVersion
lea eax, [ebp - 0x1584]
push eax
lea ecx, [ebp - 0x176c]
call fcn.0045d8b5
push eax
mov esi, 0x4de000
mov ecx, esi
call fcn.00408887
lea ecx, [ebp - 0x1584]
call fcn.00426428
push ebx
push 0x4df22c
push esi
call fcn.004593b8
add esp, 0xc
push ebx
mov esi, 0x49cd2d
push esi
push str.SharedFiles
lea eax, [ebp - 0x1590]
push eax
lea ecx, [ebp - 0x176c]
call fcn.0045d8b5
push eax
lea ecx, [ebp - 0x64c]
call fcn.00408887
lea ecx, [ebp - 0x1590]
call fcn.00426428
push 0x1000
push esi
push str.ProductStartMenu
lea eax, [ebp - 0x159c]
push eax
lea ecx, [ebp - 0x176c]
call fcn.0045d8b5
push eax
lea ecx, [ebp - 0x9b8]
call fcn.00408887
lea ecx, [ebp - 0x159c]
call fcn.00426428
cmp dword [ebp - 0x518], 0
jg 0x417ea0
mov eax, 0x49bb60
cmp dword [ebp - 0x1e8], 0
cmovne eax, dword [ebp - 0x1e8]
push 0x1000
push esi
push eax
lea eax, [ebp - 0x15b4]
push eax
call fcn.0045f2bd
add esp, 0x10
push eax
lea ecx, [ebp - 0x51c]
call fcn.00408887
lea ecx, [ebp - 0x15b4]
call fcn.00426428
test dword [0x4ddeb0], 0x2000
je 0x417ec9
mov eax, 0x49bb60
cmp dword [ebp - 0x1e8], 0
cmovne eax, dword [ebp - 0x1e8]
push 2
push eax
call fcn.00408fe9
pop ecx
pop ecx
lea ecx, [ebp - 0x176c]
call fcn.00408581
mov eax, edi
cmp dword [ebp - 0x51c], 0
cmovne eax, dword [ebp - 0x51c]
push eax
call fcn.004420e2
pop ecx
mov byte [ebp - 0x134], al
mov cl, byte [0x4ddea0]
test cl, cl
jne 0x417f24
cmp dword [ebp - 0x314], 0
jle 0x417f24
mov eax, edi
cmp dword [ebp - 0x318], 0
cmovne eax, dword [ebp - 0x318]
push 0x17
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov cl, byte [0x4ddea0]
mov eax, dword [0x4ddea8]
mov dword [ebp - 0x38], eax
and eax, 8
or eax, ebx
jne 0x417f57
test cl, cl
jne 0x417fdd
mov eax, dword [0x4ddeac]
mov dword [ebp + 8], eax
mov ecx, eax
and ecx, 0x800
mov eax, ebx
or eax, ecx
jne 0x417fdd
jmp 0x417f5f
mov eax, dword [0x4ddeac]
mov dword [ebp + 8], eax
mov ebx, dword [0x4dded0]
push 0x41
lea eax, [ebp - 0x15c0]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, dword [0x4dde94]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x38]
sub esp, 0xc
mov eax, esp
push 1
push eax
call fcn.00408c01
pop ecx
pop ecx
push edi
push esi
call fcn.00456749
add esp, 0x20
mov bl, al
lea ecx, [ebp - 0x15c0]
call fcn.00426428
test bl, bl
jne 0x417fd6
mov ecx, 0x49bb60
mov eax, dword [0x4ddfac]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e133
push 1
call fcn.0040c19f
add esp, 0xc
jmp 0x417fd8
xor ebx, ebx
mov edi, 0x49bb64
call fcn.00411880
test al, al
jne 0x417feb
call fcn.00408ee6
cmp byte [0x4ddea0], 0
jne 0x4181c7
push 0x3f
lea eax, [ebp - 0xab8]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xab4], 0
jle 0x418023
lea eax, [ebp - 0xab8]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.00407b1d
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x15d8]
call fcn.00402541
jmp 0x4180bb
mov esi, dword [ebp - 0x15c4]
cmp dword [esi + 4], ebx
jle 0x4180bb
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043e7e8
pop ecx
test al, al
jne 0x418062
push esi
call fcn.004157f3
pop ecx
mov ecx, str.LicenseDlg3
mov eax, dword [0x4dded8]
sub eax, ebx
je 0x418089
sub eax, 1
je 0x418082
dec eax
sub eax, 1
jne 0x41808e
mov ecx, str.LicenseDlg4
jmp 0x41808e
mov ecx, str.LicenseDlg
jmp 0x41808e
mov ecx, str.LicenseDlg2
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40d04b
push dword [0x4dde94]
push ecx
call fcn.004623ee
add esp, 0x14
cmp eax, 0x3eb
jne 0x4180bb
call fcn.00408ee6
lea ecx, [ebp - 0x15d8]
call fcn.004025a6
test al, al
jne 0x41803a
lea ecx, [ebp - 0xab8]
call fcn.00426428
cmp byte [0x4ddea0], 0
jne 0x4181c7
push 0x40
lea eax, [ebp - 0xac4]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xac0], 0
jle 0x418111
lea eax, [ebp - 0xac4]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00407b1d
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x15f0]
call fcn.00402541
jmp 0x4181a9
mov esi, dword [ebp - 0x15dc]
cmp dword [esi + 4], ebx
jle 0x4181a9
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043e7e8
pop ecx
test al, al
jne 0x418150
push esi
call fcn.004157f3
pop ecx
mov ecx, str.ReadmeDlg3
mov eax, dword [0x4ddedc]
sub eax, ebx
je 0x418177
sub eax, 1
je 0x418170
dec eax
sub eax, 1
jne 0x41817c
mov ecx, str.ReadmeDlg4
jmp 0x41817c
mov ecx, str.ReadmeDlg
jmp 0x41817c
mov ecx, str.ReadmeDlg2
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40da81
push dword [0x4dde94]
push ecx
call fcn.004623ee
add esp, 0x14
cmp eax, 0x3eb
jne 0x4181a9
call fcn.00408ee6
lea ecx, [ebp - 0x15f0]
call fcn.004025a6
test al, al
jne 0x418128
lea ecx, [ebp - 0xac4]
call fcn.00426428
cmp dword [0x4ddf94], 0
je 0x418228
push 1
call fcn.00409acf
mov dword [esp], 0x4ddf90
lea ecx, [ebp - 0xc88]
call fcn.00402541
jmp 0x418202
mov eax, dword [ebp - 0xc74]
test byte [eax + 0x28], 2
jne 0x418202
lea ecx, [ebp - 0xc88]
call fcn.004021d5
lea ecx, [ebp - 0xc88]
call fcn.004025a6
test al, al
jne 0x4181eb
push 0x14d
call fcn.004643df
push dword [0x4dde94]
call fcn.00463a69
pop ecx
pop ecx
mov byte [ebp + 0xb], bl
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x80], bl
mov byte [ebp - 0x39], bl
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.004082e7
push closesocket
push 0x4a000c
lea ecx, [ebp - 0x7f8]
call fcn.00426cc1
mov esi, ebx
test al, al
mov eax, reloc.OLEAUT32.dll_SysReAllocString
cmovne esi, eax
push closesocket
push 0x4a0018
lea ecx, [ebp - 0x7f8]
call fcn.00426cc1
mov ecx, closesocket
test al, al
cmovne esi, ecx
test esi, esi
je 0x418381
lea ecx, [ebp - 0x19d0]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x7f8], 0
cmovne eax, dword [ebp - 0x7f8]
push 0x40
push edi
push eax
push esi
lea eax, [ebp - 0x162c]
push eax
lea ecx, [ebp - 0x19d0]
call fcn.0045d970
push eax
mov esi, 0x4de018
mov ecx, esi
call fcn.00425696
lea ecx, [ebp - 0x162c]
call fcn.00426428
cmp dword [0x4de01c], 0
jg 0x418306
mov eax, edi
cmp dword [ebp - 0xb0], 0
cmovne eax, dword [ebp - 0xb0]
push eax
push str.Failed_to_obtain_installation_path_from___s_
call fcn.0040b37c
push 1
call fcn.0040c19f
add esp, 0xc
push esi
call fcn.0040b549
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004420e2
pop ecx
pop ecx
test al, al
jne 0x418356
mov edx, edi
cmp dword [ebp - 0xb0], 0
cmovne edx, dword [ebp - 0xb0]
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
push str.Installation_path___s__obtained_from___s__does_not_exist.
call fcn.0040b37c
push 1
call fcn.0040c19f
add esp, 0x10
push 0xffffffffffffffff
push 0x4df258
push esi
call fcn.004454f2
add esp, 0xc
lea ecx, [ebp - 0x19d0]
call fcn.00408581
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
jmp 0x41925e
mov ecx, dword [0x4ddea8]
mov eax, ecx
and eax, 4
or eax, ebx
je 0x418985
cmp byte [ebp - 0x134], 0
je 0x418985
and ecx, 1
or ecx, ebx
je 0x4185b2
cmp dword [ebp - 0x35c], 0
jle 0x4183e7
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x360], 0
cmovne edx, dword [ebp - 0x360]
mov ecx, eax
mov eax, dword [0x4de000]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
jns 0x4185b2
mov byte [0x4ddea0], bl
lea ecx, [ebp - 0x574]
call fcn.00428af1
lea ecx, [ebp - 0x1838]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00465ea4
push esi
push eax
lea eax, [ebp - 0x1638]
push eax
call fcn.00444edd
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 - 0x1838]
call fcn.0045e3c4
mov esi, eax
lea ecx, [ebp - 0x1638]
call fcn.00426428
test esi, esi
je 0x4184c3
push ebx
push edi
push 0x4a01bc
lea eax, [ebp - 0x1644]
push eax
lea ecx, [ebp - 0x1838]
call fcn.0045da86
push eax
lea ecx, [ebp - 0x574]
call fcn.00425696
lea ecx, [ebp - 0x1644]
call fcn.00426428
cmp dword [ebp - 0x570], 0
jg 0x4184fe
push ebx
push edi
push 0x4a01e8
lea eax, [ebp - 0x1650]
push eax
lea ecx, [ebp - 0x1838]
call fcn.0045da86
push eax
lea ecx, [ebp - 0x574]
call fcn.00425696
lea ecx, [ebp - 0x1650]
call fcn.00426428
cmp dword [ebp - 0x570], 0
jg 0x4184fe
push 9
lea eax, [ebp - 0xda4]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
add esp, 0xc
lea ecx, [ebp - 0xda4]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
push ebx
push ebx
push 0x40d4fd
push dword [0x4dde94]
push str.MustUninstall
call fcn.004623ee
add esp, 0x14
cmp eax, 0x3e9
jne 0x418594
call sub.KERNEL32.dll_GetCommandLineW
push eax
lea ecx, [ebp - 0xa24]
call fcn.0040837f
push 1
push 0x60
push 0x22
lea ecx, [ebp - 0xa24]
call fcn.0042ee8a
mov eax, edi
cmp dword [ebp - 0xa24], 0
cmovne eax, dword [ebp - 0xa24]
push ebx
push 0x49f170
push eax
push str.__r:_
lea eax, [ebp - 0x574]
push eax
call fcn.0042405b
mov eax, edi
cmp dword [ebp - 0x574], 0
cmovne eax, dword [ebp - 0x574]
push ebx
push ebx
push 0x880
push eax
call fcn.00457698
add esp, 0x24
lea ecx, [ebp - 0xa24]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x1838]
call fcn.00408581
lea ecx, [ebp - 0x574]
call fcn.00426428
lea ecx, [ebp - 0x1904]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00465ea4
push esi
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.00444edd
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 - 0x1904]
call fcn.0045e3c4
mov esi, eax
lea ecx, [ebp - 0xdb0]
call fcn.00426428
test esi, esi
je 0x418701
lea ecx, [ebp - 0x504]
call fcn.00428af1
push ebx
push 0x49cd2d
push str.NoDowngradeBelow
lea eax, [ebp - 0xdbc]
push eax
lea ecx, [ebp - 0x1904]
call fcn.0045d8b5
push eax
lea ecx, [ebp - 0x504]
call fcn.00425696
lea ecx, [ebp - 0xdbc]
call fcn.00426428
lea ecx, [ebp - 0x504]
call fcn.004126e4
cmp dword [ebp - 0x500], 0
jle 0x4186f6
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x504], 0
cmovne edx, dword [ebp - 0x504]
mov ecx, eax
mov eax, dword [0x4de078]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
jns 0x4186f6
cmp byte [0x4ddea0], 0
jne 0x4186ee
push ebx
lea eax, [ebp - 0x504]
push eax
call fcn.00459395
mov esi, edi
cmp dword [ebp - 0x504], 0
cmovne esi, dword [ebp - 0x504]
push 0x6a
lea eax, [ebp - 0xdc8]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
add esp, 0x18
lea ecx, [ebp - 0xdc8]
call fcn.00426428
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x504]
call fcn.00426428
lea ecx, [ebp - 0x1904]
call fcn.00408581
mov ecx, dword [0x4ddeac]
and ecx, 0x10
mov eax, ebx
or eax, ecx
je 0x418788
mov ecx, 0x4de000
call fcn.0040b46c
test al, al
jne 0x418788
mov ecx, 0x4de078
call fcn.0040b46c
test al, al
jne 0x418788
mov ecx, 0x49bb60
mov edx, ecx
mov eax, dword [0x4de078]
test eax, eax
cmovne edx, eax
mov eax, dword [0x4de000]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
jne 0x41876c
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x5c], 4
jmp 0x41878f
js 0x41877b
mov dword [ebp - 0x5c], 6
mov byte [ebp - 0x80], 1
jmp 0x41878f
mov dword [ebp - 0x5c], 5
mov byte [ebp - 0x55], 1
jmp 0x41878f
mov dword [ebp - 0x5c], 3
cmp byte [0x4ddea0], 0
jne 0x41896b
mov eax, dword [0x4ddea8]
and eax, 0x10000000
or eax, ebx
jne 0x41896b
lea ecx, [ebp - 0x838]
call fcn.00428af1
push 7
lea eax, [ebp - 0xde0]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov dword [ebp + 8], ecx
mov edi, dword [str._r_n_r_n]
mov ebx, 0x49bb64
cmp dword [ebp - 0x51c], 0
cmovne ebx, dword [ebp - 0x51c]
mov esi, dword [0x4d13a4]
push dword [ebp - 0x5c]
lea eax, [ebp - 0xdd4]
push eax
call fcn.00408c01
mov ecx, 0x49bb64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0
push dword [ebp + 8]
push edi
push ebx
push esi
push ecx
lea eax, [ebp - 0x838]
push eax
call fcn.0042f92c
add esp, 0x2c
lea ecx, [ebp - 0xdd4]
call fcn.00426428
lea ecx, [ebp - 0xde0]
call fcn.00426428
push 2
lea eax, [ebp - 0xdec]
push eax
call fcn.00408c01
mov edi, 0x49bb64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x838], 0
cmovne eax, dword [ebp - 0x838]
push ecx
push eax
call fcn.0040f6db
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xdec]
call fcn.00426428
test bl, bl
jne 0x418884
call fcn.00408ee6
mov ecx, dword [0x4ddeac]
and ecx, 0x1000
xor ebx, ebx
mov eax, ebx
or eax, ecx
je 0x418960
mov ecx, 0x4de000
call fcn.0040b46c
test al, al
jne 0x418960
lea ecx, [ebp - 0x36c]
call fcn.0040b46c
test al, al
jne 0x4188ea
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x36c], ebx
cmovne edx, dword [ebp - 0x36c]
mov ecx, eax
mov eax, dword [0x4de000]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004313a0
pop ecx
pop ecx
test eax, eax
jns 0x418960
push 0x14
lea eax, [ebp - 0xe04]
push eax
call fcn.00408c01
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push 0x48
lea eax, [ebp - 0xdf8]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040f609
add esp, 0x18
mov bl, al
lea ecx, [ebp - 0xdf8]
call fcn.00426428
lea ecx, [ebp - 0xe04]
call fcn.00426428
test bl, bl
jne 0x41895e
mov ecx, 0x49bb60
mov eax, dword [0x4ddfac]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e133
push 1
call fcn.0040c19f
add esp, 0xc
jmp 0x418960
xor ebx, ebx
lea ecx, [ebp - 0x838]
call fcn.00426428
mov byte [ebp + 0xb], 1
push 0xffffffffffffffff
push 0x4df258
lea eax, [ebp - 0x51c]
push eax
call fcn.004454f2
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
cmp byte [ebp + 0xb], 0
jne 0x419259
cmp dword [0x4df25c], 0
jg 0x4189b9
push 0xffffffffffffffff
push 0x4df258
lea eax, [ebp - 0xb0]
push eax
call fcn.004454f2
add esp, 0xc
push 0x5c
mov ecx, 0x4df258
call fcn.00426dd7
push ebx
mov esi, 0x4de018
push esi
push 0x4df258
call fcn.00446201
add esp, 0xc
cmp byte [0x4ddea0], 0
jne 0x4192cd
mov eax, dword [0x4ddea8]
and eax, 0x80
or eax, ebx
je 0x4192cd
call fcn.004117e4
test al, al
jne 0x418a06
call fcn.00408ee6
mov ecx, esi
call fcn.004316d9
push 0x5c
mov ecx, esi
call fcn.00426dd7
cmp dword [0x4de01c], 0
jle 0x4189f8
push 0xffffffffffffffff
push 0x4df258
push esi
call fcn.004454f2
mov byte [ebp + 0xb], 1
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00442542
add esp, 0x10
test al, al
je 0x418a60
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0044578d
pop ecx
test al, al
jne 0x418a63
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00466673
pop ecx
call fcn.00442596
add esp, 0x18
test al, al
jne 0x418aa5
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00466722
pop ecx
call fcn.00442596
add esp, 0x18
test al, al
je 0x418aa8
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00466fa7
pop ecx
call fcn.00442596
add esp, 0x18
test al, al
jne 0x418aea
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.004671cb
pop ecx
call fcn.00442596
add esp, 0x18
test al, al
je 0x418aed
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.0046750a
pop ecx
call fcn.00442596
add esp, 0x18
movzx ecx, byte [ebp + 0xb]
xor edx, edx
test al, al
cmovne ecx, edx
mov eax, dword [0x4de018]
test cl, cl
jne 0x418b88
test eax, eax
cmovne edi, eax
mov esi, dword [str._r_n_r_n]
push 0xe
lea eax, [ebp - 0xe1c]
push eax
call fcn.00408c01
mov ecx, 0x49bb64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0xe10]
push eax
call fcn.004302d0
mov edi, 0x49bb64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
add esp, 0x20
lea ecx, [ebp - 0xe10]
call fcn.00426428
lea ecx, [ebp - 0xe1c]
call fcn.00426428
mov esi, 0x4de018
jmp 0x4189f8
mov ecx, edi
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.004452c2
pop ecx
pop ecx
mov byte [ebp - 0x78], al
test al, al
je 0x418bd9
lea eax, [ebp - 0x78]
push eax
call fcn.004428d6
pop ecx
test al, al
jne 0x418bd9
movsx esi, byte [ebp - 0x78]
push 0x10
lea eax, [ebp - 0xe28]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0xe28]
jmp 0x418b79
mov ecx, dword [0x4ddeac]
and ecx, 0x20
mov eax, ebx
or eax, ecx
je 0x418c3a
push closesocket
push 0x49cee4
mov ecx, esi
call fcn.0042b582
test al, al
jne 0x418c0b
lea eax, [ebp - 0x78]
push eax
call fcn.004429bb
pop ecx
test al, al
je 0x418c3a
push 0x42
lea eax, [ebp - 0xe34]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe34]
add esp, 0xc
call fcn.00426428
jmp 0x4189f8
mov eax, dword [0x4de01c]
and eax, 0xfffffffe
cmp eax, 6
jg 0x418c6b
push 0x11
lea eax, [ebp - 0xe40]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe40]
jmp 0x418c2d
lea ecx, [ebp - 0x408]
call fcn.00428af1
push 1
lea eax, [ebp - 0xe4c]
push eax
call fcn.00466e1e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x408]
call fcn.00425696
lea ecx, [ebp - 0xe4c]
call fcn.00426428
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x408]
push eax
call fcn.004082e7
call fcn.004426ab
add esp, 0x18
test al, al
je 0x418d0b
mov esi, edi
cmp dword [ebp - 0x408], 0
cmovne esi, dword [ebp - 0x408]
push 0x12
lea eax, [ebp - 0xe58]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
lea ecx, [ebp - 0xe58]
add esp, 0x10
call fcn.00426428
lea ecx, [ebp - 0x408]
jmp 0x418b79
push 2
lea eax, [ebp - 0xe64]
push eax
call fcn.00466e1e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x408]
call fcn.00425696
lea ecx, [ebp - 0xe64]
call fcn.00426428
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x408]
push eax
call fcn.004082e7
call fcn.004426ab
add esp, 0x18
test al, al
je 0x418d92
mov esi, edi
cmp dword [ebp - 0x408], 0
cmovne esi, dword [ebp - 0x408]
push 0x12
lea eax, [ebp - 0xe70]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
lea ecx, [ebp - 0xe70]
jmp 0x418cf8
lea ecx, [ebp - 0x408]
call fcn.00426428
mov dl, byte [ebp - 0x78]
test dl, dl
je 0x418de4
lea eax, [ebp - 0x78]
push eax
call fcn.004429e1
pop ecx
test al, al
je 0x418de1
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe7c]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0xe7c]
jmp 0x418b79
mov dl, byte [ebp - 0x78]
mov ecx, dword [0x4ddeac]
and ecx, 0x800000
mov eax, ebx
or eax, ecx
je 0x418e37
test dl, dl
je 0x418e37
lea eax, [ebp - 0x78]
push eax
call fcn.004429ce
pop ecx
test al, al
je 0x418e37
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe88]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0xe88]
jmp 0x418b79
test dword [0x4ddeb0], 0x10000
je 0x418e75
mov ecx, esi
call fcn.004258ea
test al, al
jne 0x418e75
push 0x1e
lea eax, [ebp - 0xe94]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe94]
jmp 0x418c2d
push 0x4d12f4
push dword [ebp - 0x78]
call fcn.0040b4d1
pop ecx
pop ecx
mov dword [ebp - 0x160], eax
mov esi, edx
mov dword [ebp - 0x15c], esi
cmp byte [ebp - 0x134], 0
jne 0x418fd1
cmp byte [0x4ddea0], 0
jne 0x418fd1
cmp byte [ebp - 0x78], 0
je 0x418fd1
lea eax, [ebp - 0x78]
push eax
call fcn.00442995
pop ecx
mov ebx, eax
mov eax, edx
mov dword [ebp + 8], eax
cmp esi, eax
jl 0x418fd1
jg 0x418edd
cmp dword [ebp - 0x160], ebx
jbe 0x418fd1
lea ecx, [ebp - 0x810]
call fcn.00428af1
push dword [ebp + 8]
push ebx
lea eax, [ebp - 0xeb8]
push eax
call fcn.00424e61
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
movsx edi, byte [ebp - 0x78]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
lea eax, [ebp - 0xeac]
push eax
call fcn.00424e61
mov esi, 0x49bb64
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x13
lea eax, [ebp - 0xea0]
push eax
call fcn.00408c01
mov ecx, 0x49bb64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0x810]
push eax
call fcn.004284f9
add esp, 0x34
lea ecx, [ebp - 0xea0]
call fcn.00426428
lea ecx, [ebp - 0xeac]
call fcn.00426428
lea ecx, [ebp - 0xeb8]
call fcn.00426428
push 0x14
lea eax, [ebp - 0xec4]
push eax
call fcn.00408c01
mov edi, 0x49bb64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x810], 0
cmovne eax, dword [ebp - 0x810]
push ecx
push eax
call fcn.0040f6db
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xec4]
call fcn.00426428
lea ecx, [ebp - 0x810]
test bl, bl
jne 0x418fcc
call fcn.00426428
xor ebx, ebx
jmp 0x418b7e
call fcn.00426428
lea ecx, [ebp - 0x580]
call fcn.00428af1
call fcn.00464593
call fcn.00464442
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004420e2
pop ecx
mov bl, al
call fcn.00464614
mov esi, edi
mov eax, dword [0x4de018]
test bl, bl
je 0x419048
xor ebx, ebx
mov byte [ebp + 0xb], bl
test eax, eax
cmovne esi, eax
push 0x16
lea eax, [ebp - 0xed0]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x580]
push eax
call fcn.004284f9
add esp, 0x14
lea ecx, [ebp - 0xed0]
call fcn.00426428
jmp 0x419085
mov byte [ebp + 0xb], 1
test eax, eax
cmovne esi, eax
push 0x17
lea eax, [ebp - 0xedc]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x580]
push eax
call fcn.004284f9
add esp, 0x14
lea ecx, [ebp - 0xedc]
call fcn.00426428
xor ebx, ebx
mov eax, dword [0x4ddea8]
and eax, 0x80000000
or eax, ebx
je 0x4190e1
push 0x18
lea eax, [ebp - 0xee8]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x580], 0
cmovne eax, dword [ebp - 0x580]
push ecx
push eax
call fcn.0040f6db
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xee8]
call fcn.00426428
test bl, bl
jne 0x4190df
lea ecx, [ebp - 0x580]
jmp 0x418fc0
xor ebx, ebx
cmp byte [ebp + 0xb], 0
je 0x4191b6
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441d6e
pop ecx
test al, al
jne 0x4191b6
lea ecx, [ebp - 0x844]
call fcn.00428af1
lea eax, [ebp - 0xf00]
push eax
call fcn.0045876c
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov dword [ebp + 8], ecx
mov edi, dword [str._r_n_r_n]
mov ebx, 0x49bb64
mov eax, dword [0x4de018]
test eax, eax
cmovne ebx, eax
mov esi, dword [0x4d13a4]
push 0x19
lea eax, [ebp - 0xef4]
push eax
call fcn.00408c01
mov ecx, 0x49bb64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0
push dword [ebp + 8]
push edi
push ebx
push esi
push ecx
lea eax, [ebp - 0x844]
push eax
call fcn.0042f92c
add esp, 0x28
lea ecx, [ebp - 0xef4]
call fcn.00426428
lea ecx, [ebp - 0xf00]
call fcn.00426428
mov edi, 0x49bb64
mov eax, edi
cmp dword [ebp - 0x844], 0
cmovne eax, dword [ebp - 0x844]
push eax
call fcn.0040b3f6
pop ecx
lea ecx, [ebp - 0x844]
call fcn.00426428
jmp 0x4190d4
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ebx
push ebx
push ecx
lea eax, [ebp - 0x7a4]
push eax
call fcn.00443707
add esp, 0x10
cmp dword [ebp - 0x7a0], 0
jg 0x41922a
mov esi, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne esi, eax
push 0x49
lea eax, [ebp - 0xf0c]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b37c
add esp, 0x10
lea ecx, [ebp - 0xf0c]
call fcn.00426428
lea ecx, [ebp - 0x7a4]
call fcn.00426428
lea ecx, [ebp - 0x580]
jmp 0x418b79
mov eax, edi
cmp dword [ebp - 0x7a4], 0
cmovne eax, dword [ebp - 0x7a4]
push ebx
push eax
call fcn.00443fe4
pop ecx
pop ecx
lea ecx, [ebp - 0x7a4]
call fcn.00426428
lea ecx, [ebp - 0x580]
call fcn.00426428
mov esi, 0x4de018
push 0x5c
mov ecx, 0x4df258
call fcn.00426dd7
push ebx
push esi
push 0x4df258
call fcn.00446201
mov esi, 0x49bb60
mov ecx, esi
mov eax, dword [0x4df258]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0044527c
mov byte [ebp - 0x3ac], al
lea eax, [ebp - 0x3ac]
push eax
call fcn.004429ce
add esp, 0x18
mov byte [0x4ddec7], al
cmp byte [ebp - 0x134], 0
je 0x4192e5
cmp dword [ebp - 0x9b4], 0
jle 0x41932b
lea eax, [ebp - 0x9b8]
push eax
mov ecx, 0x4de00c
call fcn.004236f3
jmp 0x41932b
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441d6e
pop ecx
jmp 0x41925e
push 0x4de00c
call fcn.004157f3
pop ecx
cmp byte [0x4ddea0], 0
jne 0x41932b
mov ecx, dword [0x4ddeac]
and ecx, 4
mov eax, ebx
or eax, ecx
je 0x41932b
cmp byte [0x4ddec7], 0
je 0x41931d
test dword [0x4ddeb0], 0x800
jne 0x41932b
call fcn.00411831
test al, al
jne 0x41932b
call fcn.00408ee6
mov ecx, edi
mov eax, dword [0x4de00c]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00412323
call fcn.00456f43
call fcn.0040fc88
mov ecx, esi
mov eax, dword [0x4df270]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e133
add esp, 0xc
push 0x80
push 0x20000000
push 0x49cd2d
mov ecx, 0x4df168
call fcn.00447c77
push 1
push ebx
call fcn.004601d2
pop ecx
pop ecx
test al, al
jne 0x41938f
push str.Warning:_the_installer_does_not_have_admin_rights._r_n_r_n
call fcn.0040eac1
pop ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x820], xmm0
test byte [0x4ddeb0], 2
je 0x419476
push 0x61
call fcn.00409c3c
mov dword [esp], str.Creating_restore_point...
call fcn.0040eac1
mov dword [esp], 0x4ddfd0
lea ecx, [ebp - 0x85c]
call fcn.004082e7
cmp dword [0x4df23c], 0
jg 0x4193ea
push 0x4df238
push 0x49ce6c
lea ecx, [ebp - 0x85c]
call fcn.0042463a
lea ecx, [ebp - 0x850]
call fcn.00428af1
mov eax, edi
cmp dword [ebp - 0x85c], 0
cmovne eax, dword [ebp - 0x85c]
lea ecx, [ebp - 0x850]
push ecx
push eax
lea ecx, [ebp - 0x820]
call fcn.0045f593
test al, al
jne 0x41944a
mov eax, esi
cmp dword [ebp - 0x850], 0
cmovne eax, dword [ebp - 0x850]
push ebx
push dword [0x4d13a0]
push eax
push str.FAILED_r_n
call fcn.0040ea65
add esp, 0x10
and dword [0x4ddeb0], 0xfffffffd
jmp 0x419455
push 0x49ec4c
call fcn.0040eac1
pop ecx
push 0x49cd2d
call fcn.00412417
pop ecx
lea ecx, [ebp - 0x850]
call fcn.00426428
lea ecx, [ebp - 0x85c]
call fcn.00426428
push 0x71
call fcn.00409c3c
push 1
call fcn.0040fc65
mov edx, edi
mov eax, dword [0x4df1fc]
test eax, eax
cmovne edx, eax
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf18]
push eax
call fcn.00444edd
add esp, 0x14
push eax
mov ecx, 0x4df288
call fcn.00425696
lea ecx, [ebp - 0xf18]
call fcn.00426428
push 0xffffffffffffffff
push 0x4df0fc
push 0x4df288
call fcn.004454f2
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00412323
add esp, 0x10
cmp dword [0x4df200], 0
jle 0x419550
mov ecx, edi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441d6e
pop ecx
test al, al
jne 0x419550
mov esi, dword [0x4d13a4]
lea eax, [ebp - 0xf24]
push eax
call fcn.0045876c
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a0298
push ecx
push str.Failed_to_create_uninstall_data_folder__
call fcn.0040ea93
add esp, 0x1c
lea ecx, [ebp - 0xf24]
call fcn.00426428
mov eax, dword [0x4ddea8]
and eax, 4
or eax, ebx
jne 0x419566
mov ecx, 0x4de048
jmp 0x4196a3
cmp dword [ebp - 0x274], 0
jle 0x4195bb
cmp byte [0x4ddec7], 0
je 0x4195bb
mov edx, edi
cmp dword [ebp - 0x278], 0
cmovne edx, dword [ebp - 0x278]
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf30]
push eax
call fcn.00444edd
add esp, 0xc
push eax
mov ecx, 0x4de048
call fcn.00425696
lea ecx, [ebp - 0xf30]
jmp 0x4196a3
lea ecx, [ebp - 0x670]
call fcn.00428af1
movzx eax, byte [ebp - 0xd5]
sub eax, 1
je 0x41965a
sub eax, 1
je 0x419636
sub eax, 1
je 0x419612
xor eax, eax
cmp byte [0x4ddea2], 1
setne al
add eax, 2
push eax
lea eax, [ebp - 0xf3c]
push eax
call fcn.00466485
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.00425696
lea ecx, [ebp - 0xf3c]
jmp 0x419679
push 2
lea eax, [ebp - 0xf48]
push eax
call fcn.00466485
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.00425696
lea ecx, [ebp - 0xf48]
jmp 0x419679
push 1
lea eax, [ebp - 0xf54]
push eax
call fcn.00466485
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.00425696
lea ecx, [ebp - 0xf54]
jmp 0x419679
lea eax, [ebp - 0xf60]
push eax
call fcn.004662f5
pop ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.00425696
lea ecx, [ebp - 0xf60]
call fcn.00426428
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x670]
push eax
call fcn.004082e7
push 0x4de048
call fcn.00445b0a
add esp, 0x14
lea ecx, [ebp - 0x670]
call fcn.00426428
cmp dword [0x4de04c], 0
jle 0x419738
mov ecx, edi
mov eax, dword [0x4de048]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441d6e
pop ecx
test al, al
jne 0x419713
mov esi, dword [0x4d13a4]
lea eax, [ebp - 0xf6c]
push eax
call fcn.0045876c
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4de048]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a0298
push ecx
push str.Failed_to_create_shared_folder__
call fcn.0040ea93
add esp, 0x1c
lea ecx, [ebp - 0xf6c]
call fcn.00426428
mov ecx, dword [0x4ddeac]
and ecx, 0x40000000
mov eax, ebx
or eax, ecx
je 0x419738
mov ecx, edi
mov eax, dword [0x4de048]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00412323
pop ecx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x15c]
jne 0x419764
push 0x4d12f4
push dword [ebp - 0x3ac]
call fcn.0040b4d1
pop ecx
pop ecx
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
mov edx, dword [0x4ddeac]
mov ecx, edx
and ecx, 0x1000000
mov eax, ebx
or eax, ecx
je 0x41978e
cmp byte [0x4ddec7], 0
je 0x41978e
and dword [0x4ddea8], 0xfffffffb
mov dword [0x4ddeac], edx
lea ecx, [ebp - 0x30c]
call fcn.00427269
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x30c]
call fcn.00423e7f
test byte [0x4ddeb0], 0x40
mov ecx, str.Pre_Installation_Batch
push 0
pop eax
cmove ecx, eax
mov eax, dword [0x4ddea8]
and eax, 0x800000
or eax, ebx
mov al, 1
jne 0x4197cf
mov al, bl
push ecx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x30c]
push eax
call fcn.004082e7
call fcn.00410a7c
add esp, 0x14
cmp byte [ebp - 0x55], 0
je 0x419837
mov edx, dword [0x4ddeb0]
and edx, 0x100
neg edx
sbb edx, edx
and edx, str.Upgrade_Batch
mov ecx, dword [0x4ddeac]
and ecx, 0x10000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x41981c
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x4a0]
push eax
call fcn.004082e7
call fcn.00410a7c
add esp, 0x14
cmp byte [ebp - 0x134], 0
je 0x419892
mov edx, dword [0x4ddeb0]
cmp byte [ebp - 0x39], 0
jne 0x419851
test dl, 1
jne 0x419892
and edx, 0x200
neg edx
sbb edx, edx
and edx, str.Reinstall_Batch
mov ecx, dword [0x4ddeac]
and ecx, 0x20000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x419877
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x494]
push eax
call fcn.004082e7
call fcn.00410a7c
add esp, 0x14
push 8
call fcn.00409c3c
push 2
call fcn.0040fc65
pop ecx
pop ecx
lea ecx, [ebp - 0x9a0]
call fcn.00428af1
cmp byte [ebp - 0xd6], 0
jne 0x4198ce
mov ecx, dword [ebp - 0x140]
sub dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x1f0]
add eax, ecx
mov dword [0x4ddeb8], eax
jmp 0x419931
mov esi, dword [ebp - 0x140]
add esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x200]
sub eax, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x9a0]
call fcn.00423af0
mov eax, 0x49bb60
cmp dword [ebp - 0x9a0], 0
cmovne eax, dword [ebp - 0x9a0]
mov dword [0x4ddeb8], eax
push esi
push dword [ebp - 0x44]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0042c4da
test al, al
jne 0x419931
push esi
push dword [ebp - 0x44]
push str.Error_code_2:_failed_to_read_archive_data_r_nsize_d_pos_d
call fcn.00440b2b
add esp, 0xc
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x44], esi
je 0x419943
push ebx
push 0x2e
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x64]
push eax
call fcn.0040f2ce
push 0x3e
call fcn.00409c3c
push 0x15
call fcn.0040fc65
push esi
push dword [0x4ddeb8]
call fcn.0046b464
add esp, 0x14
cmp eax, dword [ebp - 0x1fc]
je 0x41997c
push ebx
push 0x37
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x64]
push eax
call fcn.0040f2ce
mov esi, dword [0x4ddeb8]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x204], esi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x13c], eax
push 0x36
call fcn.00409c3c
push 0x1a
call fcn.0040fc65
push 1
call fcn.0040a3cd
push 0x1b
call fcn.0040fc65
add esp, 0x14
lea ecx, [ebp - 0xb88]
call fcn.00407dec
lea ecx, [ebp - 0xb6c]
call fcn.00407dec
lea ecx, [ebp - 0xb5c]
call fcn.00407dec
lea ecx, [ebp - 0xb4c]
call fcn.00407dec
push dword [ebp - 0x164]
lea ecx, [ebp - 0x166c]
call fcn.00407d5a
lea ecx, [ebp - 0x510]
call fcn.00428af1
mov byte [ebp - 0x7e], bl
lea ecx, [ebp - 0xbe0]
call fcn.004235f0
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
cmp eax, dword [ebp - 0x164]
jge 0x41b2ac
lea ecx, [ebp - 0x224]
call fcn.00428af1
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xbe0]
call fcn.0042571c
test al, al
jne 0x419b5c
push 0x1d
call fcn.00409c3c
pop ecx
mov edi, dword [esi]
add esi, 4
mov dword [ebp - 0x54], esi
mov ecx, dword [ebp - 0x7c]
sub ecx, 4
mov dword [ebp - 0x7c], ecx
test edi, edi
jg 0x419a76
push ebx
push 0x3d
call fcn.0040a031
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
cmp edi, ecx
jle 0x419a87
push ebx
push 0x3f
call fcn.0040a031
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
mov esi, dword [esi]
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
sub ecx, 4
mov dword [ebp - 0x7c], ecx
push edi
push eax
lea ecx, [ebp - 0x67c]
call fcn.00408360
lea eax, [ebp - 0x67c]
push eax
call fcn.0046b482
pop ecx
cmp eax, esi
je 0x419ac0
push ebx
push 0x3e
call fcn.0040a031
pop ecx
pop ecx
test dword [0x4ddeb0], 0x1000
je 0x419ae7
mov esi, 0x4de0a0
mov ecx, esi
call fcn.00423125
lea eax, [ebp - 0x67c]
push eax
push eax
mov ecx, esi
call fcn.00422fbd
mov eax, dword [0x4ddea8]
and eax, 0x20
or eax, ebx
je 0x419b10
push ebx
lea eax, [ebp - 0x67c]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x419b10
push ebx
push 0x3c
call fcn.0040a031
pop ecx
pop ecx
lea eax, [ebp - 0x67c]
push eax
lea ecx, [ebp - 0xbe0]
call fcn.00427c6d
mov esi, dword [ebp - 0x54]
add esi, edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x204], esi
mov eax, dword [ebp - 0x7c]
sub eax, edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x13c], eax
dec dword [ebp - 0x40]
lea ecx, [ebp - 0x67c]
call fcn.00426428
lea ecx, [ebp - 0x224]
call fcn.00426428
jmp 0x41b296
mov eax, 0x49bb60
cmp dword [ebp - 0x224], 0
cmovne eax, dword [ebp - 0x224]
mov dword [0x4ddeb8], eax
call fcn.00409c71
imul eax, dword [ebp - 0x40], 0x3e
cdq
idiv dword [ebp - 0x164]
add eax, 0x1c
push eax
call fcn.0040fc65
pop ecx
call fcn.004122eb
push eax
lea ecx, [ebp - 0x194]
call fcn.00401a8c
cmp dword [ebp - 0x190], 0
jg 0x419bb2
push ebx
push 0x46
call fcn.0040a031
pop ecx
pop ecx
call fcn.004122c7
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.004122c7
mov dword [ebp - 0x60], eax
call fcn.004122c7
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xa14], ebx
or dword [ebp - 0xa0c], 0xffffffff
lea eax, [ebp - 0xa18]
push eax
call fcn.00407c1c
pop ecx
call fcn.004122eb
push eax
lea ecx, [ebp - 0xc8]
call fcn.00401a8c
lea ecx, [ebp - 0x348]
call fcn.00428af1
mov eax, dword [ebp - 0x60]
and eax, 3
mov dword [ebp - 0x3d8], eax
je 0x419c29
call fcn.00412306
push closesocket
push eax
lea ecx, [ebp - 0x348]
call fcn.0042fc81
call fcn.004122eb
push eax
lea ecx, [ebp - 0x188]
call fcn.00401a8c
call fcn.00412306
push eax
lea ecx, [ebp - 0x110]
call fcn.0040837f
call fcn.004122eb
push eax
lea ecx, [ebp - 0x39c]
call fcn.00401a8c
cmp esi, 0xb
jne 0x419c79
call fcn.004122c7
cmp byte [0x4ddec6], 0
push 2
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x94], eax
mov ecx, dword [0x4d12f4]
mov eax, dword [ecx + 0x88]
push dword [ebp - 0x40]
mov ecx, 0x4d12f4
call eax
mov esi, dword [eax]
mov dword [ebp - 0x1fc], esi
test esi, esi
jns 0x419ca5
push ebx
push 0x47
call fcn.0040a031
pop ecx
pop ecx
cmp esi, 0x40000000
jle 0x419cb7
push ebx
push 0x48
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [0x4ddeb8]
mov dword [ebp - 0x200], eax
add eax, esi
mov dword [0x4ddeb8], eax
call fcn.004122c7
mov esi, eax
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call fcn.0046b464
pop ecx
pop ecx
cmp eax, esi
je 0x419cf1
push ebx
push 0x64
call fcn.0040a031
pop ecx
pop ecx
call fcn.00464372
lea ecx, [ebp - 0xa4]
call fcn.00428af1
push ebx
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.00446201
add esp, 0xc
cmp dword [ebp - 0x10c], 0
jle 0x419d5c
push 0x5c
lea ecx, [ebp - 0x110]
call fcn.0042599a
test al, al
jne 0x419d5c
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00425696
push 0xffffffffffffffff
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.004454f2
add esp, 0xc
mov esi, dword [ebp - 0x44]
cmp esi, 1
jne 0x419dee
cmp byte [0x4ddec7], 0
je 0x419dee
cmp dword [ebp - 0x274], 0
jle 0x419dee
cmp dword [ebp - 0x10c], 0
jle 0x419de3
push 0x5c
lea ecx, [ebp - 0x110]
call fcn.0042599a
test al, al
je 0x419de3
mov eax, edi
cmp dword [ebp - 0x110], 0
cmovne eax, dword [ebp - 0x110]
push eax
call fcn.0044578d
pop ecx
test al, al
jne 0x419de3
lea ecx, [ebp - 0x110]
call fcn.00426428
mov byte [ebp + 0xb], bl
lea ecx, [ebp - 0x74]
call fcn.00428af1
cmp dword [ebp - 0x10c], 0
jle 0x419eb7
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x74]
call fcn.004236f3
lea eax, [ebp - 0x74]
push eax
call fcn.0040b549
mov dword [esp], closesocket
push 0x49cee4
lea ecx, [ebp - 0x74]
call fcn.00426f29
test al, al
je 0x419e40
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.0042470d
mov eax, 0x4de048
cmp esi, 1
mov ecx, 0x4de018
cmovne eax, ecx
push ebx
sub esp, 0xc
mov ecx, esp
push eax
call fcn.004082e7
lea eax, [ebp - 0x74]
push eax
call fcn.00445b0a
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.004125e1
test al, al
je 0x41a07e
mov eax, edi
cmp dword [ebp - 0xa4], 0
cmovne eax, dword [ebp - 0xa4]
push eax
lea eax, [ebp - 0xf78]
push eax
call fcn.00445367
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
lea eax, [ebp - 0x74]
push eax
call fcn.00444db5
add esp, 0x10
lea ecx, [ebp - 0xf78]
jmp 0x41a079
test byte [ebp - 0x60], 0x40
je 0x419f06
mov edx, edi
cmp dword [ebp - 0xa4], 0
cmovne edx, dword [ebp - 0xa4]
mov ecx, edi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf84]
push eax
call fcn.00444edd
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.00425696
lea ecx, [ebp - 0xf84]
call fcn.00426428
mov byte [ebp + 0xb], bl
jmp 0x41a0e4
cmp esi, 5
jg 0x41a033
je 0x41a03d
mov eax, esi
sub eax, ebx
je 0x41a03d
cmp esi, 8
jle 0x41a090
cmp esi, 0xc
jg 0x41a084
mov edx, edi
cmp dword [ebp - 0xa4], 0
cmovne edx, dword [ebp - 0xa4]
mov ecx, edi
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xfb4]
push eax
call fcn.00444edd
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.00425696
lea ecx, [ebp - 0xfb4]
call fcn.00426428
mov byte [ebp + 0xb], 1
jmp 0x41a0e4
mov esi, edi
cmp dword [ebp - 0xa4], 0
cmovne esi, dword [ebp - 0xa4]
lea eax, [ebp - 0xfcc]
push eax
call fcn.004673de
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0xfc0]
push eax
call fcn.00444edd
add esp, 0x10
push eax
lea ecx, [ebp - 0x74]
call fcn.00425696
lea ecx, [ebp - 0xfc0]
call fcn.00426428
lea ecx, [ebp - 0xfcc]
call fcn.00426428
lea ecx, [ebp - 0x50]
call fcn.00428af1
push 0xffffffffffffffff
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004454f2
add esp, 0xc
lea ecx, [ebp - 0x390]
call fcn.00428af1
mov esi, edi
cmp dword [ebp - 0x74], 0
cmovne esi, dword [ebp - 0x74]
mov eax, edi
cmp dword [ebp - 0xa4], 0
cmovne eax, dword [ebp - 0xa4]
push eax
lea eax, [ebp - 0xfd8]
push eax
call fcn.00445367
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push esi
push 0x4a03b8
push ecx
lea eax, [ebp - 0x390]
push eax
call fcn.0042405b
add esp, 0x1c
lea ecx, [ebp - 0xfd8]
call fcn.00426428
mov ecx, dword [0x4ddeac]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x41a193
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, 0x49bb64
jmp 0x419a1b
cmp dword [ebp - 0x7c], 0
je 0x41b2bc
push ebx
push 0x50
call fcn.0040a031
pop ecx
pop ecx
lea ecx, [ebp - 0xbe0]
call fcn.0042713d
test al, al
jne 0x41b2d5
push ebx
push 0x53
call fcn.0040a031
pop ecx
pop ecx
push 0x5b
call fcn.0040fc65
push 0x36
lea eax, [ebp - 0x1080]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.004124cf
add esp, 0x10
lea ecx, [ebp - 0x1080]
call fcn.00426428
cmp byte [ebp - 0x7e], 0
je 0x41b311
call fcn.0046465e
lea eax, [ebp - 0x166c]
push eax
call fcn.0040a1bb
push 0x5c
call fcn.0040fc65
pop ecx
pop ecx
mov eax, dword [0x4ddea8]
push 4
pop esi
and eax, esi
or eax, ebx
je 0x41b65f
cmp byte [0x4ddec7], 0
jne 0x41b65f
lea ecx, [ebp - 0x1728]
call fcn.004081b3
call fcn.00458877
push 0x2000f
push ebx
call fcn.00465e98
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1728]
call fcn.0045e0c0
test eax, eax
jne 0x41b424
call sub.KERNEL32.dll_GetLastError
mov esi, eax
mov eax, dword [str._r_n_r_n]
mov dword [ebp + 8], eax
push ebx
lea eax, [ebp - 0x10a4]
push eax
call fcn.004573b5
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
push esi
lea eax, [ebp - 0x1098]
push eax
call fcn.0045862f
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
lea eax, [ebp - 0x108c]
push eax
call fcn.00458845
mov esi, 0x49bb64
cmp dword [eax], 0
cmovne esi, dword [eax]
call fcn.00465e9e
push 0
push dword [ebp + 8]
push ebx
push 0x49ce24
push edi
push 0x49f2bc
push esi
push str._r_nCode
push eax
push str.Registry_error:_unable_to_increment_shared_file_reference_counts._r_nHKLM_
push 0x4df1f0
call fcn.0042405b
add esp, 0x44
lea ecx, [ebp - 0x108c]
call fcn.00426428
lea ecx, [ebp - 0x1098]
call fcn.00426428
lea ecx, [ebp - 0x10a4]
call fcn.00426428
xor ebx, ebx
mov edi, 0x49bb64
jmp 0x41b651
lea eax, [ebp - 0xb88]
push eax
lea ecx, [ebp - 0xcb8]
call fcn.00402541
lea ecx, [ebp - 0xcb8]
call fcn.004025a6
test al, al
je 0x41b646
mov esi, 0x49bb60
lea ecx, [ebp - 0x6a0]
call fcn.00428af1
mov eax, dword [ebp - 0xca4]
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
mov eax, 0x4a06c4
push eax
push ecx
push eax
lea eax, [ebp - 0x6a0]
push eax
call fcn.0042f8af
add esp, 0x14
mov eax, esi
cmp dword [ebp - 0x6a0], 0
cmovne eax, dword [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00409e59
test al, al
jne 0x41b628
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0xcb8]
call fcn.00408971
push 0x5e
lea ecx, [ebp - 0x33c]
call fcn.00426dd7
push 0x20
lea ecx, [ebp - 0x33c]
call fcn.00426dd7
push 0xffffffffffffffa9
lea ecx, [ebp - 0x33c]
call fcn.00426dd7
push 0x7c
lea ecx, [ebp - 0x33c]
call fcn.0040f7ee
test al, al
jne 0x41b52c
mov eax, esi
cmp dword [ebp - 0x33c], 0
cmovne eax, dword [ebp - 0x33c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1728]
call fcn.0045d6ca
inc eax
mov ecx, esi
cmp dword [ebp - 0x33c], 0
cmovne ecx, dword [ebp - 0x33c]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1728]
call fcn.0045ebcc
jmp 0x41b59c
lea ecx, [ebp - 0x694]
call fcn.00428af1
push ebx
lea eax, [ebp - 0x694]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.00446201
add esp, 0xc
mov eax, edi
cmp dword [ebp - 0x694], 0
cmovne eax, dword [ebp - 0x694]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1728]
call fcn.0045d70e
inc eax
mov ecx, edi
cmp dword [ebp - 0x694], 0
cmovne ecx, dword [ebp - 0x694]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1728]
call fcn.0045f27f
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x694]
call fcn.00426428
mov al, byte [ebp + 0xb]
test al, al
jne 0x41b5f5
mov esi, dword [0x4d139c]
lea eax, [ebp - 0x10b0]
push eax
call fcn.00458617
mov edx, 0x49bb60
mov ecx, edx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edx
cmp dword [ebp - 0x33c], 0
cmovne eax, dword [ebp - 0x33c]
push ebx
push esi
push ecx
push 0x4a089c
push eax
push str.Failed_to_increment_reference_count_of_shared_file__
call fcn.0040ea65
add esp, 0x1c
lea ecx, [ebp - 0x10b0]
call fcn.00426428
mov esi, 0x49bb60
cmp dword [ebp - 0x648], 0
jle 0x41b60b
push 0x3b
lea ecx, [ebp - 0x64c]
call fcn.00408991
lea eax, [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00423e7f
lea ecx, [ebp - 0x33c]
call fcn.00426428
lea ecx, [ebp - 0x6a0]
call fcn.00426428
lea ecx, [ebp - 0xcb8]
call fcn.004025a6
test al, al
jne 0x41b44e
lea ecx, [ebp - 0x1728]
call fcn.0045ca12
lea ecx, [ebp - 0x1728]
call fcn.00408581
push 4
pop esi
push 0x5d
call fcn.0040fc65
pop ecx
cmp dword [ebp - 0xb68], 0
jne 0x41b67d
cmp dword [ebp - 0xb58], 0
je 0x41ba8f
lea eax, [ebp - 0xb6c]
push eax
lea ecx, [ebp - 0x16cc]
call fcn.00402541
lea ecx, [ebp - 0x16cc]
call fcn.004025a6
test al, al
je 0x41b8bc
mov eax, dword [ebp - 0x16b8]
mov esi, 0x49bb60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x534]
call fcn.00428af1
push esi
lea ecx, [ebp - 0xbec]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x534]
push eax
lea eax, [ebp - 0xbec]
push eax
call fcn.00446201
add esp, 0xc
lea ecx, [ebp - 0xbec]
call fcn.00426428
mov eax, edi
cmp dword [ebp - 0x534], 0
cmovne eax, dword [ebp - 0x534]
push eax
push str.Registering_COM_File___s_...
call fcn.0040ea2d
push 0x4d
lea eax, [ebp - 0x8a4]
push eax
call fcn.00408c01
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x534]
push eax
push str._file_
lea ecx, [ebp - 0x8a4]
call fcn.0042ed7e
mov eax, edi
cmp dword [ebp - 0x8a4], 0
cmovne eax, dword [ebp - 0x8a4]
push eax
call fcn.004124cf
pop ecx
mov dword [ebp - 4], 2
wait
lea eax, [ebp - 0x10c8]
push eax
call fcn.004673de
pop ecx
mov esi, dword [eax]
test esi, esi
jne 0x41b76b
mov esi, edi
mov eax, dword [ebp - 0x534]
test eax, eax
jne 0x41b777
mov eax, edi
push ebx
push 0x49f170
push eax
push str.regsvr32.exe__s__
lea eax, [ebp - 0x10bc]
push eax
call fcn.004302d0
add esp, 0x14
mov eax, dword [eax]
test eax, eax
jne 0x41b79a
mov eax, edi
push ebx
push esi
push 0x11
push eax
call fcn.00457698
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x824], esi
lea ecx, [ebp - 0x10bc]
call fcn.00426428
lea ecx, [ebp - 0x10c8]
call fcn.00426428
test esi, esi
je 0x41b819
mov eax, dword [ebp - 0x534]
test eax, eax
jne 0x41b7d5
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp + 8], eax
cmp eax, 0x20
jb 0x41b807
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41b7fe
call eax
mov esi, ebx
mov dword [ebp - 0x824], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x41b819
push esi
push str.FAILED__code__d_r_n
call fcn.0040e9f5
pop ecx
jmp 0x41b823
push 0x49ec4c
call fcn.0040eac1
pop ecx
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41b89e
push 4
pop esi
lea ecx, [ebp - 0x8a4]
call fcn.00426428
lea ecx, [ebp - 0x534]
call fcn.00426428
jmp 0x41b68f
lea eax, [ebp - 0xb5c]
push eax
lea ecx, [ebp - 0x16e4]
call fcn.00402541
lea ecx, [ebp - 0x16e4]
call fcn.004025a6
test al, al
je 0x41ba7e
mov eax, dword [ebp - 0x16d0]
mov esi, 0x49bb60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x5ec]
call fcn.00428af1
push esi
lea ecx, [ebp - 0xbf8]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x5ec]
push eax
lea eax, [ebp - 0xbf8]
push eax
call fcn.00446201
add esp, 0xc
lea ecx, [ebp - 0xbf8]
call fcn.00426428
mov eax, edi
cmp dword [ebp - 0x5ec], 0
cmovne eax, dword [ebp - 0x5ec]
push eax
push str.Registering_Type_Library___s_...
call fcn.0040ea2d
push 0x4d
lea eax, [ebp - 0x8b0]
push eax
call fcn.00408c01
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x5ec]
push eax
push str._file_
lea ecx, [ebp - 0x8b0]
call fcn.0042ed7e
mov eax, edi
cmp dword [ebp - 0x8b0], 0
cmovne eax, dword [ebp - 0x8b0]
push eax
call fcn.004124cf
pop ecx
mov dword [ebp - 4], 4
wait
push esi
call fcn.0045c514
pop ecx
test al, al
je 0x41b9ad
push 0x49ec4c
call fcn.0040eac1
pop ecx
jmp 0x41b9e6
mov esi, dword [0x4d139c]
lea eax, [ebp - 0x10e0]
push eax
call fcn.00458617
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x41b9cb
mov eax, 0x49bb60
push ebx
push esi
push eax
push str.FAILED_r_n
call fcn.0040ea65
add esp, 0x10
lea ecx, [ebp - 0x10e0]
call fcn.00426428
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41ba60
push 4
pop esi
lea ecx, [ebp - 0x8b0]
call fcn.00426428
lea ecx, [ebp - 0x5ec]
call fcn.00426428
jmp 0x41b8ce
call fcn.00464442
push dword [0x4dde98]
call fcn.004636c1
pop ecx
cmp dword [ebp - 0xb48], 0
je 0x41bb10
mov dword [ebp - 0x568], ebx
mov dword [ebp - fcn.0043402e], 0x49be28
mov dword [ebp - 0x6b4], ebx
mov dword [ebp - 0x6b0], ebx
push 1
push str.Setupapi.dll
lea ecx, [ebp - 0x6b8]
call fcn.00434277
test al, al
jne 0x41bad1
push str.Cannot_install_INF_files...unable_to_open_Setupapi.dll_r_n
jmp 0x41baf5
lea eax, [ebp - 0x568]
push eax
push str.SetupCopyOEMInfW
lea ecx, [ebp - 0x6b8]
call fcn.0043420b
test al, al
jne 0x41bc7d
push str.Cannot_install_INF_files...unable_to_link_to_SetupCopyOEMInf___r_n
call fcn.0040eac1
pop ecx
mov dword [ebp - fcn.0043402e], 0x49be28
lea ecx, [ebp - 0x6b8]
call fcn.00433fff
movzx eax, word [ebp - 0x64]
push eax
call fcn.0040f2ce
push 0x1a
call fcn.00409c3c
push 0x5f
call fcn.0040fc65
add esp, 0xc
lea ecx, [ebp - 0x470]
call fcn.00428af1
lea ecx, [ebp - 0xec]
call fcn.00428af1
lea ecx, [ebp - 0x464]
call fcn.00428af1
lea ecx, [ebp - 0x210]
call fcn.00428af1
mov eax, dword [0x4ddea8]
and eax, esi
or eax, ebx
je 0x41c151
mov edx, edi
cmp dword [ebp - 0x3f0], 0
cmovne edx, dword [ebp - 0x3f0]
mov ecx, edi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0x1104]
push eax
call fcn.00444edd
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
call fcn.00408887
lea ecx, [ebp - 0x1104]
call fcn.00426428
push 0xffffffffffffffff
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.004454f2
mov eax, edi
cmp dword [ebp - 0xbc], 0
cmovne eax, dword [ebp - 0xbc]
push ebx
push 0x49f170
push eax
push str._u:_
lea eax, [ebp - 0x464]
push eax
call fcn.0042f92c
add esp, 0x20
cmp dword [ebp - 0x5c4], 0
jle 0x41bf70
mov ecx, edi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push str.uninstall.ico
push ecx
lea eax, [ebp - 0x1110]
push eax
call fcn.00444edd
add esp, 0xc
push eax
lea ecx, [ebp - 0x210]
call fcn.00425696
lea ecx, [ebp - 0x1110]
call fcn.00426428
mov eax, edi
cmp dword [ebp - 0x210], 0
cmovne eax, dword [ebp - 0x210]
lea ecx, [ebp - 0x5c8]
push ecx
push eax
call fcn.00443b8c
mov esi, eax
push esi
call fcn.00438625
add esp, 0xc
test al, al
jne 0x41befb
mov eax, edi
cmp dword [ebp - 0x210], 0
cmovne eax, dword [ebp - 0x210]
push ebx
push eax
call fcn.004090e8
pop ecx
pop ecx
jmp 0x41bf70
push dword [0x4d139c]
call fcn.0040eac1
pop ecx
lea eax, [ebp - 0xb4c]
push eax
lea ecx, [ebp - 0x1684]
call fcn.00402541
lea ecx, [ebp - 0x1684]
call fcn.004025a6
test al, al
je 0x41bafb
lea ecx, [ebp - 0x6ac]
call fcn.00428af1
push ebx
lea eax, [ebp - 0x6ac]
push eax
push dword [ebp - 0x1670]
call fcn.00446201
push 0x4d
lea eax, [ebp - 0x8c8]
push eax
call fcn.00408c01
add esp, 0x14
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x6ac]
push eax
push str._file_
lea ecx, [ebp - 0x8c8]
call fcn.0042ed7e
mov eax, edi
cmp dword [ebp - 0x8c8], 0
cmovne eax, dword [ebp - 0x8c8]
push eax
call fcn.004124cf
mov eax, edi
cmp dword [ebp - 0x6ac], 0
cmovne eax, dword [ebp - 0x6ac]
push ebx
push 0x49ec00
push eax
push str.Installing_driver__
call fcn.0040ea93
add esp, 0x14
xor eax, eax
mov word [ebp - 0x1c20], ax
mov dword [ebp - 4], 6
wait
call fcn.00458877
mov eax, dword [ebp - 0x6ac]
test eax, eax
jne 0x41bd58
mov eax, edi
push ebx
push ebx
push 0x104
lea ecx, [ebp - 0x1c20]
push ecx
push ebx
push 1
push ebx
push eax
call dword [ebp - 0x568]
test eax, eax
jne 0x41be1c
call sub.KERNEL32.dll_GetLastError
mov esi, eax
push esi
lea eax, [ebp - 0x8bc]
push eax
call fcn.004585d9
pop ecx
pop ecx
cmp dword [ebp - 0x8b8], 0
jg 0x41bdb0
lea eax, [ebp - 0x1c20]
push eax
call fcn.004321f9
pop ecx
test al, al
je 0x41be3a
lea ecx, [ebp - 0xc10]
call fcn.00428af1
push 0xffffffffffffffff
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.004454f2
push esi
lea eax, [ebp - 0x111c]
push eax
call fcn.004448de
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x210], 0
cmovne eax, dword [ebp - 0x210]
push ecx
push eax
push str.Failed_to_install_uninstaller_icon_to__s_r_n_s_r_n
call fcn.0040ea2d
add esp, 0x20
lea ecx, [ebp - 0x111c]
call fcn.00426428
lea ecx, [ebp - 0x210]
call fcn.00426428
lea ecx, [ebp - 0xc10]
call fcn.00426428
mov eax, dword [0x4ddea8]
and eax, 2
or eax, ebx
je 0x41bfe3
push ebx
mov ecx, 0x4ddf1c
call fcn.004092d9
mov edi, eax
xor eax, eax
inc eax
mov byte [edi + 1], al
mov byte [edi + 5], al
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004236f3
lea eax, [ebp - 0x464]
push eax
lea ecx, [edi + 0x2c]
call fcn.004236f3
push 0x21
lea eax, [ebp - 0x1128]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425696
lea ecx, [ebp - 0x1128]
call fcn.00426428
lea eax, [ebp - 0x210]
push eax
lea ecx, [edi + 0x20]
call fcn.004236f3
mov ecx, dword [0x4ddeac]
and ecx, 2
mov eax, ebx
or eax, ecx
je 0x41c058
push ebx
mov ecx, 0x4ddf1c
call fcn.004092d9
mov edi, eax
xor eax, eax
inc eax
mov byte [edi], al
mov byte [edi + 5], al
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004236f3
lea eax, [ebp - 0x464]
push eax
lea ecx, [edi + 0x2c]
call fcn.004236f3
push 0x21
lea eax, [ebp - 0x1134]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425696
lea ecx, [ebp - 0x1134]
call fcn.00426428
lea eax, [ebp - 0x210]
push eax
lea ecx, [edi + 0x20]
call fcn.004236f3
mov ecx, dword [0x4ddeac]
and ecx, 0x40
mov eax, ebx
or eax, ecx
je 0x41c0d6
push ebx
mov ecx, 0x4ddf1c
call fcn.004092d9
mov edi, eax
mov byte [edi + 5], 1
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004236f3
lea eax, [ebp - 0x464]
push eax
lea ecx, [edi + 0x2c]
call fcn.004236f3
push 0x21
lea eax, [ebp - 0x1140]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425696
lea ecx, [ebp - 0x1140]
call fcn.00426428
push 0x4df0fc
lea ecx, [edi + 0x44]
call fcn.004236f3
lea eax, [ebp - 0x210]
push eax
lea ecx, [edi + 0x20]
call fcn.004236f3
test dword [0x4ddeb0], 0x200000
je 0x41c151
mov ecx, dword [0x4ddeac]
and ecx, 0x8000000
mov eax, ebx
or eax, ecx
je 0x41c1b9
push ebx
mov ecx, 0x4ddf1c
call fcn.004092d9
mov edi, eax
mov byte [edi + 1], 1
lea eax, [ebp - 0x1158]
push eax
call fcn.0040c294
pop ecx
push eax
lea ecx, [edi + 8]
call fcn.00425696
lea ecx, [ebp - 0x1158]
call fcn.00426428
push 0x56
lea eax, [ebp - 0x1164]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425696
lea ecx, [ebp - 0x1164]
call fcn.00426428
test dword [0x4ddeb0], 0x800
je 0x41c1d2
cmp byte [0x4ddec7], 0
jne 0x41d0c0
cmp dword [0x4ddf20], 0
je 0x41d0c0
mov byte [ebp + 0xb], 1
push 0x4ddf1c
lea ecx, [ebp - 0x104]
call fcn.00402541
jmp 0x41d0ad
lea ecx, [ebp - 0x104]
call fcn.004025a6
test al, al
jne 0x41c1f8
cmp dword [ebp - 0x28c], 0
jle 0x41d241
cmp byte [0x4ddec7], 0
je 0x41d241
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x250], 0
jle 0x41d5aa
lea ecx, [ebp - 0x260]
call fcn.00426428
lea ecx, [ebp - 0x3fc]
call fcn.00426428
lea ecx, [ebp - 0x26c]
call fcn.00426428
lea ecx, [ebp - 0xb0]
call fcn.00426428
lea ecx, [ebp - 0x278]
call fcn.00426428
lea ecx, [ebp - 0x24]
call fcn.00426428
lea ecx, [ebp - 0xd98]
call fcn.00401af4
lea ecx, [ebp - 0x1b8]
call fcn.00426428
lea ecx, [ebp - 0x2b4]
call fcn.00426428
lea ecx, [ebp - 0x2c0]
call fcn.00426428
lea ecx, [ebp - 0x2cc]
call fcn.00426428
lea ecx, [ebp - 0xbc]
call fcn.00426428
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 - 0x30]
call fcn.0042c2ee
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2ee
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0xd7]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
movzx eax, byte [ebp - 0xd7]
mov dword [esi + 0x24], eax
push ebx
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x3e8
push 0
pop ebx
jle 0x417184
push ebx
push 0x29
call fcn.0040a031
pop ecx
pop ecx
jmp 0x417184
cmp dword [0x4d12d0], 0x3e8
jle 0x420e86
push ebx
push 0x26
call fcn.0040a031
pop ecx
pop ecx
push ebx
mov ecx, 0x4d12cc
call fcn.004065dd
mov esi, eax
lea eax, [ebp - 0x804]
push eax
mov ecx, esi
call fcn.004236f3
push 1
lea ecx, [esi + 0xc]
push ecx
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
call dword [edx]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c7d3
push 1
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
lea ecx, [ebp - 0x804]
call fcn.00426428
jmp 0x416e34