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

Disassembly:
mov eax, 0x49a64d
call fcn.0046bcf0
push ecx
mov eax, 0x1c5c
call fcn.0046bd40
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
mov dword [0x4df308], 0x49fcac
mov dword [0x4df30c], 0x49fcbc
push 0x40be65
call fcn.0043f73d
pop ecx
lea ecx, [ebp - 0xb4]
call fcn.00428bf1
lea ecx, [ebp - 0x2b4]
call fcn.00428bf1
lea ecx, [ebp - 0x2c0]
call fcn.00428bf1
lea ecx, [ebp - 0x284]
call fcn.00428bf1
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
push 1
push str.SeTakeOwnershipPrivilege
call fcn.004605d9
push 0x40cd22
call fcn.00440b7e
mov eax, dword [ebp + 8]
mov dword [0x4ddeb0], eax
call fcn.00456678
mov dword [0x4ddf18], eax
mov dword [0x4ddf1c], edx
lea eax, [ebp - 0x16f8]
push eax
call fcn.00466154
add esp, 0x14
push eax
push dword [0x4ddeb0]
push 1
mov ecx, 0x4dfb38
call fcn.00464804
lea eax, [ebp - 0x1700]
push eax
call fcn.00466125
pop ecx
push eax
push dword [0x4ddeb0]
push 1
mov ecx, 0x4ddf94
call fcn.00464804
call fcn.00457270
mov esi, ebx
lea eax, [ebp - 0x9e0]
push eax
call fcn.004571f2
pop ecx
mov edi, 0x49bb64
mov dword [ebp - 0x14], edi
jmp 0x415d62
inc esi
cmp esi, 0x14
jge 0x415d7b
lea eax, [ebp - 0x9e0]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00457112
pop ecx
pop ecx
cmp dword [ebp - 0x90], ebx
jle 0x415d70
lea eax, [ebp - 0x94]
push eax
call fcn.0045706d
pop ecx
test al, al
jne 0x415a63
lea eax, [ebp - 0x94]
push eax
push str.Unexpected_command_line_parameter:_r_n
lea ecx, [ebp - 0x1504]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c13d
pop ecx
lea ecx, [ebp - 0x1504]
call fcn.00426528
push 0x49fd44
lea ecx, [ebp - 0x94]
call fcn.0042767c
lea ecx, [ebp - 0x94]
test al, al
je 0x415a89
mov byte [0x4ddec0], 1
jmp 0x415d5d
push closesocket
push 0x49fd48
call fcn.00426dc1
test al, al
je 0x415ade
lea eax, [ebp - 0x94]
push eax
mov ecx, 0x4de030
call fcn.00425796
push 0x22
mov ecx, 0x4de030
call fcn.00426397
push 0x5c
mov ecx, 0x4de030
call fcn.00426ed7
push 0xffffffffffffffff
push 0x4df270
push 0x4de030
call fcn.004455f4
add esp, 0xc
jmp 0x415d57
push closesocket
push 0x49fd50
lea ecx, [ebp - 0x94]
call fcn.00426dc1
test al, al
je 0x415b19
lea eax, [ebp - 0x94]
push eax
mov ecx, 0x4ddfe8
call fcn.00425796
mov ecx, 0x4ddfe8
push 0x22
call fcn.00426397
jmp 0x415d57
push closesocket
push 0x49fd58
lea ecx, [ebp - 0x94]
call fcn.00426dc1
lea ecx, [ebp - 0x94]
test al, al
je 0x415b68
mov byte [0x4ddec1], 1
push 0x3a
call fcn.00426ead
test al, al
je 0x415d57
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00425796
lea ecx, [ebp - 0xb4]
jmp 0x415b0d
push closesocket
push 0x49fd5c
call fcn.00426dc1
test al, al
je 0x415bad
lea eax, [ebp - 0x94]
push eax
mov ecx, 0x4df25c
call fcn.00425796
push 0x22
mov ecx, 0x4df25c
call fcn.00427088
push 1
push 0x22
push 0x60
mov ecx, 0x4df25c
call fcn.0042ef8a
jmp 0x415d57
push closesocket
push 0x49fd64
lea ecx, [ebp - 0x94]
call fcn.00426dc1
test al, al
je 0x415c24
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00459a83
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2b4]
call fcn.00426ed7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2b4]
call fcn.0042e04d
lea ecx, [ebp - 0x2b4]
push ebx
push closesocket
push ebx
push ebx
push dword [0x4d139c]
push 0x49fd70
call fcn.0042e112
jmp 0x415d57
push closesocket
push str.B2:_
lea ecx, [ebp - 0x94]
call fcn.00426dc1
test al, al
je 0x415c80
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00459a83
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2c0]
call fcn.00426ed7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2c0]
call fcn.0042e04d
lea ecx, [ebp - 0x2c0]
jmp 0x415c07
push closesocket
push str.B3:_
lea ecx, [ebp - 0x94]
call fcn.00426dc1
test al, al
je 0x415cdf
push ebx
push 0x49be48
push ebx
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00459a83
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x284]
call fcn.00426ed7
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x284]
call fcn.0042e04d
lea ecx, [ebp - 0x284]
jmp 0x415c07
push str.Silent
lea ecx, [ebp - 0x94]
call fcn.0042767c
lea ecx, [ebp - 0x94]
test al, al
je 0x415d08
xor eax, eax
inc eax
mov byte [0x4ddec0], al
mov byte [0x4ddee6], al
jmp 0x415d5d
push 0x49fd9c
call fcn.0042767c
test al, al
je 0x415d1f
mov byte [0x4ddee5], 1
jmp 0x415d57
cmp dword [ebp - 0x90], ebx
jle 0x415d57
lea eax, [ebp - 0x94]
push eax
push str.Illegal_command_line_atom:_r_n
lea ecx, [ebp - 0x1510]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c13d
pop ecx
lea ecx, [ebp - 0x1510]
call fcn.00426528
lea ecx, [ebp - 0x94]
call fcn.00426528
cmp dword [ebp - 0x9dc], ebx
jg 0x4159f7
jmp 0x415d7b
lea ecx, [ebp - 0x94]
call fcn.00426528
cmp byte [0x4ddec1], bl
je 0x415dcf
cmp dword [ebp - 0xb0], ebx
jg 0x415d96
push str.Product_name_required
call fcn.0040c13d
pop ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.00412662
pop ecx
mov esi, 0x49bb60
test al, al
je 0x415dc6
mov ecx, esi
mov eax, dword [0x4df220]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e05b
pop ecx
pop ecx
call fcn.0040a8d0
push ebx
call fcn.0040c19f
pop ecx
jmp 0x415dd4
mov esi, 0x49bb60
lea ecx, [ebp - 0x9e0]
call fcn.00426528
call fcn.004101c0
lea ecx, [ebp - 0x194]
call fcn.00428bf1
lea eax, [ebp - 0x194]
push eax
call fcn.0045705c
pop ecx
lea ecx, [ebp - 0xd9c]
call fcn.00401a0d
mov eax, esi
cmp dword [ebp - 0x194], ebx
cmovne eax, dword [ebp - 0x194]
push 0x80
push 0x2111
push eax
lea ecx, [ebp - 0xd9c]
call fcn.00447d79
mov esi, eax
test esi, esi
je 0x415e70
push esi
lea eax, [ebp - 0x151c]
push eax
call fcn.004449e0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x194], ebx
cmovne eax, dword [ebp - 0x194]
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.00440c6e
add esp, 0x18
lea ecx, [ebp - 0x151c]
call fcn.00426528
lea ecx, [ebp - 0xd9c]
call fcn.00448783
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x84], ebx
push 0x3c
push 2
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
test al, al
je 0x415eb9
mov eax, dword [ebp - 0x84]
push 0x40
pop esi
cmp ax, si
jb 0x415eb9
mov esi, 0x1000
cmp ax, si
jbe 0x415ec9
push ebx
push 0x2b
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], ebx
movzx eax, ax
add eax, 6
push eax
push 2
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
test al, al
je 0x415f06
push 4
pop esi
cmp word [ebp - 0x98], si
jb 0x415f06
push 0x63
pop esi
cmp word [ebp - 0x98], si
jbe 0x415f10
push ebx
push 0x2c
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x84]
add eax, 0x14
push eax
push 2
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
movzx ecx, word [ebp - 0x3e8]
movzx esi, word [ebp - 0x84]
add ecx, 0x18
add esi, ecx
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x98]
cmp ax, cx
jmp 0x415f95
mov byte [ebp - 0xaa8], bl
push esi
push 8
lea eax, [ebp - 0xab0]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
lea eax, [ebp - 0xab0]
push eax
push str..setup
call fcn.00489590
pop ecx
pop ecx
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x98]
test eax, eax
je 0x415fa0
add esi, 0x28
inc edx
movzx eax, cx
cmp edx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x14c], esi
jb 0x415f51
movzx eax, cx
cmp edx, eax
jb 0x415fb2
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.00440b49
pop ecx
lea eax, [esi + 0xc]
push eax
push 4
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
lea eax, [esi + 0x10]
push eax
push 4
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
lea eax, [esi + 0x14]
push eax
push 4
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
mov eax, dword [ebp - 0x168]
test eax, eax
jne 0x416018
push ebx
push 9
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x416028
push eax
lea ecx, [ebp - 0xd9c]
call fcn.00447fd9
test al, al
jne 0x416032
push ebx
push 0xa
call fcn.0040a031
pop ecx
pop ecx
call fcn.004340f6
mov ecx, dword [ebp - 0x1f4]
add ecx, eax
mov dword [ebp - 0x1f4], ecx
mov dword [0x4dded8], ecx
call fcn.0041230f
cmp eax, 0xa4f23de5
je 0x416061
push ebx
push 0x14
call fcn.0040a031
pop ecx
pop ecx
call fcn.00412333
mov esi, eax
push str.43.0.1
push esi
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
je 0x41608f
mov ecx, dword [0x4df308]
push ecx
push esi
push ecx
push str.The_installer_version__43.0.1__does_not_match_the_version_of__s___s_.__Close_all_applications_and_reinstall__s.
call fcn.00440c2d
add esp, 0x10
call fcn.0041230f
mov dword [0x4dded0], eax
call fcn.0041230f
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
jle 0x4160b2
cmp esi, 0x3200000
jl 0x4160bc
push ebx
push 0x16
call fcn.0040a031
pop ecx
pop ecx
call fcn.0041230f
mov dword [ebp + 8], eax
call fcn.0041230f
mov dword [ebp - 0x260], eax
call fcn.0041230f
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x4160e5
push ebx
push 0x2d
call fcn.0040a031
pop ecx
pop ecx
call fcn.0041230f
mov dword [ebp - 0x16c], eax
test eax, eax
jns 0x4160fe
push ebx
push 0x1b
call fcn.0040a031
pop ecx
pop ecx
call fcn.0041230f
mov dword [ebp - 0x7c], eax
test eax, eax
jns 0x416114
push ebx
push 0x1d
call fcn.0040a031
pop ecx
pop ecx
call fcn.0041230f
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x64], ebx
cmp dword [ebp - 0x16c], ebx
jle 0x41616c
mov esi, dword [ebp - 0x16c]
call fcn.0041230f
mov dword [ebp - 0x38], eax
test eax, eax
js 0x416143
cmp eax, 0x40000000
jle 0x41614d
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 - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp eax, esi
jl 0x416130
mov esi, dword [ebp - 0x144]
test dword [0x4dded0], 0x1000
je 0x4161b5
lea ecx, [ebp - 0xaa4]
call fcn.00428bf1
push 8
lea eax, [ebp - 0xaa4]
push eax
call fcn.004122f0
push ecx
mov ecx, esp
lea eax, [ebp - 0xaa4]
push eax
call fcn.004082e7
mov ecx, 0x4de0b8
call fcn.0042330f
lea ecx, [ebp - 0xaa4]
call fcn.00426528
mov eax, esi
sub eax, dword [ebp - 0x1f4]
add eax, dword [0x4dded8]
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x30]
call fcn.00401a6c
push esi
lea eax, [ebp - 0x24]
push eax
call fcn.004122f0
pop ecx
pop ecx
test dword [0x4dded0], 0x1000
jne 0x4161f7
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x24]
call fcn.004327e1
jmp 0x416212
mov esi, 0x4de0b8
mov ecx, esi
call fcn.00423225
lea eax, [ebp - 0x24]
push eax
push eax
mov ecx, esi
call fcn.004230bd
mov esi, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x41622c
push ebx
push 0x2f
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4ddec8
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4ddee6], bl
je 0x416271
mov ecx, dword [0x4ddec8]
and ecx, 0x7fffff7f
mov eax, dword [0x4ddecc]
and eax, 0xfff7ede3
or ecx, 0x30600000
or eax, 0x800
mov dword [0x4ddec8], ecx
mov dword [0x4ddecc], eax
call fcn.00457884
test al, al
je 0x416283
call fcn.0045795c
test eax, eax
je 0x41628d
and dword [0x4dded0], 0xfffffbff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xd9]
push ecx
lea ecx, [ebp - 0x30]
call eax
movzx eax, byte [ebp - 0xd9]
sub eax, 1
je 0x4162c1
sub eax, 1
jne 0x4162c8
cmp byte [0x4ddee6], bl
jne 0x4162c8
mov byte [0x4ddec0], bl
jmp 0x4162c8
mov byte [0x4ddec0], 1
mov ecx, dword [0x4ddecc]
and ecx, 0x100
mov eax, ebx
or eax, ecx
mov byte [0x4dfb60], 1
jne 0x4162e7
mov byte [0x4dfb60], bl
push 0x4dfb40
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4dfb84
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4dfb9c
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 [0x4ddec8]
and eax, 0x20000000
or eax, ebx
jne 0x416353
movzx eax, byte [0x4ddee5]
push eax
push ebx
push dword [0x4ddeb0]
call fcn.00454dad
mov dword [0x4ddeb4], eax
push eax
call fcn.0040eb22
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.0046b9e0
pop ecx
cmp eax, esi
je 0x41636b
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 - 0x60]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, 0x270f
cmp word [ebp - 0x60], ax
jbe 0x416390
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 0x4ddee4
lea ecx, [ebp - 0x30]
call eax
mov dword [ebp - 0x1668], ebx
or dword [ebp - 0x1660], 0xffffffff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x18
lea ecx, [ebp - 0x166c]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4ddff4
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0xabc]
call fcn.00428bf1
lea eax, [ebp - 0xabc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
cmp dword [0x4ddfec], ebx
jg 0x416403
lea eax, [ebp - 0xabc]
push eax
mov ecx, 0x4ddfe8
call fcn.00425796
lea ecx, [ebp - 0xabc]
call fcn.00426528
push 0x4ddfdc
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
cmp dword [0x4ddfe0], ebx
jg 0x416432
push 0x4ddfe8
mov ecx, 0x4ddfdc
call fcn.004237f3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4ddec2
lea ecx, [ebp - 0x30]
call eax
mov byte [ebp + 0xb], bl
cmp byte [0x4ddec2], 1
jne 0x416462
push 0x4ddec4
call fcn.00459189
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 - 0xea]
push eax
lea ecx, [ebp - 0x30]
call edx
push 0x4de060
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
cmp dword [0x4de064], ebx
jg 0x4164ae
mov ecx, 0x4ddff4
call fcn.0040b46c
mov ecx, 0x4de060
test al, al
jne 0x4164a4
push 0x4ddff4
jmp 0x4164a9
push 0x4ddfe8
call fcn.004237f3
lea ecx, [ebp - 0x25c]
call fcn.00428bf1
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4de024
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
cmp dword [0x4de028], ebx
jg 0x4164ec
push 0x4ddfe8
mov ecx, 0x4de024
call fcn.004237f3
push 0x4de090
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push ebx
push 0x4df250
push 0x4de090
call fcn.0045983d
add esp, 0xc
lea ecx, [ebp - 0xc0]
call fcn.00428bf1
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
cmp dword [ebp - 0xbc], ebx
jg 0x416545
push 0x4ddfe8
lea ecx, [ebp - 0xc0]
call fcn.004237f3
mov esi, closesocket
jmp 0x416585
push ebx
mov esi, closesocket
push esi
push ebx
push 1
lea eax, [ebp - 0x1528]
push eax
call fcn.00458ff4
pop ecx
push eax
push str._os_
lea ecx, [ebp - 0xc0]
call fcn.0042ee7e
lea ecx, [ebp - 0x1528]
call fcn.00426528
lea eax, [ebp - 0xc0]
push eax
call fcn.0040b549
pop ecx
push str._master_
lea ecx, [ebp - 0xc0]
call fcn.0042767c
test al, al
jne 0x41660b
push esi
push 0x4a0014
lea ecx, [ebp - 0xc0]
call fcn.0042b5d3
test al, al
jne 0x41660b
push esi
push 0x4a0020
lea ecx, [ebp - 0xc0]
call fcn.0042b5d3
test al, al
jne 0x41660b
xor eax, eax
cmp byte [0x4ddec2], 1
sete al
inc eax
push eax
lea eax, [ebp - 0xc64]
push eax
call fcn.0046737c
pop ecx
pop ecx
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0xc64]
push eax
call fcn.004082e7
lea eax, [ebp - 0xc0]
push eax
call fcn.00445c0c
add esp, 0x14
lea ecx, [ebp - 0xc64]
call fcn.00426528
lea ecx, [ebp - 0x250]
call fcn.00428bf1
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4de054
lea ecx, [ebp - 0x30]
call fcn.0042c447
lea ecx, [ebp - 0x3d0]
call fcn.00428bf1
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x244]
call fcn.00428bf1
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4dfc10
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4dfc10]
test eax, eax
js 0x416685
cmp eax, 0x64
jle 0x41668f
push ebx
push 0x27
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4dfc14
lea ecx, [ebp - 0x30]
call eax
push 0x4ddf28
lea ecx, [ebp - 0x30]
call fcn.0042ca08
push 0x4df238
lea ecx, [ebp - 0x30]
call fcn.0042c3ee
lea ecx, [ebp - 0x2e0]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x1ec]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x1ec]
test eax, eax
js 0x4166e7
cmp eax, 0x14
jle 0x4166f7
push ebx
push 0x18
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x1ec], ebx
jle 0x416734
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.0042c447
inc esi
cmp esi, dword [ebp - 0x1ec]
jl 0x41670d
lea ecx, [ebp - 0x2f4]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x26c]
test eax, eax
js 0x416761
cmp eax, 0x14
jle 0x416771
push ebx
push 0x1a
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x26c], ebx
jle 0x4167ae
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.0042c447
inc esi
cmp esi, dword [ebp - 0x26c]
jl 0x416787
push 0x4df214
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x3c0]
call fcn.00428bf1
lea eax, [ebp - 0x3c0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c398
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0xb4]
call fcn.0040b48a
test al, al
je 0x416803
push 0x4ddfe8
lea ecx, [ebp - 0xb4]
call fcn.004237f3
lea ecx, [ebp - 0x1c4]
call fcn.00428bf1
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
push 0x4de09c
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
pop esi
push esi
push 0x4dfb50
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb4c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb64
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb74
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfb75
lea ecx, [ebp - 0x30]
call eax
push 0x4dfb78
lea ecx, [ebp - 0x30]
call fcn.0042c3ee
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb6c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfb70
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4dfb6c]
cmp eax, dword [0x4dfb70]
sete byte [0x4dfb68]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3dc]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x3dc], ebx
jle 0x416944
lea ecx, [ebp - 0xa28]
call fcn.00428bf1
push dword [ebp - 0x3dc]
lea eax, [ebp - 0xa28]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c592
mov eax, 0x49bb60
cmp dword [ebp - 0xa28], ebx
cmovne eax, dword [ebp - 0xa28]
push dword [ebp - 0x3dc]
push eax
mov ecx, 0x4dfbcc
call fcn.00421778
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x7a0]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x7a0]
mov dword [0x4dfbe8], eax
lea ecx, [ebp - 0xa28]
call fcn.00426528
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4dfba4
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4dfba4], bl
je 0x416998
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4dfbb4
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4dfbb8
lea ecx, [ebp - 0x30]
call eax
push 0x4dfba8
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4dfbc0
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov eax, dword [0x4ddec8]
and eax, 0x10
or eax, ebx
je 0x4169e9
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3e0]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x3e0]
mov dword [0x4dfb58], eax
push eax
mov ecx, 0x4dfb5c
call fcn.00462456
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3e0]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x3e0]
mov dword [0x4dfb54], eax
lea ecx, [ebp - 0x29c]
call fcn.00428bf1
lea ecx, [ebp - 0x1d0]
call fcn.00428bf1
lea ecx, [ebp - 0x290]
call fcn.00428bf1
mov eax, dword [0x4ddec8]
and eax, 0x10000
or eax, ebx
je 0x416a45
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x39c]
call fcn.00428bf1
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x1dc]
call fcn.00428bf1
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x3b4]
call fcn.00428bf1
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c447
cmp dword [ebp - 0x1d8], ebx
jg 0x416abd
mov ecx, dword [0x4ddecc]
and ecx, 0x4000000
mov eax, ebx
or eax, ecx
je 0x416abd
push 0x4ddfe8
lea ecx, [ebp - 0x1dc]
call fcn.004237f3
mov esi, edi
cmp dword [ebp - 0x1dc], ebx
cmovne esi, dword [ebp - 0x1dc]
cmp byte [0x4ddee4], 1
jne 0x416ae9
lea eax, [ebp - 0x154c]
push eax
call fcn.00466bd1
pop ecx
mov ecx, eax
xor eax, eax
inc eax
jmp 0x416afb
lea eax, [ebp - 0x1540]
push eax
call fcn.00466c80
pop ecx
mov ecx, eax
push 2
pop eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], eax
mov eax, edi
cmp dword [ecx], ebx
cmovne eax, dword [ecx]
push esi
push eax
lea eax, [ebp - 0x1534]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
mov esi, 0x4de078
mov ecx, esi
call fcn.00425796
lea ecx, [ebp - 0x1534]
call fcn.00426528
mov eax, dword [ebp - 0x34]
test al, 2
je 0x416b4f
and eax, 0xfffffffd
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x1540]
call fcn.00426528
mov eax, dword [ebp - 0x34]
test al, 1
je 0x416b67
and eax, 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x154c]
call fcn.00426528
push 0xffffffffffffffff
push 0x4de06c
push esi
call fcn.004455f4
add esp, 0xc
lea ecx, [ebp - 0x390]
call fcn.00428bf1
lea ecx, [ebp - 0x384]
call fcn.00428bf1
lea ecx, [ebp - 0x378]
call fcn.00428bf1
lea ecx, [ebp - 0x468]
call fcn.00428bf1
lea ecx, [ebp - 0x45c]
call fcn.00428bf1
lea ecx, [ebp - 0x450]
call fcn.00428bf1
lea ecx, [ebp - 0x444]
call fcn.00428bf1
lea eax, [ebp - 0x390]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0xbcc]
call fcn.00433603
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 - 0x7a4]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xe9]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4ddfb8
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4de0a8
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df2ac
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4ddf44
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df288
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4ddfd0
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df108
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df120
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df294
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4df220
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4de03c
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4ddfc4
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
push 0x4de000
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x36c]
call fcn.00428bf1
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
lea ecx, [ebp - 0x4a4]
call fcn.00428bf1
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c398
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x4ddf20
call fcn.0043355f
push 0x4de084
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x360]
call fcn.00428bf1
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x354]
call fcn.00428bf1
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x348]
call fcn.00428bf1
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x2c
push 0x4ddee8
lea ecx, [ebp - 0x30]
call eax
lea ecx, [ebp - 0x5d8]
call fcn.00401a6c
mov eax, dword [0x4ddec8]
and eax, 4
or eax, ebx
je 0x416dee
lea eax, [ebp - 0x5cc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c447
lea ecx, [ebp - 0x820]
call fcn.00428bf1
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
push str.THE_END
lea ecx, [ebp - 0x820]
call fcn.0042750e
test al, al
je 0x420f70
lea ecx, [ebp - 0x820]
call fcn.00426528
mov dword [ebp - 0x134], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov esi, dword [ebp - 0x134]
test esi, esi
js 0x416e56
cmp esi, 0x3e8
jle 0x416e66
push ebx
push 0x24
call fcn.0040a031
pop ecx
pop ecx
mov esi, dword [ebp - 0x134]
lea ecx, [ebp - 0x438]
call fcn.00407d18
jmp 0x416efe
dec esi
mov dword [ebp - 0x134], esi
push ebx
lea ecx, [ebp - 0x438]
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.0042c8d3
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c8d3
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [esi + 0x4c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ca31
lea eax, [esi + 0x58]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
mov esi, dword [ebp - 0x134]
test esi, esi
jg 0x416e76
dec esi
mov dword [ebp - 0x134], 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 0x416f3b
cmp eax, 0x3e8
jle 0x416ffd
push ebx
push 0x30
call fcn.0040a031
pop ecx
pop ecx
jmp 0x416ff7
dec eax
mov dword [ebp - 0x138], eax
push ebx
mov ecx, 0x4ddf34
call fcn.004092d9
mov esi, eax
mov byte [esi + 4], 1
lea ecx, [esi + 8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [esi + 0x14]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
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.0042c8d3
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 0x416f4a
dec eax
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x2cc]
call fcn.00428bf1
lea ecx, [ebp - 0x2a8]
call fcn.00428bf1
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c2d7
lea ecx, [ebp - 0x238]
call fcn.00428bf1
lea ecx, [ebp - 0x1e8]
call fcn.00428bf1
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ca31
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ca31
mov dword [ebp - 0x13c], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x13c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov esi, dword [ebp - 0x13c]
test esi, esi
js 0x41709f
cmp esi, 0x3e8
jle 0x4170af
push ebx
push 0x25
call fcn.0040a031
pop ecx
pop ecx
mov esi, dword [ebp - 0x13c]
lea ecx, [ebp - 0x4b8]
call fcn.00407d44
jmp 0x4170fc
dec esi
mov dword [ebp - 0x13c], esi
push ebx
lea ecx, [ebp - 0x4b8]
call fcn.00409484
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c398
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.0042c2d7
mov esi, dword [ebp - 0x13c]
test esi, esi
jg 0x4170bc
dec esi
mov dword [ebp - 0x13c], esi
lea ecx, [ebp - 0x498]
call fcn.00428bf1
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3ee
lea ecx, [ebp - 0x3a8]
call fcn.00428bf1
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c447
mov dword [ebp - 0x38], ebx
push ebx
mov ecx, 0x4ddfa8
call fcn.00409297
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c3ee
push str.THEEND
lea ecx, [ebp - 0xb7c]
call fcn.0040837f
lea eax, [ebp - 0xb7c]
push eax
mov ecx, esi
call fcn.004274cc
mov bl, al
lea ecx, [ebp - 0xb7c]
call fcn.00426528
test bl, bl
je 0x420f0a
mov ecx, 0x4ddfa8
call fcn.00407077
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0x15]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov al, byte [ebp - 0x15]
test al, al
je 0x4171b0
cmp al, 0xc8
ja 0x4171b0
xor ebx, ebx
jmp 0x4171bc
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 - 0x164]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x164], 0
jle 0x4171e4
cmp dword [ebp - 0x164], 0x2710
jle 0x4171ee
push ebx
push 0x1f
call fcn.0040a031
pop ecx
pop ecx
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, 0x4d12b4
call fcn.004052ab
mov edx, ebx
mov dword [ebp - 0x64], edx
cmp byte [ebp - 0x15], 0
jbe 0x41724a
push edx
mov ecx, 0x4d12b4
call fcn.0040523c
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042ca31
push str.English
mov ecx, esi
call fcn.00427745
mov ecx, dword [0x4dded4]
test al, al
mov edx, dword [ebp - 0x64]
cmovne ecx, edx
mov dword [0x4dded4], ecx
inc edx
mov dword [ebp - 0x64], edx
movzx eax, byte [ebp - 0x15]
cmp edx, eax
jl 0x417208
push dword [ebp - 0x164]
mov ecx, 0x4d12c0
call fcn.00405dd4
mov ecx, ebx
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x164], 0
jle 0x4172e0
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 - 0x15]
push ecx
mov ecx, esi
call edx
mov ecx, ebx
mov dword [ebp - 0x9c], ecx
cmp byte [ebp - 0x15], 0
jbe 0x4172d1
push ecx
mov ecx, esi
call fcn.004043c2
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042ca31
mov ecx, esi
call fcn.00425d39
mov ecx, dword [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x9c], ecx
movzx eax, byte [ebp - 0x15]
cmp ecx, eax
mov esi, dword [ebp - 0x38]
jl 0x41729f
mov ecx, dword [ebp - 0x64]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [ebp - 0x164]
jl 0x417268
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x64], 0xd3e82b97
je 0x417303
push ebx
push 0x20
call fcn.0040a031
pop ecx
pop ecx
push 0x4de09c
call fcn.0041575b
call fcn.0045ac7b
mov ecx, 0x49bb60
mov eax, dword [0x4ddf44]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e05b
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.00428bf1
push dword [ebp - 0x168]
push ebx
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.00448130
test al, al
jne 0x41735d
push ebx
push 0x23
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [0x4ddf10]
sub eax, 1
je 0x4173ba
sub eax, 1
jne 0x4173f3
mov eax, edi
cmp dword [ebp - 0x194], 0
cmovne eax, dword [ebp - 0x194]
push ebx
push eax
call fcn.00401f84
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x4173f3
cmp esi, 3
jle 0x4173a3
cmp esi, 0xb
jle 0x4173f3
cmp esi, 0xd
je 0x4173f3
cmp esi, 0x11
je 0x4173f3
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x800b010a
je 0x4173f3
push 1
lea eax, [esi + 0x3e8]
push eax
jmp 0x4173ec
movzx eax, word [ebp - 0x84]
add eax, 0x5c
mov esi, dword [ebp - 0xc8]
sub esi, eax
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042b887
push esi
push eax
call fcn.0046b9c2
pop ecx
pop ecx
cmp eax, dword [ebp - 0x260]
je 0x4173f3
push ebx
push 0x28
call fcn.0040a031
pop ecx
pop ecx
lea ecx, [ebp - 0xd9c]
test byte [0x4dded0], 0x20
jne 0x41741c
call fcn.00448783
mov dword [0x4ddf14], eax
lea ecx, [ebp - 0xcc]
call fcn.00426528
jmp 0x41755a
call fcn.00448783
mov ecx, dword [ebp - 0x168]
sub eax, ecx
mov edx, dword [ebp - 0x1f0]
sub eax, edx
mov dword [ebp - 0x38], eax
test eax, eax
jle 0x417465
lea esi, [ecx + edx]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004242aa
push esi
push dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
test al, al
jne 0x417465
push ebx
push 0x2a
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
dec eax
push eax
movzx eax, word [ebp - 0x84]
add eax, 6
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c2af
movzx eax, word [ebp - 0x84]
push 0x20
pop esi
add eax, esi
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c1ee
sub eax, dword [ebp - 0x1f0]
movzx ecx, word [ebp - 0x84]
add ecx, esi
push eax
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0042c239
movzx eax, word [ebp - 0x84]
add eax, 0x50
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c1ee
sub eax, dword [ebp - 0x1f0]
movzx ecx, word [ebp - 0x84]
add ecx, 0x50
push eax
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0042c239
mov esi, 0x49bb60
cmp dword [ebp - 0xcc], 0
cmovne esi, dword [ebp - 0xcc]
add esi, dword [ebp - 0x14c]
movzx eax, word [ebp - 0x98]
cmp dword [ebp - 0x40], eax
ja 0x41754f
lea eax, [esi + 0x28]
mov dword [ebp - 0x38], eax
push 0x28
push eax
push esi
call fcn.0047fed0
add esp, 0xc
mov ecx, dword [ebp - 0x98]
movzx eax, cx
dec eax
mov edx, dword [ebp - 0x40]
cmp edx, eax
jae 0x417541
mov eax, dword [ebp - 0x1f0]
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 0x41750f
mov eax, dword [ebp - 0xc8]
mov dword [0x4ddf14], eax
cmp byte [ebp - 0x15], 1
je 0x417768
cmp byte [0x4ddec0], 0
jne 0x417768
mov ecx, str.LanguageDlg3
mov eax, dword [0x4ddef4]
sub eax, ebx
je 0x417598
sub eax, 1
je 0x417591
dec eax
sub eax, 1
jne 0x41759d
mov ecx, str.LanguageDlg4
jmp 0x41759d
mov ecx, str.LanguageDlg
jmp 0x41759d
mov ecx, str.LanguageDlg2
push ebx
push ebx
push 0x40cdb3
push dword [0x4ddeb4]
push ecx
call fcn.004628ec
add esp, 0x14
cmp eax, 0x3eb
jne 0x417768
mov eax, dword [0x4ddfc4]
test eax, eax
mov ecx, 0x49bb60
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e05b
push 1
call fcn.0040c19f
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.00426528
lea ecx, [ebp - 0x3a8]
call fcn.00426528
lea ecx, [ebp - 0x498]
call fcn.00426528
mov dword [ebp - 0x4b8], 0x49fbb8
lea ecx, [ebp - 0x4b8]
call fcn.0040aba0
lea ecx, [ebp - 0x1e8]
call fcn.00426528
lea ecx, [ebp - 0x238]
call fcn.00426528
lea ecx, [ebp - 0x2a8]
call fcn.00426528
lea ecx, [ebp - 0x2cc]
call fcn.00426528
mov dword [ebp - 0x438], 0x49f388
lea ecx, [ebp - 0x438]
call fcn.0040aaea
lea ecx, [ebp - 0x5cc]
call fcn.00426528
lea ecx, [ebp - 0x348]
call fcn.00426528
lea ecx, [ebp - 0x354]
call fcn.00426528
lea ecx, [ebp - 0x360]
call fcn.00426528
lea ecx, [ebp - 0x4a4]
call fcn.00426528
lea ecx, [ebp - 0x36c]
call fcn.00426528
lea ecx, [ebp - 0x444]
call fcn.00426528
lea ecx, [ebp - 0x450]
call fcn.00426528
lea ecx, [ebp - 0x45c]
call fcn.00426528
lea ecx, [ebp - 0x468]
call fcn.00426528
lea ecx, [ebp - 0x378]
call fcn.00426528
lea ecx, [ebp - 0x384]
call fcn.00426528
lea ecx, [ebp - 0x390]
call fcn.00426528
lea ecx, [ebp - 0x3b4]
call fcn.00426528
lea ecx, [ebp - 0x1dc]
call fcn.00426528
lea ecx, [ebp - 0x39c]
call fcn.00426528
lea ecx, [ebp - 0x290]
call fcn.00426528
lea ecx, [ebp - 0x1d0]
call fcn.00426528
lea ecx, [ebp - 0x29c]
call fcn.00426528
lea ecx, [ebp - 0x1c4]
call fcn.00426528
lea ecx, [ebp - 0x3c0]
call fcn.00426528
mov esi, 0x49cb54
mov dword [ebp - 0x2f4], esi
lea ecx, [ebp - 0x2f4]
call fcn.0040ab45
mov dword [ebp - 0x2e0], esi
lea ecx, [ebp - 0x2e0]
call fcn.0040ab45
jmp 0x420e76
push ebx
lea eax, [ebp - 0x1558]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
mov ecx, 0x4dfb90
call fcn.00408887
lea ecx, [ebp - 0x1558]
call fcn.00426528
push 0x72
lea eax, [ebp - 0xad4]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xad0], 0
jle 0x4177b7
lea eax, [ebp - 0xad4]
push eax
mov ecx, 0x4de09c
call fcn.00425796
lea ecx, [ebp - 0xad4]
call fcn.00426528
mov eax, dword [0x4ddeb4]
test eax, eax
je 0x4177dc
push 1
push ebx
push eax
call fcn.00464040
add esp, 0xc
call fcn.004648e7
mov al, byte [0x4ddec2]
cmp al, 2
je 0x4177ed
cmp al, 1
jne 0x417871
call fcn.0045753b
movzx ecx, al
xor eax, eax
mov dl, byte [0x4ddec2]
cmp dl, 2
sete al
cmp eax, ecx
jne 0x417860
cmp byte [0x4ddec0], 0
je 0x41781e
push 1
call fcn.0040c19f
pop ecx
mov dl, byte [0x4ddec2]
cmp dl, 2
push 0x20
pop eax
push 0x40
pop ebx
cmove ebx, eax
push 0x51
lea eax, [ebp - 0x1564]
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 - 0x1564]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
jmp 0x4175de
cmp byte [ebp + 0xb], 0
je 0x417871
push str.Wow64DisableWow64FsRedirection___failed
call fcn.00440b49
pop ecx
lea ecx, [ebp - 0xbcc]
call fcn.004332d7
test al, al
jne 0x41797e
push 0x7f02
call fcn.00464b2d
push eax
call fcn.00464ade
pop ecx
pop ecx
call fcn.0046496b
lea ecx, [ebp - 0x16f0]
call fcn.00407f42
lea eax, [ebp - 0x16f0]
push eax
call fcn.00453e0f
pop ecx
test al, al
jne 0x4178c2
lea ecx, [ebp - 0x16f0]
call fcn.00433a9f
push 0x7f00
call fcn.00464b2d
push eax
call fcn.00464ade
pop ecx
pop ecx
call fcn.0046496b
lea eax, [ebp - 0xbcc]
push eax
lea ecx, [ebp - 0x16f0]
call fcn.00432bdd
test eax, eax
jle 0x41797e
lea ecx, [ebp - 0xa04]
call fcn.00428bf1
push 0x1400
push ebx
lea eax, [ebp - 0x1570]
push eax
lea ecx, [ebp - 0xbcc]
call fcn.0043324c
push eax
lea ecx, [ebp - 0xa04]
call fcn.00425796
lea ecx, [ebp - 0x1570]
call fcn.00426528
mov esi, edi
cmp dword [ebp - 0xa04], 0
cmovne esi, dword [ebp - 0xa04]
push 0x3c
lea eax, [ebp - 0x1588]
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 - 0x1588]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0xa04]
call fcn.00426528
jmp 0x4175de
call fcn.0045756c
test dword [ebp - 0x7a4], eax
je 0x417a16
lea ecx, [ebp - 0x9d4]
call fcn.00428bf1
mov esi, dword [0x4d1290]
push 3
lea eax, [ebp - 0x1594]
push eax
call fcn.004576c8
push esi
lea ecx, [ebp - 0x9d4]
push ecx
push eax
call fcn.0045983d
add esp, 0x14
lea ecx, [ebp - 0x1594]
call fcn.00426528
mov esi, edi
cmp dword [ebp - 0x9d4], 0
cmovne esi, dword [ebp - 0x9d4]
push 0x3d
lea eax, [ebp - 0x15a0]
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 - 0x15a0]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x9d4]
jmp 0x417974
mov ecx, dword [0x4ddec8]
mov eax, ecx
and eax, 0x10000
or eax, ebx
je 0x417c26
lea ecx, [ebp - 0x29c]
call fcn.0040b46c
test al, al
je 0x417a4a
push 0x4ddfe8
lea ecx, [ebp - 0x29c]
call fcn.004237f3
lea ecx, [ebp - 0x1d0]
call fcn.0040b46c
test al, al
je 0x417a69
push 0x4ddfe8
lea ecx, [ebp - 0x1d0]
call fcn.004237f3
push str._master_
lea ecx, [ebp - 0xc0]
call fcn.0042767c
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x668]
call fcn.00428bf1
lea ecx, [ebp - 0x65c]
call fcn.00428bf1
mov ecx, edi
cmp dword [ebp - 0x29c], 0
cmovne ecx, dword [ebp - 0x29c]
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x668]
push eax
push ecx
call fcn.00455dc7
add esp, 0xc
cmp byte [ebp + 0xb], 0
je 0x417acd
movzx eax, al
xor ecx, ecx
cmp dword [ebp - 0x664], ecx
cmovle eax, ecx
test al, al
jne 0x417b28
mov esi, edi
cmp dword [ebp - 0x1d0], 0
cmovne esi, dword [ebp - 0x1d0]
push 0xc
lea eax, [ebp - 0x15ac]
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 - 0x15ac]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x65c]
call fcn.00426528
lea ecx, [ebp - 0x668]
jmp 0x417974
cmp dword [ebp - 0x28c], 0
jle 0x417bf2
mov eax, 0x49bb60
mov ecx, eax
cmp dword [ebp - 0x290], 0
cmovne ecx, dword [ebp - 0x290]
cmp dword [ebp - 0x65c], 0
cmovne eax, dword [ebp - 0x65c]
push ecx
push eax
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
jns 0x417bf2
lea ecx, [ebp - 0x9a4]
call fcn.00428bf1
push dword [0x4d1290]
lea eax, [ebp - 0x9a4]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.0045983d
cmp dword [ebp - 0x1d0], 0
cmovne edi, dword [ebp - 0x1d0]
mov ebx, 0x49bb64
mov esi, ebx
cmp dword [ebp - 0x9a4], 0
cmovne esi, dword [ebp - 0x9a4]
push 0x70
lea eax, [ebp - 0x15b8]
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 - 0x15b8]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x9a4]
call fcn.00426528
jmp 0x417b12
cmp byte [ebp + 0xb], 0
je 0x417c0a
lea eax, [ebp - 0x668]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00425796
lea ecx, [ebp - 0x65c]
call fcn.00426528
lea ecx, [ebp - 0x668]
call fcn.00426528
mov ecx, dword [0x4ddec8]
and ecx, 0x100
or ecx, ebx
je 0x417c7b
push ebx
push dword [0x4d1330]
mov esi, 0x4df268
mov ecx, esi
call fcn.0046813b
test al, al
je 0x417c7b
push ebx
mov ecx, esi
call fcn.00468923
test al, al
jne 0x417c7b
push 0x5b
lea eax, [ebp - 0x15c4]
push eax
call fcn.00408c01
cmp dword [eax], 0
cmovne edi, dword [eax]
push edi
call fcn.0040b3f6
add esp, 0xc
lea ecx, [ebp - 0x15c4]
jmp 0x41784e
lea ecx, [ebp - 0x52c]
call fcn.00428bf1
lea ecx, [ebp - 0x650]
call fcn.00428bf1
lea ecx, [ebp - 0x9bc]
call fcn.00428bf1
lea ecx, [ebp - 0x9b0]
call fcn.00428bf1
mov eax, dword [0x4ddec8]
and eax, 4
or eax, ebx
je 0x417e8e
mov esi, edi
cmp dword [ebp - 0xb4], 0
cmovne esi, dword [ebp - 0xb4]
call fcn.004663f6
push esi
push eax
lea eax, [ebp - 0x15d0]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
lea ecx, [ebp - 0x9b0]
call fcn.00425796
lea ecx, [ebp - 0x15d0]
call fcn.00426528
lea ecx, [ebp - 0x17b8]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x9b0], 0
cmovne eax, dword [ebp - 0x9b0]
push 0x2000f
push 0x40
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x17b8]
call fcn.0045e849
mov esi, 0x49cd2d
test eax, eax
je 0x417e11
push 0x1000
push esi
push 0x49f5d4
lea eax, [ebp - 0x15dc]
push eax
lea ecx, [ebp - 0x17b8]
call fcn.0045dd3a
push eax
lea ecx, [ebp - 0x52c]
call fcn.00425796
lea ecx, [ebp - 0x15dc]
call fcn.00426528
push ebx
push esi
push str.DisplayVersion
lea eax, [ebp - 0x15e8]
push eax
lea ecx, [ebp - 0x17b8]
call fcn.0045dd3a
push eax
mov esi, 0x4de018
mov ecx, esi
call fcn.00408887
lea ecx, [ebp - 0x15e8]
call fcn.00426528
push ebx
push 0x4df244
push esi
call fcn.0045983d
add esp, 0xc
push ebx
mov esi, 0x49cd2d
push esi
push str.SharedFiles
lea eax, [ebp - 0x1678]
push eax
lea ecx, [ebp - 0x17b8]
call fcn.0045dd3a
push eax
lea ecx, [ebp - 0x650]
call fcn.00408887
lea ecx, [ebp - 0x1678]
call fcn.00426528
push 0x1000
push esi
push str.ProductStartMenu
lea eax, [ebp - 0x1684]
push eax
lea ecx, [ebp - 0x17b8]
call fcn.0045dd3a
push eax
lea ecx, [ebp - 0x9bc]
call fcn.00408887
lea ecx, [ebp - 0x1684]
call fcn.00426528
cmp dword [ebp - 0x528], 0
jg 0x417e5a
mov eax, 0x49bb60
cmp dword [ebp - 0x1c4], 0
cmovne eax, dword [ebp - 0x1c4]
push 0x1000
push esi
push eax
lea eax, [ebp - 0x14ec]
push eax
call fcn.0045f744
add esp, 0x10
push eax
lea ecx, [ebp - 0x52c]
call fcn.00408887
lea ecx, [ebp - 0x14ec]
call fcn.00426528
test dword [0x4dded0], 0x2000
je 0x417e83
mov eax, 0x49bb60
cmp dword [ebp - 0x1c4], 0
cmovne eax, dword [ebp - 0x1c4]
push 2
push eax
call fcn.00408fe9
pop ecx
pop ecx
lea ecx, [ebp - 0x17b8]
call fcn.00408581
mov eax, edi
cmp dword [ebp - 0x52c], 0
cmovne eax, dword [ebp - 0x52c]
push eax
call fcn.004421e4
pop ecx
mov byte [ebp - 0x140], al
mov cl, byte [0x4ddec0]
test cl, cl
jne 0x417ede
cmp dword [ebp - 0x398], 0
jle 0x417ede
mov eax, edi
cmp dword [ebp - 0x39c], 0
cmovne eax, dword [ebp - 0x39c]
push 0x17
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov cl, byte [0x4ddec0]
mov eax, dword [0x4ddec8]
mov dword [ebp - 0x38], eax
and eax, 8
or eax, ebx
jne 0x417f11
test cl, cl
jne 0x417f97
mov eax, dword [0x4ddecc]
mov dword [ebp + 8], eax
mov ecx, eax
and ecx, 0x800
mov eax, ebx
or eax, ecx
jne 0x417f97
jmp 0x417f19
mov eax, dword [0x4ddecc]
mov dword [ebp + 8], eax
mov ebx, dword [0x4ddef0]
push 0x41
lea eax, [ebp - 0x157c]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, dword [0x4ddeb4]
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.00456a2c
add esp, 0x20
mov bl, al
lea ecx, [ebp - 0x157c]
call fcn.00426528
test bl, bl
jne 0x417f90
mov ecx, 0x49bb60
mov eax, dword [0x4ddfc4]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e05b
push 1
call fcn.0040c19f
add esp, 0xc
jmp 0x417f92
xor ebx, ebx
mov edi, 0x49bb64
call fcn.004118cb
test al, al
jne 0x417fa5
call fcn.00408ee6
cmp byte [0x4ddec0], 0
jne 0x418181
push 0x3f
lea eax, [ebp - 0xae0]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xadc], 0
jle 0x417fdd
lea eax, [ebp - 0xae0]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00407b1d
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x1624]
call fcn.00402541
jmp 0x418075
mov esi, dword [ebp - 0x1610]
cmp dword [esi + 4], ebx
jle 0x418075
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043e8ea
pop ecx
test al, al
jne 0x41801c
push esi
call fcn.0041575b
pop ecx
mov ecx, str.LicenseDlg3
mov eax, dword [0x4ddef8]
sub eax, ebx
je 0x418043
sub eax, 1
je 0x41803c
dec eax
sub eax, 1
jne 0x418048
mov ecx, str.LicenseDlg4
jmp 0x418048
mov ecx, str.LicenseDlg
jmp 0x418048
mov ecx, str.LicenseDlg2
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40d01e
push dword [0x4ddeb4]
push ecx
call fcn.004628ec
add esp, 0x14
cmp eax, 0x3eb
jne 0x418075
call fcn.00408ee6
lea ecx, [ebp - 0x1624]
call fcn.004025a6
test al, al
jne 0x417ff4
lea ecx, [ebp - 0xae0]
call fcn.00426528
cmp byte [0x4ddec0], 0
jne 0x418181
push 0x40
lea eax, [ebp - 0xaec]
push eax
call fcn.00408c01
pop ecx
pop ecx
cmp dword [ebp - 0xae8], 0
jle 0x4180cb
lea eax, [ebp - 0xaec]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.00407b1d
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x163c]
call fcn.00402541
jmp 0x418163
mov esi, dword [ebp - 0x1628]
cmp dword [esi + 4], ebx
jle 0x418163
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043e8ea
pop ecx
test al, al
jne 0x41810a
push esi
call fcn.0041575b
pop ecx
mov ecx, str.ReadmeDlg3
mov eax, dword [0x4ddefc]
sub eax, ebx
je 0x418131
sub eax, 1
je 0x41812a
dec eax
sub eax, 1
jne 0x418136
mov ecx, str.ReadmeDlg4
jmp 0x418136
mov ecx, str.ReadmeDlg
jmp 0x418136
mov ecx, str.ReadmeDlg2
mov eax, 0x49bb60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40da2b
push dword [0x4ddeb4]
push ecx
call fcn.004628ec
add esp, 0x14
cmp eax, 0x3eb
jne 0x418163
call fcn.00408ee6
lea ecx, [ebp - 0x163c]
call fcn.004025a6
test al, al
jne 0x4180e2
lea ecx, [ebp - 0xaec]
call fcn.00426528
cmp dword [0x4ddfac], 0
je 0x4181e2
push 1
call fcn.00409acf
mov dword [esp], 0x4ddfa8
lea ecx, [ebp - 0xca4]
call fcn.00402541
jmp 0x4181bc
mov eax, dword [ebp - 0xc90]
test byte [eax + 0x28], 2
jne 0x4181bc
lea ecx, [ebp - 0xca4]
call fcn.004021d5
lea ecx, [ebp - 0xca4]
call fcn.004025a6
test al, al
jne 0x4181a5
push 0x14d
call fcn.00464908
push dword [0x4ddeb4]
call fcn.00463f58
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 - 0xc0]
push eax
lea ecx, [ebp - 0x814]
call fcn.004082e7
push closesocket
push 0x4a0014
lea ecx, [ebp - 0x814]
call fcn.00426dc1
mov esi, ebx
test al, al
mov eax, reloc.OLEAUT32.dll_SysReAllocString
cmovne esi, eax
push closesocket
push 0x4a0020
lea ecx, [ebp - 0x814]
call fcn.00426dc1
mov ecx, closesocket
test al, al
cmovne esi, ecx
test esi, esi
je 0x41833b
lea ecx, [ebp - 0x1a1c]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x814], 0
cmovne eax, dword [ebp - 0x814]
push 0x40
push edi
push eax
push esi
lea eax, [ebp - 0x15f4]
push eax
lea ecx, [ebp - 0x1a1c]
call fcn.0045ddf5
push eax
mov esi, 0x4de030
mov ecx, esi
call fcn.00425796
lea ecx, [ebp - 0x15f4]
call fcn.00426528
cmp dword [0x4de034], 0
jg 0x4182c0
mov eax, edi
cmp dword [ebp - 0xc0], 0
cmovne eax, dword [ebp - 0xc0]
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 [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421e4
pop ecx
pop ecx
test al, al
jne 0x418310
mov edx, edi
cmp dword [ebp - 0xc0], 0
cmovne edx, dword [ebp - 0xc0]
mov ecx, edi
mov eax, dword [0x4de030]
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 0x4df270
push esi
call fcn.004455f4
add esp, 0xc
lea ecx, [ebp - 0x1a1c]
call fcn.00408581
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
jmp 0x419218
mov ecx, dword [0x4ddec8]
mov eax, ecx
and eax, 4
or eax, ebx
je 0x41893f
cmp byte [ebp - 0x140], 0
je 0x41893f
and ecx, 1
or ecx, ebx
je 0x41856c
cmp dword [ebp - 0x35c], 0
jle 0x4183a1
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x360], 0
cmovne edx, dword [ebp - 0x360]
mov ecx, eax
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
jns 0x41856c
mov byte [0x4ddec0], bl
lea ecx, [ebp - 0x584]
call fcn.00428bf1
lea ecx, [ebp - 0x1884]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xb4], 0
cmovne esi, dword [ebp - 0xb4]
call fcn.004663f6
push esi
push eax
lea eax, [ebp - 0x1600]
push eax
call fcn.00444fdf
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 - 0x1884]
call fcn.0045e849
mov esi, eax
lea ecx, [ebp - 0x1600]
call fcn.00426528
test esi, esi
je 0x41847d
push ebx
push edi
push 0x4a01c4
lea eax, [ebp - 0x1690]
push eax
lea ecx, [ebp - 0x1884]
call fcn.0045df0b
push eax
lea ecx, [ebp - 0x584]
call fcn.00425796
lea ecx, [ebp - 0x1690]
call fcn.00426528
cmp dword [ebp - 0x580], 0
jg 0x4184b8
push ebx
push edi
push 0x4a01f0
lea eax, [ebp - 0x169c]
push eax
lea ecx, [ebp - 0x1884]
call fcn.0045df0b
push eax
lea ecx, [ebp - 0x584]
call fcn.00425796
lea ecx, [ebp - 0x169c]
call fcn.00426528
cmp dword [ebp - 0x580], 0
jg 0x4184b8
push 9
lea eax, [ebp - 0xda8]
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 - 0xda8]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
push ebx
push ebx
push 0x40d48c
push dword [0x4ddeb4]
push str.MustUninstall
call fcn.004628ec
add esp, 0x14
cmp eax, 0x3e9
jne 0x41854e
call sub.KERNEL32.dll_GetCommandLineW
push eax
lea ecx, [ebp - 0x9ec]
call fcn.0040837f
push 1
push 0x60
push 0x22
lea ecx, [ebp - 0x9ec]
call fcn.0042ef8a
mov eax, edi
cmp dword [ebp - 0x9ec], 0
cmovne eax, dword [ebp - 0x9ec]
push ebx
push 0x49f174
push eax
push str.__r:_
lea eax, [ebp - 0x584]
push eax
call fcn.004240cd
mov eax, edi
cmp dword [ebp - 0x584], 0
cmovne eax, dword [ebp - 0x584]
push ebx
push ebx
push 0x880
push eax
call fcn.004579c5
add esp, 0x24
lea ecx, [ebp - 0x9ec]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x1884]
call fcn.00408581
lea ecx, [ebp - 0x584]
call fcn.00426528
lea ecx, [ebp - 0x1950]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xb4], 0
cmovne esi, dword [ebp - 0xb4]
call fcn.004663f6
push esi
push eax
lea eax, [ebp - 0xdb4]
push eax
call fcn.00444fdf
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 - 0x1950]
call fcn.0045e849
mov esi, eax
lea ecx, [ebp - 0xdb4]
call fcn.00426528
test esi, esi
je 0x4186bb
lea ecx, [ebp - 0x514]
call fcn.00428bf1
push ebx
push 0x49cd2d
push str.NoDowngradeBelow
lea eax, [ebp - 0xdc0]
push eax
lea ecx, [ebp - 0x1950]
call fcn.0045dd3a
push eax
lea ecx, [ebp - 0x514]
call fcn.00425796
lea ecx, [ebp - 0xdc0]
call fcn.00426528
lea ecx, [ebp - 0x514]
call fcn.00412634
cmp dword [ebp - 0x510], 0
jle 0x4186b0
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x514], 0
cmovne edx, dword [ebp - 0x514]
mov ecx, eax
mov eax, dword [0x4de090]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
jns 0x4186b0
cmp byte [0x4ddec0], 0
jne 0x4186a8
push ebx
lea eax, [ebp - 0x514]
push eax
call fcn.0045981a
mov esi, edi
cmp dword [ebp - 0x514], 0
cmovne esi, dword [ebp - 0x514]
push 0x6a
lea eax, [ebp - 0xdcc]
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 - 0xdcc]
call fcn.00426528
push 1
call fcn.0040c19f
pop ecx
lea ecx, [ebp - 0x514]
call fcn.00426528
lea ecx, [ebp - 0x1950]
call fcn.00408581
mov ecx, dword [0x4ddecc]
and ecx, 0x10
mov eax, ebx
or eax, ecx
je 0x418742
mov ecx, 0x4de018
call fcn.0040b46c
test al, al
jne 0x418742
mov ecx, 0x4de090
call fcn.0040b46c
test al, al
jne 0x418742
mov ecx, 0x49bb60
mov edx, ecx
mov eax, dword [0x4de090]
test eax, eax
cmovne edx, eax
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
jne 0x418726
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x64], 4
jmp 0x418749
js 0x418735
mov dword [ebp - 0x64], 6
mov byte [ebp - 0x80], 1
jmp 0x418749
mov dword [ebp - 0x64], 5
mov byte [ebp - 0x55], 1
jmp 0x418749
mov dword [ebp - 0x64], 3
cmp byte [0x4ddec0], 0
jne 0x418925
mov eax, dword [0x4ddec8]
and eax, 0x10000000
or eax, ebx
jne 0x418925
lea ecx, [ebp - 0x9f8]
call fcn.00428bf1
push 7
lea eax, [ebp - 0xde4]
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 - 0x52c], 0
cmovne ebx, dword [ebp - 0x52c]
mov esi, dword [0x4d13a4]
push dword [ebp - 0x64]
lea eax, [ebp - 0xdd8]
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 - 0x9f8]
push eax
call fcn.0042fa2c
add esp, 0x2c
lea ecx, [ebp - 0xdd8]
call fcn.00426528
lea ecx, [ebp - 0xde4]
call fcn.00426528
push 2
lea eax, [ebp - 0xdf0]
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 - 0x9f8], 0
cmovne eax, dword [ebp - 0x9f8]
push ecx
push eax
call fcn.0040f61e
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xdf0]
call fcn.00426528
test bl, bl
jne 0x41883e
call fcn.00408ee6
mov ecx, dword [0x4ddecc]
and ecx, 0x1000
xor ebx, ebx
mov eax, ebx
or eax, ecx
je 0x41891a
mov ecx, 0x4de018
call fcn.0040b46c
test al, al
jne 0x41891a
lea ecx, [ebp - 0x36c]
call fcn.0040b46c
test al, al
jne 0x4188a4
mov eax, 0x49bb60
mov edx, eax
cmp dword [ebp - 0x36c], ebx
cmovne edx, dword [ebp - 0x36c]
mov ecx, eax
mov eax, dword [0x4de018]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004314a0
pop ecx
pop ecx
test eax, eax
jns 0x41891a
push 0x14
lea eax, [ebp - 0xe08]
push eax
call fcn.00408c01
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push 0x48
lea eax, [ebp - 0xdfc]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040f54c
add esp, 0x18
mov bl, al
lea ecx, [ebp - 0xdfc]
call fcn.00426528
lea ecx, [ebp - 0xe08]
call fcn.00426528
test bl, bl
jne 0x418918
mov ecx, 0x49bb60
mov eax, dword [0x4ddfc4]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e05b
push 1
call fcn.0040c19f
add esp, 0xc
jmp 0x41891a
xor ebx, ebx
lea ecx, [ebp - 0x9f8]
call fcn.00426528
mov byte [ebp + 0xb], 1
push 0xffffffffffffffff
push 0x4df270
lea eax, [ebp - 0x52c]
push eax
call fcn.004455f4
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
cmp byte [ebp + 0xb], 0
jne 0x419213
cmp dword [0x4df274], 0
jg 0x418973
push 0xffffffffffffffff
push 0x4df270
lea eax, [ebp - 0xc0]
push eax
call fcn.004455f4
add esp, 0xc
push 0x5c
mov ecx, 0x4df270
call fcn.00426ed7
push ebx
mov esi, 0x4de030
push esi
push 0x4df270
call fcn.00446303
add esp, 0xc
cmp byte [0x4ddec0], 0
jne 0x419287
mov eax, dword [0x4ddec8]
and eax, 0x80
or eax, ebx
je 0x419287
call fcn.0041182f
test al, al
jne 0x4189c0
call fcn.00408ee6
mov ecx, esi
call fcn.004317d9
push 0x5c
mov ecx, esi
call fcn.00426ed7
cmp dword [0x4de034], 0
jle 0x4189b2
push 0xffffffffffffffff
push 0x4df270
push esi
call fcn.004455f4
mov byte [ebp + 0xb], 1
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00442644
add esp, 0x10
test al, al
je 0x418a1a
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0044588f
pop ecx
test al, al
jne 0x418a1d
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00466bd1
pop ecx
call fcn.00442698
add esp, 0x18
test al, al
jne 0x418a5f
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00466c80
pop ecx
call fcn.00442698
add esp, 0x18
test al, al
je 0x418a62
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467505
pop ecx
call fcn.00442698
add esp, 0x18
test al, al
jne 0x418aa4
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467729
pop ecx
call fcn.00442698
add esp, 0x18
test al, al
je 0x418aa7
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467a68
pop ecx
call fcn.00442698
add esp, 0x18
movzx ecx, byte [ebp + 0xb]
xor edx, edx
test al, al
cmovne ecx, edx
mov eax, dword [0x4de030]
test cl, cl
jne 0x418b42
test eax, eax
cmovne edi, eax
mov esi, dword [str._r_n_r_n]
push 0xe
lea eax, [ebp - 0xe20]
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 - 0xe14]
push eax
call fcn.004303d0
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 - 0xe14]
call fcn.00426528
lea ecx, [ebp - 0xe20]
call fcn.00426528
mov esi, 0x4de030
jmp 0x4189b2
mov ecx, edi
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.004453c4
pop ecx
pop ecx
mov byte [ebp - 0x78], al
test al, al
je 0x418b93
lea eax, [ebp - 0x78]
push eax
call fcn.004429d8
pop ecx
test al, al
jne 0x418b93
movsx esi, byte [ebp - 0x78]
push 0x10
lea eax, [ebp - 0xe2c]
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 - 0xe2c]
jmp 0x418b33
mov ecx, dword [0x4ddecc]
and ecx, 0x20
mov eax, ebx
or eax, ecx
je 0x418bf4
push closesocket
push 0x49cee8
mov ecx, esi
call fcn.0042b682
test al, al
jne 0x418bc5
lea eax, [ebp - 0x78]
push eax
call fcn.00442abd
pop ecx
test al, al
je 0x418bf4
push 0x42
lea eax, [ebp - 0xe38]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe38]
add esp, 0xc
call fcn.00426528
jmp 0x4189b2
mov eax, dword [0x4de034]
and eax, 0xfffffffe
cmp eax, 6
jg 0x418c25
push 0x11
lea eax, [ebp - 0xe44]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe44]
jmp 0x418be7
lea ecx, [ebp - 0x3f4]
call fcn.00428bf1
push 1
lea eax, [ebp - 0xe50]
push eax
call fcn.0046737c
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00425796
lea ecx, [ebp - 0xe50]
call fcn.00426528
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3f4]
push eax
call fcn.004082e7
call fcn.004427ad
add esp, 0x18
test al, al
je 0x418cc5
mov esi, edi
cmp dword [ebp - 0x3f4], 0
cmovne esi, dword [ebp - 0x3f4]
push 0x12
lea eax, [ebp - 0xe5c]
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 - 0xe5c]
add esp, 0x10
call fcn.00426528
lea ecx, [ebp - 0x3f4]
jmp 0x418b33
push 2
lea eax, [ebp - 0xe68]
push eax
call fcn.0046737c
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00425796
lea ecx, [ebp - 0xe68]
call fcn.00426528
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3f4]
push eax
call fcn.004082e7
call fcn.004427ad
add esp, 0x18
test al, al
je 0x418d4c
mov esi, edi
cmp dword [ebp - 0x3f4], 0
cmovne esi, dword [ebp - 0x3f4]
push 0x12
lea eax, [ebp - 0xe74]
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 - 0xe74]
jmp 0x418cb2
lea ecx, [ebp - 0x3f4]
call fcn.00426528
mov dl, byte [ebp - 0x78]
test dl, dl
je 0x418d9e
lea eax, [ebp - 0x78]
push eax
call fcn.00442ae3
pop ecx
test al, al
je 0x418d9b
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe80]
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 - 0xe80]
jmp 0x418b33
mov dl, byte [ebp - 0x78]
mov ecx, dword [0x4ddecc]
and ecx, 0x800000
mov eax, ebx
or eax, ecx
je 0x418df1
test dl, dl
je 0x418df1
lea eax, [ebp - 0x78]
push eax
call fcn.00442ad0
pop ecx
test al, al
je 0x418df1
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe8c]
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 - 0xe8c]
jmp 0x418b33
test dword [0x4dded0], 0x10000
je 0x418e2f
mov ecx, esi
call fcn.004259ea
test al, al
jne 0x418e2f
push 0x1e
lea eax, [ebp - 0xe98]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3f6
lea ecx, [ebp - 0xe98]
jmp 0x418be7
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 - 0x140], 0
jne 0x418f8b
cmp byte [0x4ddec0], 0
jne 0x418f8b
cmp byte [ebp - 0x78], 0
je 0x418f8b
lea eax, [ebp - 0x78]
push eax
call fcn.00442a97
pop ecx
mov ebx, eax
mov eax, edx
mov dword [ebp + 8], eax
cmp esi, eax
jl 0x418f8b
jg 0x418e97
cmp dword [ebp - 0x160], ebx
jbe 0x418f8b
lea ecx, [ebp - 0x7b4]
call fcn.00428bf1
push dword [ebp + 8]
push ebx
lea eax, [ebp - 0xebc]
push eax
call fcn.00424f61
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 - 0xeb0]
push eax
call fcn.00424f61
mov esi, 0x49bb64
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x13
lea eax, [ebp - 0xea4]
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 - 0x7b4]
push eax
call fcn.004285f9
add esp, 0x34
lea ecx, [ebp - 0xea4]
call fcn.00426528
lea ecx, [ebp - 0xeb0]
call fcn.00426528
lea ecx, [ebp - 0xebc]
call fcn.00426528
push 0x14
lea eax, [ebp - 0xec8]
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 - 0x7b4], 0
cmovne eax, dword [ebp - 0x7b4]
push ecx
push eax
call fcn.0040f61e
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xec8]
call fcn.00426528
lea ecx, [ebp - 0x7b4]
test bl, bl
jne 0x418f86
call fcn.00426528
xor ebx, ebx
jmp 0x418b38
call fcn.00426528
lea ecx, [ebp - 0x590]
call fcn.00428bf1
call fcn.00464abc
call fcn.0046496b
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421e4
pop ecx
mov bl, al
call fcn.00464b3d
mov esi, edi
mov eax, dword [0x4de030]
test bl, bl
je 0x419002
xor ebx, ebx
mov byte [ebp + 0xb], bl
test eax, eax
cmovne esi, eax
push 0x16
lea eax, [ebp - 0xed4]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x590]
push eax
call fcn.004285f9
add esp, 0x14
lea ecx, [ebp - 0xed4]
call fcn.00426528
jmp 0x41903f
mov byte [ebp + 0xb], 1
test eax, eax
cmovne esi, eax
push 0x17
lea eax, [ebp - 0xee0]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x590]
push eax
call fcn.004285f9
add esp, 0x14
lea ecx, [ebp - 0xee0]
call fcn.00426528
xor ebx, ebx
mov eax, dword [0x4ddec8]
and eax, 0x80000000
or eax, ebx
je 0x41909b
push 0x18
lea eax, [ebp - 0xeec]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x590], 0
cmovne eax, dword [ebp - 0x590]
push ecx
push eax
call fcn.0040f61e
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xeec]
call fcn.00426528
test bl, bl
jne 0x419099
lea ecx, [ebp - 0x590]
jmp 0x418f7a
xor ebx, ebx
cmp byte [ebp + 0xb], 0
je 0x419170
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441e70
pop ecx
test al, al
jne 0x419170
lea ecx, [ebp - 0x83c]
call fcn.00428bf1
lea eax, [ebp - 0xf04]
push eax
call fcn.00458a9c
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 [0x4de030]
test eax, eax
cmovne ebx, eax
mov esi, dword [0x4d13a4]
push 0x19
lea eax, [ebp - 0xef8]
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 - 0x83c]
push eax
call fcn.0042fa2c
add esp, 0x28
lea ecx, [ebp - 0xef8]
call fcn.00426528
lea ecx, [ebp - 0xf04]
call fcn.00426528
mov edi, 0x49bb64
mov eax, edi
cmp dword [ebp - 0x83c], 0
cmovne eax, dword [ebp - 0x83c]
push eax
call fcn.0040b3f6
pop ecx
lea ecx, [ebp - 0x83c]
call fcn.00426528
jmp 0x41908e
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ebx
push ebx
push ecx
lea eax, [ebp - 0x7c0]
push eax
call fcn.00443809
add esp, 0x10
cmp dword [ebp - 0x7bc], 0
jg 0x4191e4
mov esi, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne esi, eax
push 0x49
lea eax, [ebp - 0xf10]
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 - 0xf10]
call fcn.00426528
lea ecx, [ebp - 0x7c0]
call fcn.00426528
lea ecx, [ebp - 0x590]
jmp 0x418b33
mov eax, edi
cmp dword [ebp - 0x7c0], 0
cmovne eax, dword [ebp - 0x7c0]
push ebx
push eax
call fcn.004440e6
pop ecx
pop ecx
lea ecx, [ebp - 0x7c0]
call fcn.00426528
lea ecx, [ebp - 0x590]
call fcn.00426528
mov esi, 0x4de030
push 0x5c
mov ecx, 0x4df270
call fcn.00426ed7
push ebx
push esi
push 0x4df270
call fcn.00446303
mov esi, 0x49bb60
mov ecx, esi
mov eax, dword [0x4df270]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0044537e
mov byte [ebp - 0x3e4], al
lea eax, [ebp - 0x3e4]
push eax
call fcn.00442ad0
add esp, 0x18
mov byte [0x4ddee7], al
cmp byte [ebp - 0x140], 0
je 0x41929f
cmp dword [ebp - 0x9b8], 0
jle 0x4192e5
lea eax, [ebp - 0x9bc]
push eax
mov ecx, 0x4de024
call fcn.004237f3
jmp 0x4192e5
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441e70
pop ecx
jmp 0x419218
push 0x4de024
call fcn.0041575b
pop ecx
cmp byte [0x4ddec0], 0
jne 0x4192e5
mov ecx, dword [0x4ddecc]
and ecx, 4
mov eax, ebx
or eax, ecx
je 0x4192e5
cmp byte [0x4ddee7], 0
je 0x4192d7
test dword [0x4dded0], 0x800
jne 0x4192e5
call fcn.0041187c
test al, al
jne 0x4192e5
call fcn.00408ee6
mov ecx, edi
mov eax, dword [0x4de024]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0041236b
call fcn.00457270
call fcn.0040fcd3
mov ecx, esi
mov eax, dword [0x4df288]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e05b
add esp, 0xc
push 0x80
push 0x20000000
push 0x49cd2d
mov ecx, 0x4df180
call fcn.00447d79
push 1
push ebx
call fcn.00460659
pop ecx
pop ecx
test al, al
jne 0x419349
push str.Warning:_the_installer_does_not_have_admin_rights._r_n_r_n
call fcn.0040ea04
pop ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x828], xmm0
test byte [0x4dded0], 2
je 0x419430
push 0x61
call fcn.00409c3c
mov dword [esp], str.Creating_restore_point...
call fcn.0040ea04
mov dword [esp], 0x4ddfe8
lea ecx, [ebp - 0x854]
call fcn.004082e7
cmp dword [0x4df254], 0
jg 0x4193a4
push 0x4df250
push 0x49ce70
lea ecx, [ebp - 0x854]
call fcn.0042473a
lea ecx, [ebp - 0x848]
call fcn.00428bf1
mov eax, edi
cmp dword [ebp - 0x854], 0
cmovne eax, dword [ebp - 0x854]
lea ecx, [ebp - 0x848]
push ecx
push eax
lea ecx, [ebp - 0x828]
call fcn.0045fa1a
test al, al
jne 0x419404
mov eax, esi
cmp dword [ebp - 0x848], 0
cmovne eax, dword [ebp - 0x848]
push ebx
push dword [0x4d13a0]
push eax
push str.FAILED_r_n
call fcn.0040e9a8
add esp, 0x10
and dword [0x4dded0], 0xfffffffd
jmp 0x41940f
push 0x49ec4c
call fcn.0040ea04
pop ecx
push 0x49cd2d
call fcn.0040fbcb
pop ecx
lea ecx, [ebp - 0x848]
call fcn.00426528
lea ecx, [ebp - 0x854]
call fcn.00426528
push 0x71
call fcn.00409c3c
push 1
call fcn.0040fba8
mov edx, edi
mov eax, dword [0x4df214]
test eax, eax
cmovne edx, eax
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf1c]
push eax
call fcn.00444fdf
add esp, 0x14
push eax
mov ecx, 0x4df2a0
call fcn.00425796
lea ecx, [ebp - 0xf1c]
call fcn.00426528
push 0xffffffffffffffff
push 0x4df114
push 0x4df2a0
call fcn.004455f4
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0041236b
add esp, 0x10
cmp dword [0x4df218], 0
jle 0x41950a
mov ecx, edi
mov eax, dword [0x4df2a0]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441e70
pop ecx
test al, al
jne 0x41950a
mov esi, dword [0x4d13a4]
lea eax, [ebp - 0xf28]
push eax
call fcn.00458a9c
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4df2a0]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a02a0
push ecx
push str.Failed_to_create_uninstall_data_folder__
call fcn.0040e9d6
add esp, 0x1c
lea ecx, [ebp - 0xf28]
call fcn.00426528
mov eax, dword [0x4ddec8]
and eax, 4
or eax, ebx
jne 0x419520
mov ecx, 0x4de060
jmp 0x41965d
cmp dword [ebp - 0x258], 0
jle 0x419575
cmp byte [0x4ddee7], 0
je 0x419575
mov edx, edi
cmp dword [ebp - 0x25c], 0
cmovne edx, dword [ebp - 0x25c]
mov ecx, edi
mov eax, dword [0x4de030]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf34]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
mov ecx, 0x4de060
call fcn.00425796
lea ecx, [ebp - 0xf34]
jmp 0x41965d
lea ecx, [ebp - 0x674]
call fcn.00428bf1
movzx eax, byte [ebp - 0xea]
sub eax, 1
je 0x419614
sub eax, 1
je 0x4195f0
sub eax, 1
je 0x4195cc
xor eax, eax
cmp byte [0x4ddec2], 1
setne al
add eax, 2
push eax
lea eax, [ebp - 0xf40]
push eax
call fcn.004669e3
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x674]
call fcn.00425796
lea ecx, [ebp - 0xf40]
jmp 0x419633
push 2
lea eax, [ebp - 0xf4c]
push eax
call fcn.004669e3
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x674]
call fcn.00425796
lea ecx, [ebp - 0xf4c]
jmp 0x419633
push 1
lea eax, [ebp - 0xf58]
push eax
call fcn.004669e3
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x674]
call fcn.00425796
lea ecx, [ebp - 0xf58]
jmp 0x419633
lea eax, [ebp - 0xf64]
push eax
call fcn.00466853
pop ecx
push eax
lea ecx, [ebp - 0x674]
call fcn.00425796
lea ecx, [ebp - 0xf64]
call fcn.00426528
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x674]
push eax
call fcn.004082e7
push 0x4de060
call fcn.00445c0c
add esp, 0x14
lea ecx, [ebp - 0x674]
call fcn.00426528
cmp dword [0x4de064], 0
jle 0x4196f2
mov ecx, edi
mov eax, dword [0x4de060]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441e70
pop ecx
test al, al
jne 0x4196cd
mov esi, dword [0x4d13a4]
lea eax, [ebp - 0xf70]
push eax
call fcn.00458a9c
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4de060]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a02a0
push ecx
push str.Failed_to_create_shared_folder__
call fcn.0040e9d6
add esp, 0x1c
lea ecx, [ebp - 0xf70]
call fcn.00426528
mov ecx, dword [0x4ddecc]
and ecx, 0x40000000
mov eax, ebx
or eax, ecx
je 0x4196f2
mov ecx, edi
mov eax, dword [0x4de060]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.0041236b
pop ecx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x15c]
jne 0x41971e
push 0x4d12f4
push dword [ebp - 0x3e4]
call fcn.0040b4d1
pop ecx
pop ecx
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
mov edx, dword [0x4ddecc]
mov ecx, edx
and ecx, 0x1000000
mov eax, ebx
or eax, ecx
je 0x419748
cmp byte [0x4ddee7], 0
je 0x419748
and dword [0x4ddec8], 0xfffffffb
mov dword [0x4ddecc], edx
lea ecx, [ebp - 0x390]
call fcn.00427369
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x390]
call fcn.00423f7f
test byte [0x4dded0], 0x40
mov ecx, str.Pre_Installation_Batch
push 0
pop eax
cmove ecx, eax
mov eax, dword [0x4ddec8]
and eax, 0x800000
or eax, ebx
mov al, 1
jne 0x419789
mov al, bl
push ecx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x390]
push eax
call fcn.004082e7
call fcn.00410ac7
add esp, 0x14
cmp byte [ebp - 0x55], 0
je 0x4197f1
mov edx, dword [0x4dded0]
and edx, 0x100
neg edx
sbb edx, edx
and edx, str.Upgrade_Batch
mov ecx, dword [0x4ddecc]
and ecx, 0x10000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x4197d6
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x450]
push eax
call fcn.004082e7
call fcn.00410ac7
add esp, 0x14
cmp byte [ebp - 0x140], 0
je 0x41984c
mov edx, dword [0x4dded0]
cmp byte [ebp - 0x39], 0
jne 0x41980b
test dl, 1
jne 0x41984c
and edx, 0x200
neg edx
sbb edx, edx
and edx, str.Reinstall_Batch
mov ecx, dword [0x4ddecc]
and ecx, 0x20000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x419831
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x444]
push eax
call fcn.004082e7
call fcn.00410ac7
add esp, 0x14
push 8
call fcn.00409c3c
push 2
call fcn.0040fba8
pop ecx
pop ecx
lea ecx, [ebp - 0x9c8]
call fcn.00428bf1
cmp byte [ebp - 0xe9], 0
jne 0x419888
mov ecx, dword [ebp - 0x148]
sub dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x1f4]
add eax, ecx
mov dword [0x4dded8], eax
jmp 0x4198eb
mov esi, dword [ebp - 0x148]
add esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x264]
sub eax, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x9c8]
call fcn.00423bf0
mov eax, 0x49bb60
cmp dword [ebp - 0x9c8], 0
cmovne eax, dword [ebp - 0x9c8]
mov dword [0x4dded8], eax
push esi
push dword [ebp - 0x44]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.0042c5da
test al, al
jne 0x4198eb
push esi
push dword [ebp - 0x44]
push str.Error_code_2:_failed_to_read_archive_data_r_nsize_d_pos_d
call fcn.00440c2d
add esp, 0xc
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x44], esi
je 0x4198fd
push ebx
push 0x2e
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x60]
push eax
call fcn.0040f211
push 0x3e
call fcn.00409c3c
push 0x15
call fcn.0040fba8
push esi
push dword [0x4dded8]
call fcn.0046b9c2
add esp, 0x14
cmp eax, dword [ebp - 0x268]
je 0x419936
push ebx
push 0x37
call fcn.0040a031
pop ecx
pop ecx
movzx eax, word [ebp - 0x60]
push eax
call fcn.0040f211
mov esi, dword [0x4dded8]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x260], esi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x144], eax
push 0x36
call fcn.00409c3c
push 0x1a
call fcn.0040fba8
push 1
call fcn.0040a3cd
push 0x1b
call fcn.0040fba8
add esp, 0x14
lea ecx, [ebp - 0xc74]
call fcn.00407dec
lea ecx, [ebp - 0xb70]
call fcn.00407dec
lea ecx, [ebp - 0xb60]
call fcn.00407dec
lea ecx, [ebp - 0xb50]
call fcn.00407dec
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x16b8]
call fcn.00407d5a
lea ecx, [ebp - 0x568]
call fcn.00428bf1
mov byte [ebp - 0x7e], bl
lea ecx, [ebp - 0xbe0]
call fcn.004236f0
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
cmp eax, dword [ebp - 0x16c]
jge 0x41b273
lea ecx, [ebp - 0x278]
call fcn.00428bf1
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0xbe0]
call fcn.0042581c
test al, al
jne 0x419b16
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 0x419a30
push ebx
push 0x3d
call fcn.0040a031
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
cmp edi, ecx
jle 0x419a41
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 - 0x680]
call fcn.00408360
lea eax, [ebp - 0x680]
push eax
call fcn.0046b9e0
pop ecx
cmp eax, esi
je 0x419a7a
push ebx
push 0x3e
call fcn.0040a031
pop ecx
pop ecx
test dword [0x4dded0], 0x1000
je 0x419aa1
mov esi, 0x4de0b8
mov ecx, esi
call fcn.00423225
lea eax, [ebp - 0x680]
push eax
push eax
mov ecx, esi
call fcn.004230bd
mov eax, dword [0x4ddec8]
and eax, 0x20
or eax, ebx
je 0x419aca
push ebx
lea eax, [ebp - 0x680]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x419aca
push ebx
push 0x3c
call fcn.0040a031
pop ecx
pop ecx
lea eax, [ebp - 0x680]
push eax
lea ecx, [ebp - 0xbe0]
call fcn.00427d6d
mov esi, dword [ebp - 0x54]
add esi, edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x260], esi
mov eax, dword [ebp - 0x7c]
sub eax, edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x144], eax
dec dword [ebp - 0x40]
lea ecx, [ebp - 0x680]
call fcn.00426528
lea ecx, [ebp - 0x278]
call fcn.00426528
jmp 0x41b25d
mov eax, 0x49bb60
cmp dword [ebp - 0x278], 0
cmovne eax, dword [ebp - 0x278]
mov dword [0x4dded8], eax
call fcn.00409c71
imul eax, dword [ebp - 0x40], 0x3e
cdq
idiv dword [ebp - 0x16c]
add eax, 0x1c
push eax
call fcn.0040fba8
pop ecx
call fcn.00412333
push eax
lea ecx, [ebp - 0x188]
call fcn.00401a8c
cmp dword [ebp - 0x184], 0
jg 0x419b6c
push ebx
push 0x46
call fcn.0040a031
pop ecx
pop ecx
call fcn.0041230f
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.0041230f
mov dword [ebp - 0x68], eax
call fcn.0041230f
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xa18], ebx
or dword [ebp - 0xa10], 0xffffffff
lea eax, [ebp - 0xa1c]
push eax
call fcn.00407c1c
pop ecx
call fcn.00412333
push eax
lea ecx, [ebp - 0xd8]
call fcn.00401a8c
lea ecx, [ebp - 0x318]
call fcn.00428bf1
mov eax, dword [ebp - 0x68]
and eax, 3
mov dword [ebp - 0x3c4], eax
je 0x419be3
call fcn.0041234e
push closesocket
push eax
lea ecx, [ebp - 0x318]
call fcn.0042fd81
call fcn.00412333
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00401a8c
call fcn.0041234e
push eax
lea ecx, [ebp - 0xf8]
call fcn.0040837f
call fcn.00412333
push eax
lea ecx, [ebp - 0x30c]
call fcn.00401a8c
cmp esi, 0xb
jne 0x419c33
call fcn.0041230f
cmp byte [0x4ddee6], 0
push 2
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x9c], 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 - 0x268], esi
test esi, esi
jns 0x419c5f
push ebx
push 0x47
call fcn.0040a031
pop ecx
pop ecx
cmp esi, 0x40000000
jle 0x419c71
push ebx
push 0x48
call fcn.0040a031
pop ecx
pop ecx
mov eax, dword [0x4dded8]
mov dword [ebp - 0x264], eax
add eax, esi
mov dword [0x4dded8], eax
call fcn.0041230f
mov esi, eax
push dword [ebp - 0x268]
push dword [ebp - 0x264]
call fcn.0046b9c2
pop ecx
pop ecx
cmp eax, esi
je 0x419cab
push ebx
push 0x64
call fcn.0040a031
pop ecx
pop ecx
call fcn.0046489b
lea ecx, [ebp - 0xa8]
call fcn.00428bf1
push ebx
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.00446303
add esp, 0xc
cmp dword [ebp - 0xf4], 0
jle 0x419d16
push 0x5c
lea ecx, [ebp - 0xf8]
call fcn.00425a9a
test al, al
jne 0x419d16
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00425796
push 0xffffffffffffffff
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004455f4
add esp, 0xc
mov esi, dword [ebp - 0x44]
cmp esi, 1
jne 0x419da8
cmp byte [0x4ddee7], 0
je 0x419da8
cmp dword [ebp - 0x258], 0
jle 0x419da8
cmp dword [ebp - 0xf4], 0
jle 0x419d9d
push 0x5c
lea ecx, [ebp - 0xf8]
call fcn.00425a9a
test al, al
je 0x419d9d
lea ecx, [ebp - 0xf8]
call fcn.00426528
mov byte [ebp + 0xb], bl
lea ecx, [ebp - 0x74]
call fcn.00428bf1
cmp dword [ebp - 0xf4], 0
jle 0x419e71
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x74]
call fcn.004237f3
lea eax, [ebp - 0x74]
push eax
call fcn.0040b549
mov dword [esp], closesocket
push 0x49cee8
lea ecx, [ebp - 0x74]
call fcn.00427029
test al, al
je 0x419dfa
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.0042480d
mov eax, 0x4de060
cmp esi, 1
mov ecx, 0x4de030
cmovne eax, ecx
push ebx
sub esp, 0xc
mov ecx, esp
push eax
call fcn.004082e7
lea eax, [ebp - 0x74]
push eax
call fcn.00445c0c
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.00412531
test al, al
je 0x41a038
mov eax, edi
cmp dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xf7c]
push eax
call fcn.00445469
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
lea eax, [ebp - 0x74]
push eax
call fcn.00444eb7
add esp, 0x10
lea ecx, [ebp - 0xf7c]
jmp 0x41a033
test byte [ebp - 0x68], 0x40
je 0x419ec0
mov edx, edi
cmp dword [ebp - 0xa8], 0
cmovne edx, dword [ebp - 0xa8]
mov ecx, edi
mov eax, dword [0x4df2a0]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf88]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.00425796
lea ecx, [ebp - 0xf88]
call fcn.00426528
mov byte [ebp + 0xb], bl
jmp 0x41a09e
cmp esi, 5
jg 0x419fed
je 0x419ff7
cmp esi, 8
jle 0x41a04a
mov byte [ebp + 0xb], 1
jmp 0x41a09e
lea ecx, [ebp - 0x50]
call fcn.00428bf1
push 0xffffffffffffffff
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004455f4
add esp, 0xc
lea ecx, [ebp - 0x300]
call fcn.00428bf1
mov esi, edi
cmp dword [ebp - 0x74], 0
cmovne esi, dword [ebp - 0x74]
mov eax, edi
cmp dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xfdc]
push eax
call fcn.00445469
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push esi
push 0x4a03c0
push ecx
lea eax, [ebp - 0x300]
push eax
call fcn.004240cd
add esp, 0x1c
lea ecx, [ebp - 0xfdc]
call fcn.00426528
mov ecx, dword [0x4ddecc]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x41a14d
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, 0x49bb64
jmp 0x4199d5
cmp dword [ebp - 0x7c], 0
je 0x41b283
push ebx
push 0x50
call fcn.0040a031
pop ecx
pop ecx
lea ecx, [ebp - 0xbe0]
call fcn.0042723d
test al, al
jne 0x41b29c
push ebx
push 0x53
call fcn.0040a031
pop ecx
pop ecx
push 0x5b
call fcn.0040fba8
push 0x36
lea eax, [ebp - 0x1084]
push eax
call fcn.00408c01
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040fc83
add esp, 0x10
lea ecx, [ebp - 0x1084]
call fcn.00426528
cmp byte [ebp - 0x7e], 0
je 0x41b2d8
call fcn.00464bb0
lea eax, [ebp - 0x16b8]
push eax
call fcn.0040a1bb
push 0x5c
call fcn.0040fba8
pop ecx
pop ecx
mov eax, dword [0x4ddec8]
push 4
pop esi
and eax, esi
or eax, ebx
je 0x41b626
cmp byte [0x4ddee7], 0
jne 0x41b626
lea ecx, [ebp - 0x1774]
call fcn.004081b3
call fcn.00458ba7
push 0x2000f
push ebx
call fcn.004663ea
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1774]
call fcn.0045e545
test eax, eax
jne 0x41b3eb
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 - 0x10a8]
push eax
call fcn.004576e2
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
push esi
lea eax, [ebp - 0x109c]
push eax
call fcn.0045895f
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
lea eax, [ebp - 0x1090]
push eax
call fcn.00458b75
mov esi, 0x49bb64
cmp dword [eax], 0
cmovne esi, dword [eax]
call fcn.004663f0
push 0
push dword [ebp + 8]
push ebx
push 0x49ce24
push edi
push 0x49f2c4
push esi
push str._r_nCode
push eax
push str.Registry_error:_unable_to_increment_shared_file_reference_counts._r_nHKLM_
push 0x4df208
call fcn.004240cd
add esp, 0x44
lea ecx, [ebp - 0x1090]
call fcn.00426528
lea ecx, [ebp - 0x109c]
call fcn.00426528
lea ecx, [ebp - 0x10a8]
call fcn.00426528
xor ebx, ebx
mov edi, 0x49bb64
jmp 0x41b618
lea eax, [ebp - 0xc74]
push eax
lea ecx, [ebp - 0xc8c]
call fcn.00402541
lea ecx, [ebp - 0xc8c]
call fcn.004025a6
test al, al
je 0x41b60d
mov esi, 0x49bb60
lea ecx, [ebp - 0x6a4]
call fcn.00428bf1
mov eax, dword [ebp - 0xc78]
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
mov eax, 0x4a06cc
push eax
push ecx
push eax
lea eax, [ebp - 0x6a4]
push eax
call fcn.0042f9af
add esp, 0x14
mov eax, esi
cmp dword [ebp - 0x6a4], 0
cmovne eax, dword [ebp - 0x6a4]
push eax
lea ecx, [ebp - 0x650]
call fcn.00409e59
test al, al
jne 0x41b5ef
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0xc8c]
call fcn.00408971
push 0x5e
lea ecx, [ebp - 0x324]
call fcn.00426ed7
push 0x20
lea ecx, [ebp - 0x324]
call fcn.00426ed7
push 0xffffffffffffffa9
lea ecx, [ebp - 0x324]
call fcn.00426ed7
push 0x7c
lea ecx, [ebp - 0x324]
call fcn.0040f731
test al, al
jne 0x41b4f3
mov eax, esi
cmp dword [ebp - 0x324], 0
cmovne eax, dword [ebp - 0x324]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1774]
call fcn.0045db4f
inc eax
mov ecx, esi
cmp dword [ebp - 0x324], 0
cmovne ecx, dword [ebp - 0x324]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1774]
call fcn.0045f053
jmp 0x41b563
lea ecx, [ebp - 0x698]
call fcn.00428bf1
push ebx
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.00446303
add esp, 0xc
mov eax, edi
cmp dword [ebp - 0x698], 0
cmovne eax, dword [ebp - 0x698]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1774]
call fcn.0045db93
inc eax
mov ecx, edi
cmp dword [ebp - 0x698], 0
cmovne ecx, dword [ebp - 0x698]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1774]
call fcn.0045f706
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x698]
call fcn.00426528
mov al, byte [ebp + 0xb]
test al, al
jne 0x41b5bc
mov esi, dword [0x4d139c]
lea eax, [ebp - 0x10b4]
push eax
call fcn.00458947
mov edx, 0x49bb60
mov ecx, edx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edx
cmp dword [ebp - 0x324], 0
cmovne eax, dword [ebp - 0x324]
push ebx
push esi
push ecx
push str.__:
push eax
push str.Failed_to_increment_reference_count_of_shared_file__
call fcn.0040e9a8
add esp, 0x1c
lea ecx, [ebp - 0x10b4]
call fcn.00426528
mov esi, 0x49bb60
cmp dword [ebp - 0x64c], 0
jle 0x41b5d2
push 0x3b
lea ecx, [ebp - 0x650]
call fcn.00408991
lea eax, [ebp - 0x6a4]
push eax
lea ecx, [ebp - 0x650]
call fcn.00423f7f
lea ecx, [ebp - 0x324]
call fcn.00426528
lea ecx, [ebp - 0x6a4]
call fcn.00426528
lea ecx, [ebp - 0xc8c]
call fcn.004025a6
test al, al
jne 0x41b415
lea ecx, [ebp - 0x1774]
call fcn.0045ce97
lea ecx, [ebp - 0x1774]
call fcn.00408581
push 4
pop esi
push 0x5d
call fcn.0040fba8
pop ecx
cmp dword [ebp - 0xb6c], 0
jne 0x41b644
cmp dword [ebp - 0xb5c], 0
je 0x41ba56
lea eax, [ebp - 0xb70]
push eax
lea ecx, [ebp - 0x1718]
call fcn.00402541
lea ecx, [ebp - 0x1718]
call fcn.004025a6
test al, al
je 0x41b883
mov eax, dword [ebp - 0x1704]
mov esi, 0x49bb60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x508]
call fcn.00428bf1
push esi
lea ecx, [ebp - 0xba0]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0xba0]
push eax
call fcn.00446303
add esp, 0xc
lea ecx, [ebp - 0xba0]
call fcn.00426528
mov eax, edi
cmp dword [ebp - 0x508], 0
cmovne eax, dword [ebp - 0x508]
push eax
push str.Registering_COM_File___s_...
call fcn.0040e970
push 0x4d
lea eax, [ebp - 0x8a8]
push eax
call fcn.00408c01
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x508]
push eax
push str._file_
lea ecx, [ebp - 0x8a8]
call fcn.0042ee7e
mov eax, edi
cmp dword [ebp - 0x8a8], 0
cmovne eax, dword [ebp - 0x8a8]
push eax
call fcn.0040fc83
pop ecx
mov dword [ebp - 4], 2
wait
lea eax, [ebp - 0x10cc]
push eax
call fcn.0046793c
pop ecx
mov esi, dword [eax]
test esi, esi
jne 0x41b732
mov esi, edi
mov eax, dword [ebp - 0x508]
test eax, eax
jne 0x41b73e
mov eax, edi
push ebx
push 0x49f174
push eax
push str.regsvr32.exe__s__
lea eax, [ebp - 0x10c0]
push eax
call fcn.004303d0
add esp, 0x14
mov eax, dword [eax]
test eax, eax
jne 0x41b761
mov eax, edi
push ebx
push esi
push 0x11
push eax
call fcn.004579c5
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x7a8], esi
lea ecx, [ebp - 0x10c0]
call fcn.00426528
lea ecx, [ebp - 0x10cc]
call fcn.00426528
test esi, esi
je 0x41b7e0
mov eax, dword [ebp - 0x508]
test eax, eax
jne 0x41b79c
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp + 8], eax
cmp eax, 0x20
jb 0x41b7ce
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41b7c5
test esi, esi
je 0x41b7e0
push 0x49ec4c
call fcn.0040ea04
pop ecx
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41b865
push 4
pop esi
lea ecx, [ebp - 0x8a8]
call fcn.00426528
lea ecx, [ebp - 0x508]
call fcn.00426528
jmp 0x41b656
lea eax, [ebp - 0xb60]
push eax
lea ecx, [ebp - 0x1730]
call fcn.00402541
lea ecx, [ebp - 0x1730]
call fcn.004025a6
test al, al
je 0x41ba45
mov eax, dword [ebp - 0x171c]
mov esi, 0x49bb60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x5f0]
call fcn.00428bf1
push esi
lea ecx, [ebp - 0xbac]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x5f0]
push eax
lea eax, [ebp - 0xbac]
push eax
call fcn.00446303
add esp, 0xc
lea ecx, [ebp - 0xbac]
call fcn.00426528
mov eax, edi
cmp dword [ebp - 0x5f0], 0
cmovne eax, dword [ebp - 0x5f0]
push eax
push str.Registering_Type_Library___s_...
call fcn.0040e970
push 0x4d
lea eax, [ebp - 0x8b4]
push eax
call fcn.00408c01
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x5f0]
push eax
push str._file_
lea ecx, [ebp - 0x8b4]
call fcn.0042ee7e
mov eax, edi
cmp dword [ebp - 0x8b4], 0
cmovne eax, dword [ebp - 0x8b4]
push eax
call fcn.0040fc83
pop ecx
mov dword [ebp - 4], 4
wait
push esi
call fcn.0045c999
pop ecx
test al, al
je 0x41b974
push 0x49ec4c
call fcn.0040ea04
pop ecx
jmp 0x41b9ad
mov esi, dword [0x4d139c]
lea eax, [ebp - 0x10e4]
push eax
call fcn.00458947
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x41b992
mov eax, 0x49bb60
push ebx
push esi
push eax
push str.FAILED_r_n
call fcn.0040e9a8
add esp, 0x10
lea ecx, [ebp - 0x10e4]
call fcn.00426528
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41ba27
push 4
pop esi
lea ecx, [ebp - 0x8b4]
call fcn.00426528
lea ecx, [ebp - 0x5f0]
call fcn.00426528
jmp 0x41b895
call fcn.0046496b
push dword [0x4ddeb8]
call fcn.00463bb0
pop ecx
cmp dword [ebp - 0xb4c], 0
je 0x41bad7
mov dword [ebp - 0x578], ebx
mov dword [ebp - fcn.0043412e], 0x49be28
mov dword [ebp - 0x6b8], ebx
mov dword [ebp - 0x6b4], ebx
push 1
push str.Setupapi.dll
lea ecx, [ebp - 0x6bc]
call fcn.00434377
test al, al
jne 0x41ba98
push str.Cannot_install_INF_files...unable_to_open_Setupapi.dll_r_n
jmp 0x41babc
lea eax, [ebp - 0x578]
push eax
push str.SetupCopyOEMInfW
lea ecx, [ebp - 0x6bc]
call fcn.0043430b
test al, al
jne 0x41bc44
push str.Cannot_install_INF_files...unable_to_link_to_SetupCopyOEMInf___r_n
call fcn.0040ea04
pop ecx
mov dword [ebp - fcn.0043412e], 0x49be28
lea ecx, [ebp - 0x6bc]
call fcn.004340ff
movzx eax, word [ebp - 0x60]
push eax
call fcn.0040f211
push 0x1a
call fcn.00409c3c
push 0x5f
call fcn.0040fba8
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.00428bf1
lea ecx, [ebp - 0xe8]
call fcn.00428bf1
lea ecx, [ebp - 0x480]
call fcn.00428bf1
lea ecx, [ebp - 0x22c]
call fcn.00428bf1
mov eax, dword [0x4ddec8]
and eax, esi
or eax, ebx
je 0x41c118
mov edx, edi
cmp dword [ebp - 0x3c0], 0
cmovne edx, dword [ebp - 0x3c0]
mov ecx, edi
mov eax, dword [0x4df2a0]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0x1108]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
lea ecx, [ebp - 0xe8]
call fcn.00408887
lea ecx, [ebp - 0x1108]
call fcn.00426528
push 0xffffffffffffffff
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.004455f4
mov eax, edi
cmp dword [ebp - 0xb4], 0
cmovne eax, dword [ebp - 0xb4]
push ebx
push 0x49f174
push eax
push str._u:_
lea eax, [ebp - 0x480]
push eax
call fcn.0042fa2c
add esp, 0x20
cmp dword [ebp - 0x5c8], 0
jle 0x41bf37
mov ecx, edi
mov eax, dword [0x4df2a0]
test eax, eax
cmovne ecx, eax
push str.uninstall.ico
push ecx
lea eax, [ebp - 0x1114]
push eax
call fcn.00444fdf
add esp, 0xc
push eax
lea ecx, [ebp - 0x22c]
call fcn.00425796
lea ecx, [ebp - 0x1114]
call fcn.00426528
mov eax, edi
cmp dword [ebp - 0x22c], 0
cmovne eax, dword [ebp - 0x22c]
lea ecx, [ebp - 0x5cc]
push ecx
push eax
call fcn.00443c8e
mov esi, eax
push esi
call fcn.00438727
add esp, 0xc
test al, al
jne 0x41bec2
mov eax, edi
cmp dword [ebp - 0x22c], 0
cmovne eax, dword [ebp - 0x22c]
push ebx
push eax
call fcn.004090e8
pop ecx
pop ecx
jmp 0x41bf37
push dword [0x4d139c]
call fcn.0040ea04
pop ecx
lea eax, [ebp - 0xb50]
push eax
lea ecx, [ebp - 0x16d0]
call fcn.00402541
lea ecx, [ebp - 0x16d0]
call fcn.004025a6
test al, al
je 0x41bac2
lea ecx, [ebp - 0x6b0]
call fcn.00428bf1
push ebx
lea eax, [ebp - 0x6b0]
push eax
push dword [ebp - 0x16bc]
call fcn.00446303
push 0x4d
lea eax, [ebp - 0x8cc]
push eax
call fcn.00408c01
add esp, 0x14
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x6b0]
push eax
push str._file_
lea ecx, [ebp - 0x8cc]
call fcn.0042ee7e
mov eax, edi
cmp dword [ebp - 0x8cc], 0
cmovne eax, dword [ebp - 0x8cc]
push eax
call fcn.0040fc83
mov eax, edi
cmp dword [ebp - 0x6b0], 0
cmovne eax, dword [ebp - 0x6b0]
push ebx
push 0x49ec00
push eax
push str.Installing_driver__
call fcn.0040e9d6
add esp, 0x14
xor eax, eax
mov word [ebp - 0x1c6c], ax
mov dword [ebp - 4], 6
wait
call fcn.00458ba7
mov eax, dword [ebp - 0x6b0]
test eax, eax
jne 0x41bd1f
mov eax, edi
push ebx
push ebx
push 0x104
lea ecx, [ebp - 0x1c6c]
push ecx
push ebx
push 1
push ebx
push eax
call dword [ebp - 0x578]
test eax, eax
jne 0x41bde3
lea ecx, [ebp - 0xbec]
call fcn.00428bf1
push 0xffffffffffffffff
lea eax, [ebp - 0xbec]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.004455f4
push esi
lea eax, [ebp - 0x1120]
push eax
call fcn.004449e0
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x22c], 0
cmovne eax, dword [ebp - 0x22c]
push ecx
push eax
push str.Failed_to_install_uninstaller_icon_to__s_r_n_s_r_n
call fcn.0040e970
add esp, 0x20
lea ecx, [ebp - 0x1120]
call fcn.00426528
lea ecx, [ebp - 0x22c]
call fcn.00426528
lea ecx, [ebp - 0xbec]
call fcn.00426528
mov eax, dword [0x4ddec8]
and eax, 2
or eax, ebx
je 0x41bfaa
push ebx
mov ecx, 0x4ddf34
call fcn.004092d9
mov edi, eax
xor eax, eax
inc eax
mov byte [edi + 1], al
mov byte [edi + 5], al
lea eax, [ebp - 0xe8]
push eax
lea ecx, [edi + 8]
call fcn.004237f3
lea eax, [ebp - 0x480]
push eax
lea ecx, [edi + 0x2c]
call fcn.004237f3
push 0x21
lea eax, [ebp - 0x112c]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425796
lea ecx, [ebp - 0x112c]
call fcn.00426528
lea eax, [ebp - 0x22c]
push eax
lea ecx, [edi + 0x20]
call fcn.004237f3
mov ecx, dword [0x4ddecc]
and ecx, 2
mov eax, ebx
or eax, ecx
je 0x41c01f
push ebx
mov ecx, 0x4ddf34
call fcn.004092d9
mov edi, eax
xor eax, eax
inc eax
mov byte [edi], al
mov byte [edi + 5], al
lea eax, [ebp - 0xe8]
push eax
lea ecx, [edi + 8]
call fcn.004237f3
lea eax, [ebp - 0x480]
push eax
lea ecx, [edi + 0x2c]
call fcn.004237f3
push 0x21
lea eax, [ebp - 0x1138]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425796
lea ecx, [ebp - 0x1138]
call fcn.00426528
lea eax, [ebp - 0x22c]
push eax
lea ecx, [edi + 0x20]
call fcn.004237f3
mov ecx, dword [0x4ddecc]
and ecx, 0x40
mov eax, ebx
or eax, ecx
je 0x41c09d
mov ecx, dword [0x4ddecc]
and ecx, 0x8000000
mov eax, ebx
or eax, ecx
je 0x41c180
push ebx
mov ecx, 0x4ddf34
call fcn.004092d9
mov edi, eax
mov byte [edi + 1], 1
lea eax, [ebp - 0x115c]
push eax
call fcn.0040c294
pop ecx
push eax
lea ecx, [edi + 8]
call fcn.00425796
lea ecx, [ebp - 0x115c]
call fcn.00426528
push 0x56
lea eax, [ebp - 0x1168]
push eax
call fcn.00408c01
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425796
lea ecx, [ebp - 0x1168]
call fcn.00426528
test dword [0x4dded0], 0x800
je 0x41c199
cmp byte [0x4ddee7], 0
jne 0x41d181
cmp dword [0x4ddf38], 0
je 0x41d181
mov byte [ebp + 0xb], 1
push 0x4ddf34
lea ecx, [ebp - 0x124]
call fcn.00402541
jmp 0x41d16e
cmp dword [ebp - 0x2c8], 0
jle 0x41d302
lea ecx, [ebp - 0x244]
call fcn.00426528
lea ecx, [ebp - 0x3d0]
call fcn.00426528
lea ecx, [ebp - 0x250]
call fcn.00426528
lea ecx, [ebp - 0xc0]
call fcn.00426528
lea ecx, [ebp - 0x25c]
call fcn.00426528
lea ecx, [ebp - 0x24]
call fcn.00426528
lea ecx, [ebp - 0xd9c]
call fcn.00401af4
lea ecx, [ebp - 0x194]
call fcn.00426528
lea ecx, [ebp - 0x284]
call fcn.00426528
lea ecx, [ebp - 0x2c0]
call fcn.00426528
lea ecx, [ebp - 0x2b4]
call fcn.00426528
lea ecx, [ebp - 0xb4]
call fcn.00426528
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.0042c3ee
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3ee
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0xda]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
movzx eax, byte [ebp - 0xda]
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 0x41713e
push ebx
push 0x29
call fcn.0040a031
pop ecx
pop ecx
jmp 0x41713e
cmp dword [0x4d12d0], 0x3e8
jle 0x420f86
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 - 0x820]
push eax
mov ecx, esi
call fcn.004237f3
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.0042c8d3
push 1
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
lea ecx, [ebp - 0x820]
call fcn.00426528
jmp 0x416dee