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

Disassembly:
mov eax, 0x49b09d
call fcn.0046c73c
push ecx
mov eax, 0x1c6c
call fcn.0046c790
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x6c], ebx
mov dword [0x4e0348], 0x4a0cbc
mov dword [0x4e034c], 0x4a0ccc
push 0x40bea1
call fcn.0043fa7e
pop ecx
lea ecx, [ebp - 0xc0]
call fcn.00428cde
lea ecx, [ebp - 0x2d0]
call fcn.00428cde
lea ecx, [ebp - 0x2c4]
call fcn.00428cde
lea ecx, [ebp - 0x2b8]
call fcn.00428cde
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
push 1
push str.SeTakeOwnershipPrivilege
call fcn.00460a07
push 0x40cd65
call fcn.00440ec0
mov eax, dword [ebp + 8]
mov dword [0x4deef0], eax
call fcn.00456b2d
mov dword [0x4def58], eax
mov dword [0x4def5c], edx
lea eax, [ebp - 0x1708]
push eax
call fcn.0046696d
add esp, 0x14
push eax
push dword [0x4deef0]
push 1
mov ecx, 0x4e0b88
call fcn.00464fa1
lea eax, [ebp - 0x1710]
push eax
call fcn.0046693e
pop ecx
push eax
push dword [0x4deef0]
push 1
mov ecx, 0x4defd4
call fcn.00464fa1
call fcn.0045773f
mov esi, ebx
lea eax, [ebp - 0x9d8]
push eax
call fcn.004576c1
pop ecx
mov edi, 0x49cb74
mov dword [ebp - 0x14], edi
jmp 0x415d58
inc esi
cmp esi, 0x14
jge 0x415d71
lea eax, [ebp - 0x9d8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004575e1
pop ecx
pop ecx
cmp dword [ebp - 0x8c], ebx
jle 0x415d66
lea eax, [ebp - 0x90]
push eax
call fcn.0045753c
pop ecx
test al, al
jne 0x415a59
lea eax, [ebp - 0x90]
push eax
push str.Unexpected_command_line_parameter:_r_n
lea ecx, [ebp - 0x1514]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c179
pop ecx
lea ecx, [ebp - 0x1514]
call fcn.00426615
push 0x4a0d54
lea ecx, [ebp - 0x90]
call fcn.00427769
lea ecx, [ebp - 0x90]
test al, al
je 0x415a7f
mov byte [0x4def00], 1
jmp 0x415d53
push closesocket
push 0x4a0d58
call fcn.00426eae
test al, al
je 0x415ad4
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4df070
call fcn.00425883
push 0x22
mov ecx, 0x4df070
call fcn.00426484
push 0x5c
mov ecx, 0x4df070
call fcn.00426fc4
push 0xffffffffffffffff
push 0x4e02b0
push 0x4df070
call fcn.004459c4
add esp, 0xc
jmp 0x415d4d
push closesocket
push 0x4a0d60
lea ecx, [ebp - 0x90]
call fcn.00426eae
test al, al
je 0x415b0f
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4df028
call fcn.00425883
mov ecx, 0x4df028
push 0x22
call fcn.00426484
jmp 0x415d4d
push closesocket
push 0x4a0d68
lea ecx, [ebp - 0x90]
call fcn.00426eae
lea ecx, [ebp - 0x90]
test al, al
je 0x415b5e
mov byte [0x4def01], 1
push 0x3a
call fcn.00426f9a
test al, al
je 0x415d4d
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00425883
lea ecx, [ebp - 0xc0]
jmp 0x415b03
push closesocket
push 0x4a0d6c
call fcn.00426eae
test al, al
je 0x415ba3
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x4e029c
call fcn.00425883
push 0x22
mov ecx, 0x4e029c
call fcn.00427175
push 1
push 0x22
push 0x60
mov ecx, 0x4e029c
call fcn.0042f077
jmp 0x415d4d
push closesocket
push 0x4a0d74
lea ecx, [ebp - 0x90]
call fcn.00426eae
test al, al
je 0x415c1a
push ebx
push 0x49ce58
push ebx
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00459f4f
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2d0]
call fcn.00426fc4
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2d0]
call fcn.0042e13a
lea ecx, [ebp - 0x2d0]
push ebx
push closesocket
push ebx
push ebx
push dword [0x4d239c]
push 0x4a0d80
call fcn.0042e1ff
jmp 0x415d4d
push closesocket
push str.B2:_
lea ecx, [ebp - 0x90]
call fcn.00426eae
test al, al
je 0x415c76
push ebx
push 0x49ce58
push ebx
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00459f4f
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2c4]
call fcn.00426fc4
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2c4]
call fcn.0042e13a
lea ecx, [ebp - 0x2c4]
jmp 0x415bfd
push closesocket
push str.B3:_
lea ecx, [ebp - 0x90]
call fcn.00426eae
test al, al
je 0x415cd5
push ebx
push 0x49ce58
push ebx
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00459f4f
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2b8]
call fcn.00426fc4
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2b8]
call fcn.0042e13a
lea ecx, [ebp - 0x2b8]
jmp 0x415bfd
push str.Silent
lea ecx, [ebp - 0x90]
call fcn.00427769
lea ecx, [ebp - 0x90]
test al, al
je 0x415cfe
xor eax, eax
inc eax
mov byte [0x4def00], al
mov byte [0x4def26], al
jmp 0x415d53
push 0x4a0dac
call fcn.00427769
test al, al
je 0x415d15
mov byte [0x4def25], 1
jmp 0x415d4d
cmp dword [ebp - 0x8c], ebx
jle 0x415d4d
lea eax, [ebp - 0x90]
push eax
push str.Illegal_command_line_atom:_r_n
lea ecx, [ebp - 0x1520]
call fcn.004083a0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c179
pop ecx
lea ecx, [ebp - 0x1520]
call fcn.00426615
lea ecx, [ebp - 0x90]
call fcn.00426615
cmp dword [ebp - 0x9d4], ebx
jg 0x4159ed
jmp 0x415d71
lea ecx, [ebp - 0x90]
call fcn.00426615
cmp byte [0x4def01], bl
je 0x415dc5
cmp dword [ebp - 0xbc], ebx
jg 0x415d8c
push str.Product_name_required
call fcn.0040c179
pop ecx
lea eax, [ebp - 0xc0]
push eax
call fcn.004126e7
pop ecx
mov esi, 0x49cb70
test al, al
je 0x415dbc
mov ecx, esi
mov eax, dword [0x4e0260]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e058
pop ecx
pop ecx
call fcn.0040a90c
push ebx
call fcn.0040c1db
pop ecx
jmp 0x415dca
mov esi, 0x49cb70
lea ecx, [ebp - 0x9d8]
call fcn.00426615
call fcn.004101da
lea ecx, [ebp - 0x1bc]
call fcn.00428cde
lea eax, [ebp - 0x1bc]
push eax
call fcn.0045752b
pop ecx
lea ecx, [ebp - 0xda0]
call fcn.00401a0d
mov eax, esi
cmp dword [ebp - 0x1bc], ebx
cmovne eax, dword [ebp - 0x1bc]
push 0x80
push 0x2111
push eax
lea ecx, [ebp - 0xda0]
call fcn.0044815c
mov esi, eax
test esi, esi
je 0x415e66
push esi
lea eax, [ebp - 0x152c]
push eax
call fcn.00444db0
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x1bc], ebx
cmovne eax, dword [ebp - 0x1bc]
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.00440fb0
add esp, 0x18
lea ecx, [ebp - 0x152c]
call fcn.00426615
lea ecx, [ebp - 0xda0]
call fcn.00448bcf
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x94], ebx
push ebx
push 0x3c
push 2
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
test al, al
je 0x415eb0
mov eax, dword [ebp - 0x94]
push 0x40
pop esi
cmp ax, si
jb 0x415eb0
mov esi, 0x1000
cmp ax, si
jbe 0x415ec0
push ebx
push 0x2b
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], ebx
movzx eax, ax
add eax, 6
push ebx
push eax
push 2
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
test al, al
je 0x415efe
push 4
pop esi
cmp word [ebp - 0x9c], si
jb 0x415efe
push 0x63
pop esi
cmp word [ebp - 0x9c], si
jbe 0x415f08
push ebx
push 0x2c
call fcn.0040a06d
pop ecx
pop ecx
movzx eax, word [ebp - 0x94]
add eax, 0x14
push ebx
push eax
push 2
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
movzx ecx, word [ebp - 0x3ac]
movzx esi, word [ebp - 0x94]
add ecx, 0x18
add esi, ecx
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x9c]
cmp ax, cx
jmp 0x415f8f
mov byte [ebp - 0xab8], bl
push ebx
push esi
push 8
lea eax, [ebp - 0xac0]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
lea eax, [ebp - 0xac0]
push eax
push str..setup
call fcn.00489fe0
pop ecx
pop ecx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x9c]
test eax, eax
je 0x415f9a
add esi, 0x28
inc edx
movzx eax, cx
cmp edx, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x150], esi
jb 0x415f4a
movzx eax, cx
cmp edx, eax
jb 0x415fac
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.00440e8b
pop ecx
lea eax, [esi + 0xc]
push ebx
push eax
push 4
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
lea eax, [esi + 0x10]
push ebx
push eax
push 4
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
lea eax, [esi + 0x14]
push ebx
push eax
push 4
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
mov eax, dword [ebp - 0x16c]
test eax, eax
jne 0x416015
push ebx
push 9
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x16c]
test eax, eax
je 0x416025
push eax
lea ecx, [ebp - 0xda0]
call fcn.004483bc
test al, al
jne 0x41602f
push ebx
push 0xa
call fcn.0040a06d
pop ecx
pop ecx
call fcn.004343ef
mov ecx, dword [ebp - 0x208]
add ecx, eax
mov dword [ebp - 0x208], ecx
mov dword [0x4def18], ecx
call fcn.0041237a
cmp eax, 0xa4f23de5
je 0x41605e
push ebx
push 0x14
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041239e
mov esi, eax
push str.44.0
push esi
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
je 0x41608c
mov ecx, dword [0x4e0348]
push ecx
push esi
push ecx
push str.The_installer_version__44.0__does_not_match_the_version_of__s___s_.__Close_all_applications_and_reinstall__s.
call fcn.00440f6f
add esp, 0x10
call fcn.0041237a
mov dword [0x4def10], eax
call fcn.0041237a
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
jle 0x4160af
cmp esi, 0x3200000
jl 0x4160b9
push ebx
push 0x16
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041237a
mov dword [ebp + 8], eax
call fcn.0041237a
mov dword [ebp - 0x1f8], eax
call fcn.0041237a
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x4160e2
push ebx
push 0x2d
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041237a
mov dword [ebp - 0x174], eax
test eax, eax
jns 0x4160fb
push ebx
push 0x1b
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041237a
mov dword [ebp - 0x80], eax
test eax, eax
jns 0x416111
push ebx
push 0x1d
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041237a
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x174], ebx
jle 0x416169
mov esi, dword [ebp - 0x174]
call fcn.0041237a
mov dword [ebp - 0x40], eax
test eax, eax
js 0x416140
cmp eax, 0x40000000
jle 0x41614a
push ebx
push 0x1c
call fcn.0040a06d
pop ecx
pop ecx
lea eax, [ebp - 0x40]
push eax
mov ecx, 0x4d22f4
call fcn.004070f6
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, esi
jl 0x41612d
mov esi, dword [ebp - 0x144]
test dword [0x4def10], 0x1000
je 0x4161b2
lea ecx, [ebp - 0xaa8]
call fcn.00428cde
push 8
lea eax, [ebp - 0xaa8]
push eax
call fcn.0041235b
push ecx
mov ecx, esp
lea eax, [ebp - 0xaa8]
push eax
call fcn.004082e7
mov ecx, 0x4df0f8
call fcn.004233f9
lea ecx, [ebp - 0xaa8]
call fcn.00426615
mov eax, esi
sub eax, dword [ebp - 0x208]
add eax, dword [0x4def18]
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x30]
call fcn.00401a6c
push esi
lea eax, [ebp - 0x24]
push eax
call fcn.0041235b
pop ecx
pop ecx
test dword [0x4def10], 0x1000
jne 0x4161f4
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x24]
call fcn.00432ac8
jmp 0x41620f
mov esi, 0x4df0f8
mov ecx, esi
call fcn.0042330f
lea eax, [ebp - 0x24]
push eax
push eax
mov ecx, esi
call fcn.004231a7
mov esi, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x416229
push ebx
push 0x2f
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4def08
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4def26], bl
je 0x41626e
mov ecx, dword [0x4def08]
and ecx, 0x7fffff7f
mov eax, dword [0x4def0c]
and eax, 0xfff7ede3
or ecx, 0x30600000
or eax, 0x800
mov dword [0x4def08], ecx
mov dword [0x4def0c], eax
call fcn.00457d53
test al, al
je 0x416280
call fcn.00457e2b
test eax, eax
je 0x41628a
and dword [0x4def10], 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 0x4162be
sub eax, 1
jne 0x4162c5
cmp byte [0x4def26], bl
jne 0x4162c5
mov byte [0x4def00], bl
jmp 0x4162c5
mov byte [0x4def00], 1
mov ecx, dword [0x4def0c]
and ecx, 0x100
mov eax, ebx
or eax, ecx
mov byte [0x4e0bc0], 1
jne 0x4162e4
mov byte [0x4e0bc0], bl
push 0x4e0b90
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e0be4
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4e0bfc
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4d2294
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4def08]
and eax, 0x20000000
or eax, ebx
jne 0x416350
movzx eax, byte [0x4def25]
push eax
push ebx
push dword [0x4deef0]
call fcn.0045526c
mov dword [0x4deef4], eax
push eax
call fcn.0040eb26
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.0046c42c
pop ecx
cmp eax, esi
je 0x416368
push ebx
push 0x19
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 2
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, 0x270f
cmp word [ebp - 0x5c], ax
jbe 0x41638d
push ebx
push 0x13
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
xor esi, esi
inc esi
push esi
push 0x4def24
lea ecx, [ebp - 0x30]
call eax
mov dword [ebp - 0x1678], ebx
or dword [ebp - 0x1670], 0xffffffff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x18
lea ecx, [ebp - 0x167c]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4df034
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0xab4]
call fcn.00428cde
lea eax, [ebp - 0xab4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
cmp dword [0x4df02c], ebx
jg 0x416400
lea eax, [ebp - 0xab4]
push eax
mov ecx, 0x4df028
call fcn.00425883
lea ecx, [ebp - 0xab4]
call fcn.00426615
push 0x4df01c
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
cmp dword [0x4df020], ebx
jg 0x41642f
push 0x4df028
mov ecx, 0x4df01c
call fcn.004238e0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4def02
lea ecx, [ebp - 0x30]
call eax
mov byte [ebp + 0xb], bl
cmp byte [0x4def02], 1
jne 0x41645f
push 0x4def04
call fcn.00459655
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 - 0xda]
push eax
lea ecx, [ebp - 0x30]
call edx
push 0x4df0a0
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
cmp dword [0x4df0a4], ebx
jg 0x4164ab
mov ecx, 0x4df034
call fcn.0040b4a8
mov ecx, 0x4df0a0
test al, al
jne 0x4164a1
push 0x4df034
jmp 0x4164a6
push 0x4df028
call fcn.004238e0
lea ecx, [ebp - 0x27c]
call fcn.00428cde
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df064
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
cmp dword [0x4df068], ebx
jg 0x4164e9
push 0x4df028
mov ecx, 0x4df064
call fcn.004238e0
push 0x4df0d0
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push ebx
push 0x4e0290
push 0x4df0d0
call fcn.00459d09
add esp, 0xc
lea ecx, [ebp - 0xb4]
call fcn.00428cde
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
cmp dword [ebp - 0xb0], ebx
jg 0x416542
push 0x4df028
lea ecx, [ebp - 0xb4]
call fcn.004238e0
mov esi, closesocket
jmp 0x416582
push ebx
mov esi, closesocket
push esi
push ebx
push 1
lea eax, [ebp - 0x1538]
push eax
call fcn.004594c0
pop ecx
push eax
push str._os_
lea ecx, [ebp - 0xb4]
call fcn.0042ef6b
lea ecx, [ebp - 0x1538]
call fcn.00426615
lea eax, [ebp - 0xb4]
push eax
call fcn.0040b585
pop ecx
push str._master_
lea ecx, [ebp - 0xb4]
call fcn.00427769
test al, al
jne 0x416608
push esi
push 0x4a1024
lea ecx, [ebp - 0xb4]
call fcn.0042b6c0
test al, al
jne 0x416608
push esi
push 0x4a1030
lea ecx, [ebp - 0xb4]
call fcn.0042b6c0
test al, al
jne 0x416608
xor eax, eax
cmp byte [0x4def02], 1
sete al
inc eax
push eax
lea eax, [ebp - 0xc68]
push eax
call fcn.00467b95
pop ecx
pop ecx
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0xc68]
push eax
call fcn.004082e7
lea eax, [ebp - 0xb4]
push eax
call fcn.00445fdc
add esp, 0x14
lea ecx, [ebp - 0xc68]
call fcn.00426615
lea ecx, [ebp - 0x270]
call fcn.00428cde
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df094
lea ecx, [ebp - 0x30]
call fcn.0042c534
lea ecx, [ebp - 0x3b8]
call fcn.00428cde
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x264]
call fcn.00428cde
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4e0c70
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4e0c70]
test eax, eax
js 0x416682
cmp eax, 0x64
jle 0x41668c
push ebx
push 0x27
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4e0c74
lea ecx, [ebp - 0x30]
call eax
push 0x4def68
lea ecx, [ebp - 0x30]
call fcn.0042caf5
push 0x4e0278
lea ecx, [ebp - 0x30]
call fcn.0042c4db
lea ecx, [ebp - 0x2f8]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x1fc]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x1fc]
test eax, eax
js 0x4166e4
cmp eax, 0x14
jle 0x4166f4
push ebx
push 0x18
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x1fc], ebx
jle 0x416731
mov eax, dword [ebp - 0x2f8]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2f8]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c534
inc esi
cmp esi, dword [ebp - 0x1fc]
jl 0x41670a
lea ecx, [ebp - 0x2e4]
call fcn.00407d2e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x210]
test eax, eax
js 0x41675e
cmp eax, 0x14
jle 0x41676e
push ebx
push 0x1a
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004068bd
mov esi, ebx
cmp dword [ebp - 0x210], ebx
jle 0x4167ab
mov eax, dword [ebp - 0x2e4]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2e4]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c534
inc esi
cmp esi, dword [ebp - 0x210]
jl 0x416784
push 0x4e0254
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x3d4]
call fcn.00428cde
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c485
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0xc0]
call fcn.0040b4c6
test al, al
je 0x416800
push 0x4df028
lea ecx, [ebp - 0xc0]
call fcn.004238e0
lea ecx, [ebp - 0x1e0]
call fcn.00428cde
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c4db
push 0x4e0ba4
lea ecx, [ebp - 0x30]
call fcn.0042c4db
mov ecx, edi
mov eax, dword [0x4e0ba4]
test eax, eax
cmovne ecx, eax
push ecx
lea eax, [ebp - 0x1544]
push eax
call fcn.004636d2
pop ecx
pop ecx
push eax
mov ecx, 0x4e0ba4
call fcn.00425883
lea ecx, [ebp - 0x1544]
call fcn.00426615
push 0x4df0dc
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
pop esi
push esi
push 0x4e0ba0
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4e0b9c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4e0bc4
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4e0bd4
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4e0bd5
lea ecx, [ebp - 0x30]
call eax
push 0x4e0bd8
lea ecx, [ebp - 0x30]
call fcn.0042c4db
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4e0bcc
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4e0bd0
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4e0bcc]
cmp eax, dword [0x4e0bd0]
sete byte [0x4e0bc8]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3a8]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x3a8], ebx
jle 0x41697f
lea ecx, [ebp - 0xa2c]
call fcn.00428cde
push dword [ebp - 0x3a8]
lea eax, [ebp - 0xa2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c67f
mov eax, 0x49cb70
cmp dword [ebp - 0xa2c], ebx
cmovne eax, dword [ebp - 0xa2c]
push dword [ebp - 0x3a8]
push eax
mov ecx, 0x4e0c2c
call fcn.00421862
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x7a4]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x7a4]
mov dword [0x4e0c48], eax
lea ecx, [ebp - 0xa2c]
call fcn.00426615
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4e0c04
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4e0c04], bl
je 0x4169d3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4e0c14
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4e0c18
lea ecx, [ebp - 0x30]
call eax
push 0x4e0c08
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e0c20
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov eax, dword [0x4def08]
and eax, 0x10
or eax, ebx
je 0x416a24
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3ec]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x3ec]
mov dword [0x4e0bb8], eax
push eax
mov ecx, 0x4e0bbc
call fcn.004628e4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3ec]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x3ec]
mov dword [0x4e0bb4], eax
lea ecx, [ebp - 0x2ac]
call fcn.00428cde
lea ecx, [ebp - 0x1ec]
call fcn.00428cde
lea ecx, [ebp - 0x2a0]
call fcn.00428cde
mov eax, dword [0x4def08]
and eax, 0x10000
or eax, ebx
je 0x416a80
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x3a0]
call fcn.00428cde
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x1c8]
call fcn.00428cde
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x3e0]
call fcn.00428cde
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c534
cmp dword [ebp - 0x1c4], ebx
jg 0x416af8
mov ecx, dword [0x4def0c]
and ecx, 0x4000000
mov eax, ebx
or eax, ecx
je 0x416af8
push 0x4df028
lea ecx, [ebp - 0x1c8]
call fcn.004238e0
mov esi, edi
cmp dword [ebp - 0x1c8], ebx
cmovne esi, dword [ebp - 0x1c8]
cmp byte [0x4def24], 1
jne 0x416b24
lea eax, [ebp - 0x1568]
push eax
call fcn.004673ea
pop ecx
mov ecx, eax
xor eax, eax
inc eax
jmp 0x416b36
lea eax, [ebp - 0x155c]
push eax
call fcn.00467499
pop ecx
mov ecx, eax
push 2
pop eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x34], eax
mov eax, edi
cmp dword [ecx], ebx
cmovne eax, dword [ecx]
push esi
push eax
lea eax, [ebp - 0x1550]
push eax
call fcn.004453af
add esp, 0xc
push eax
mov esi, 0x4df0b8
mov ecx, esi
call fcn.00425883
lea ecx, [ebp - 0x1550]
call fcn.00426615
mov eax, dword [ebp - 0x34]
test al, 2
je 0x416b8a
and eax, 0xfffffffd
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x155c]
call fcn.00426615
mov eax, dword [ebp - 0x34]
test al, 1
je 0x416ba2
and eax, 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x1568]
call fcn.00426615
push 0xffffffffffffffff
push 0x4df0ac
push esi
call fcn.004459c4
add esp, 0xc
lea ecx, [ebp - 0x394]
call fcn.00428cde
lea ecx, [ebp - 0x388]
call fcn.00428cde
lea ecx, [ebp - 0x37c]
call fcn.00428cde
lea ecx, [ebp - 0x46c]
call fcn.00428cde
lea ecx, [ebp - 0x460]
call fcn.00428cde
lea ecx, [ebp - 0x454]
call fcn.00428cde
lea ecx, [ebp - 0x448]
call fcn.00428cde
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x46c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0xbd0]
call fcn.004338fc
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x14
lea ecx, [ebp - 0xbd0]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x7a8]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xdb]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4deff8
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df0e8
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e02ec
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4def84
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e02c8
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df010
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e0148
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e0160
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e02d4
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4e0260
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df07c
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df004
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
push 0x4df040
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x370]
call fcn.00428cde
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
lea ecx, [ebp - 0x4a8]
call fcn.00428cde
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c485
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x4def60
call fcn.00433858
push 0x4df0c4
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x364]
call fcn.00428cde
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x358]
call fcn.00428cde
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x34c]
call fcn.00428cde
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x2c
push 0x4def28
lea ecx, [ebp - 0x30]
call eax
lea ecx, [ebp - 0x5dc]
call fcn.00401a6c
mov eax, dword [0x4def08]
and eax, 4
or eax, ebx
je 0x416e29
lea eax, [ebp - 0x5d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c534
lea ecx, [ebp - 0x824]
call fcn.00428cde
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
push str.THE_END
lea ecx, [ebp - 0x824]
call fcn.004275fb
test al, al
je 0x42105a
lea ecx, [ebp - 0x824]
call fcn.00426615
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 0x416e91
cmp esi, 0x3e8
jle 0x416ea1
push ebx
push 0x24
call fcn.0040a06d
pop ecx
pop ecx
mov esi, dword [ebp - 0x134]
lea ecx, [ebp - 0x43c]
call fcn.00407d18
jmp 0x416f39
dec esi
mov dword [ebp - 0x134], esi
push ebx
lea ecx, [ebp - 0x43c]
call fcn.0040947c
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.0042c9c0
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c9c0
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [esi + 0x4c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042cb1e
lea eax, [esi + 0x58]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
mov esi, dword [ebp - 0x134]
test esi, esi
jg 0x416eb1
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 0x416f76
cmp eax, 0x3e8
jle 0x417038
push ebx
push 0x30
call fcn.0040a06d
pop ecx
pop ecx
jmp 0x417032
dec eax
mov dword [ebp - 0x138], eax
push ebx
mov ecx, 0x4def74
call fcn.00409315
mov esi, eax
mov byte [esi + 4], 1
lea ecx, [esi + 8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [esi + 0x14]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
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.0042c9c0
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 0x416f85
dec eax
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x294]
call fcn.00428cde
lea ecx, [ebp - 0x288]
call fcn.00428cde
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c3c4
lea ecx, [ebp - 0x258]
call fcn.00428cde
lea ecx, [ebp - 0x1d4]
call fcn.00428cde
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042cb1e
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042cb1e
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 0x4170da
cmp esi, 0x3e8
jle 0x4170ea
push ebx
push 0x25
call fcn.0040a06d
pop ecx
pop ecx
mov esi, dword [ebp - 0x13c]
lea ecx, [ebp - 0x4bc]
call fcn.00407d44
jmp 0x417137
dec esi
mov dword [ebp - 0x13c], esi
push ebx
lea ecx, [ebp - 0x4bc]
call fcn.004094c0
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c485
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.0042c3c4
mov esi, dword [ebp - 0x13c]
test esi, esi
jg 0x4170f7
dec esi
mov dword [ebp - 0x13c], esi
lea ecx, [ebp - 0x49c]
call fcn.00428cde
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c4db
lea ecx, [ebp - 0x3c8]
call fcn.00428cde
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c534
mov dword [ebp - 0x40], ebx
push ebx
mov ecx, 0x4defe8
call fcn.004092d3
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c4db
push str.THEEND
lea ecx, [ebp - 0xb80]
call fcn.0040837f
lea eax, [ebp - 0xb80]
push eax
mov ecx, esi
call fcn.004275b9
mov bl, al
lea ecx, [ebp - 0xb80]
call fcn.00426615
test bl, bl
je 0x420ff4
mov ecx, 0x4defe8
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 0x4171eb
cmp al, 0xc8
ja 0x4171eb
xor ebx, ebx
jmp 0x4171f7
xor ebx, ebx
push ebx
push 0x1e
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x168]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x168], 0
jle 0x41721f
cmp dword [ebp - 0x168], 0x2710
jle 0x417229
push ebx
push 0x1f
call fcn.0040a06d
pop ecx
pop ecx
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, 0x4d22b4
call fcn.004052ab
mov edx, ebx
mov dword [ebp - 0x60], edx
cmp byte [ebp - 0x15], 0
jbe 0x417285
push edx
mov ecx, 0x4d22b4
call fcn.0040523c
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042cb1e
push str.English
mov ecx, esi
call fcn.00427832
mov ecx, dword [0x4def14]
test al, al
mov edx, dword [ebp - 0x60]
cmovne ecx, edx
mov dword [0x4def14], ecx
inc edx
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x15]
cmp edx, eax
jl 0x417243
push dword [ebp - 0x168]
mov ecx, 0x4d22c0
call fcn.00405dd4
mov ecx, ebx
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x168], 0
jle 0x41731b
mov eax, dword [0x4d22c0]
mov eax, dword [eax + 0x88]
push ecx
mov ecx, 0x4d22c0
call eax
mov esi, eax
mov dword [ebp - 0x40], 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 - 0x14c], ecx
cmp byte [ebp - 0x15], 0
jbe 0x41730c
push ecx
mov ecx, esi
call fcn.004043c2
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042cb1e
mov ecx, esi
call fcn.00425e26
mov ecx, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x14c], ecx
movzx eax, byte [ebp - 0x15]
cmp ecx, eax
mov esi, dword [ebp - 0x40]
jl 0x4172da
mov ecx, dword [ebp - 0x60]
inc ecx
mov dword [ebp - 0x60], ecx
cmp ecx, dword [ebp - 0x168]
jl 0x4172a3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x60], 0xd3e82b97
je 0x41733e
push ebx
push 0x20
call fcn.0040a06d
pop ecx
pop ecx
push 0x4df0dc
call fcn.00415750
call fcn.0045b163
mov ecx, 0x49cb70
mov eax, dword [0x4def84]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e058
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.00428cde
push dword [ebp - 0x16c]
push ebx
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xda0]
call fcn.00448513
test al, al
jne 0x417398
push ebx
push 0x23
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [0x4def50]
sub eax, 1
je 0x4173f5
sub eax, 1
jne 0x41742e
mov eax, edi
cmp dword [ebp - 0x1bc], 0
cmovne eax, dword [ebp - 0x1bc]
push ebx
push eax
call fcn.00401f84
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x41742e
cmp esi, 3
jle 0x4173de
cmp esi, 0xb
jle 0x41742e
cmp esi, 0xd
je 0x41742e
cmp esi, 0x11
je 0x41742e
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x800b010a
je 0x41742e
push 1
lea eax, [esi + 0x3e8]
push eax
jmp 0x417427
movzx eax, word [ebp - 0x94]
add eax, 0x5c
mov esi, dword [ebp - 0xc8]
sub esi, eax
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042b974
push esi
push eax
call fcn.0046c40e
pop ecx
pop ecx
cmp eax, dword [ebp - 0x1f8]
je 0x41742e
push ebx
push 0x28
call fcn.0040a06d
pop ecx
pop ecx
lea ecx, [ebp - 0xda0]
test byte [0x4def10], 0x20
jne 0x417457
call fcn.00448bcf
mov dword [0x4def54], eax
lea ecx, [ebp - 0xcc]
call fcn.00426615
jmp 0x417596
call fcn.00448bcf
mov ecx, dword [ebp - 0x16c]
sub eax, ecx
mov edx, dword [ebp - 0x20c]
sub eax, edx
mov dword [ebp - 0x40], eax
test eax, eax
jle 0x4174a1
lea esi, [ecx + edx]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00424397
push ebx
push esi
push dword [ebp - 0x40]
push eax
lea ecx, [ebp - 0xda0]
call fcn.004485b2
test al, al
jne 0x4174a1
push ebx
push 0x2a
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [ebp - 0x9c]
dec eax
push eax
movzx eax, word [ebp - 0x94]
add eax, 6
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c39c
movzx eax, word [ebp - 0x94]
push 0x20
pop esi
add eax, esi
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c2db
sub eax, dword [ebp - 0x20c]
movzx ecx, word [ebp - 0x94]
add ecx, esi
push eax
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0042c326
movzx eax, word [ebp - 0x94]
add eax, 0x50
push eax
lea ecx, [ebp - 0xcc]
call fcn.0042c2db
sub eax, dword [ebp - 0x20c]
movzx ecx, word [ebp - 0x94]
add ecx, 0x50
push eax
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0042c326
mov esi, 0x49cb70
cmp dword [ebp - 0xcc], 0
cmovne esi, dword [ebp - 0xcc]
add esi, dword [ebp - 0x150]
movzx eax, word [ebp - 0x9c]
cmp dword [ebp - 0x3c], eax
ja 0x41758b
lea eax, [esi + 0x28]
mov dword [ebp - 0x40], eax
push 0x28
push eax
push esi
call fcn.00480920
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
movzx eax, cx
dec eax
mov edx, dword [ebp - 0x3c]
cmp edx, eax
jae 0x41757d
mov eax, dword [ebp - 0x20c]
sub dword [esi + 0x14], eax
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x3c], edx
movzx eax, cx
cmp edx, eax
jbe 0x41754b
mov eax, dword [ebp - 0xc8]
mov dword [0x4def54], eax
cmp byte [ebp - 0x15], 1
je 0x4177b9
cmp byte [0x4def00], 0
jne 0x4177b9
mov edx, str.LanguageDlg3
mov eax, dword [0x4def34]
sub eax, ebx
je 0x4175d4
sub eax, 1
je 0x4175cd
dec eax
sub eax, 1
jne 0x4175d9
mov edx, str.LanguageDlg4
jmp 0x4175d9
mov edx, str.LanguageDlg
jmp 0x4175d9
mov edx, str.LanguageDlg2
mov ecx, edi
mov eax, dword [0x4e0ba4]
test eax, eax
cmovne ecx, eax
movzx eax, word [0x4e0bb0]
push ecx
push eax
push ebx
push ebx
push 0x40cdf6
push dword [0x4deef4]
push edx
call fcn.00462d01
add esp, 0x1c
cmp eax, 0x3eb
jne 0x4177b9
mov eax, dword [0x4df004]
test eax, eax
mov ecx, 0x49cb70
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e058
push 1
call fcn.0040c1db
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.00426615
lea ecx, [ebp - 0x3c8]
call fcn.00426615
lea ecx, [ebp - 0x49c]
call fcn.00426615
mov dword [ebp - 0x4bc], 0x4a0bc8
lea ecx, [ebp - 0x4bc]
call fcn.0040abdc
lea ecx, [ebp - 0x1d4]
call fcn.00426615
lea ecx, [ebp - 0x258]
call fcn.00426615
lea ecx, [ebp - 0x288]
call fcn.00426615
lea ecx, [ebp - 0x294]
call fcn.00426615
mov dword [ebp - 0x43c], 0x4a0380
lea ecx, [ebp - 0x43c]
call fcn.0040ab26
lea ecx, [ebp - 0x5d0]
call fcn.00426615
lea ecx, [ebp - 0x34c]
call fcn.00426615
lea ecx, [ebp - 0x358]
call fcn.00426615
lea ecx, [ebp - 0x364]
call fcn.00426615
lea ecx, [ebp - 0x4a8]
call fcn.00426615
lea ecx, [ebp - 0x370]
call fcn.00426615
lea ecx, [ebp - 0x448]
call fcn.00426615
lea ecx, [ebp - 0x454]
call fcn.00426615
lea ecx, [ebp - 0x460]
call fcn.00426615
lea ecx, [ebp - 0x46c]
call fcn.00426615
lea ecx, [ebp - 0x37c]
call fcn.00426615
lea ecx, [ebp - 0x388]
call fcn.00426615
lea ecx, [ebp - 0x394]
call fcn.00426615
lea ecx, [ebp - 0x3e0]
call fcn.00426615
lea ecx, [ebp - 0x1c8]
call fcn.00426615
lea ecx, [ebp - 0x3a0]
call fcn.00426615
lea ecx, [ebp - 0x2a0]
call fcn.00426615
lea ecx, [ebp - 0x1ec]
call fcn.00426615
lea ecx, [ebp - 0x2ac]
call fcn.00426615
lea ecx, [ebp - 0x1e0]
call fcn.00426615
lea ecx, [ebp - 0x3d4]
call fcn.00426615
mov esi, 0x49db64
mov dword [ebp - 0x2e4], esi
lea ecx, [ebp - 0x2e4]
call fcn.0040ab81
mov dword [ebp - 0x2f8], esi
lea ecx, [ebp - 0x2f8]
call fcn.0040ab81
jmp 0x420f60
push ebx
lea eax, [ebp - 0x1574]
push eax
call fcn.00408c15
pop ecx
pop ecx
push eax
mov ecx, 0x4e0bf0
call fcn.00408887
lea ecx, [ebp - 0x1574]
call fcn.00426615
push 0x72
lea eax, [ebp - 0xacc]
push eax
call fcn.00408c15
pop ecx
pop ecx
cmp dword [ebp - 0xac8], 0
jle 0x417808
lea eax, [ebp - 0xacc]
push eax
mov ecx, 0x4df0dc
call fcn.00425883
lea ecx, [ebp - 0xacc]
call fcn.00426615
mov eax, dword [0x4deef4]
test eax, eax
je 0x41782d
push 1
push ebx
push eax
call fcn.004647dd
add esp, 0xc
call fcn.00465084
mov al, byte [0x4def02]
cmp al, 2
je 0x41783e
cmp al, 1
jne 0x4178c2
call fcn.00457a0a
movzx ecx, al
xor eax, eax
mov dl, byte [0x4def02]
cmp dl, 2
sete al
cmp eax, ecx
jne 0x4178b1
cmp byte [0x4def00], 0
je 0x41786f
push 1
call fcn.0040c1db
pop ecx
mov dl, byte [0x4def02]
cmp dl, 2
push 0x20
pop eax
push 0x40
pop ebx
cmove ebx, eax
push 0x51
lea eax, [ebp - 0x1580]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne edi, dword [eax]
push ebx
push edi
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0x1580]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
jmp 0x41762f
cmp byte [ebp + 0xb], 0
je 0x4178c2
push str.Wow64DisableWow64FsRedirection___failed
call fcn.00440e8b
pop ecx
lea ecx, [ebp - 0xbd0]
call fcn.004335d0
test al, al
jne 0x4179cf
push 0x7f02
call fcn.004652ca
push eax
call fcn.0046527b
pop ecx
pop ecx
call fcn.00465108
lea ecx, [ebp - 0x1700]
call fcn.00407f42
lea eax, [ebp - 0x1700]
push eax
call fcn.00454277
pop ecx
test al, al
jne 0x417913
lea ecx, [ebp - 0x1700]
call fcn.00433d98
push 0x7f00
call fcn.004652ca
push eax
call fcn.0046527b
pop ecx
pop ecx
call fcn.00465108
lea eax, [ebp - 0xbd0]
push eax
lea ecx, [ebp - 0x1700]
call fcn.00432ec4
test eax, eax
jle 0x4179cf
lea ecx, [ebp - 0xa08]
call fcn.00428cde
push 0x1400
push ebx
lea eax, [ebp - 0x1598]
push eax
lea ecx, [ebp - 0xbd0]
call fcn.00433545
push eax
lea ecx, [ebp - 0xa08]
call fcn.00425883
lea ecx, [ebp - 0x1598]
call fcn.00426615
mov esi, edi
cmp dword [ebp - 0xa08], 0
cmovne esi, dword [ebp - 0xa08]
push 0x3c
lea eax, [ebp - 0x15a4]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0x15a4]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0xa08]
call fcn.00426615
jmp 0x41762f
call fcn.00457a3b
test dword [ebp - 0x7a8], eax
je 0x417a67
lea ecx, [ebp - 0x9e4]
call fcn.00428cde
mov esi, dword [0x4d2290]
push 3
lea eax, [ebp - 0x15b0]
push eax
call fcn.00457b97
push esi
lea ecx, [ebp - 0x9e4]
push ecx
push eax
call fcn.00459d09
add esp, 0x14
lea ecx, [ebp - 0x15b0]
call fcn.00426615
mov esi, edi
cmp dword [ebp - 0x9e4], 0
cmovne esi, dword [ebp - 0x9e4]
push 0x3d
lea eax, [ebp - 0x15bc]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0x15bc]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0x9e4]
jmp 0x4179c5
mov ecx, dword [0x4def08]
mov eax, ecx
and eax, 0x10000
or eax, ebx
je 0x417c77
lea ecx, [ebp - 0x2ac]
call fcn.0040b4a8
test al, al
je 0x417a9b
push 0x4df028
lea ecx, [ebp - 0x2ac]
call fcn.004238e0
lea ecx, [ebp - 0x1ec]
call fcn.0040b4a8
test al, al
je 0x417aba
push 0x4df028
lea ecx, [ebp - 0x1ec]
call fcn.004238e0
push str._master_
lea ecx, [ebp - 0xb4]
call fcn.00427769
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x66c]
call fcn.00428cde
lea ecx, [ebp - 0x660]
call fcn.00428cde
mov ecx, edi
cmp dword [ebp - 0x2ac], 0
cmovne ecx, dword [ebp - 0x2ac]
lea eax, [ebp - 0x660]
push eax
lea eax, [ebp - 0x66c]
push eax
push ecx
call fcn.0045627e
add esp, 0xc
cmp byte [ebp + 0xb], 0
je 0x417b1e
movzx eax, al
xor ecx, ecx
cmp dword [ebp - 0x668], ecx
cmovle eax, ecx
test al, al
jne 0x417b79
mov esi, edi
cmp dword [ebp - 0x1ec], 0
cmovne esi, dword [ebp - 0x1ec]
push 0xc
lea eax, [ebp - 0x15c8]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0x15c8]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0x660]
call fcn.00426615
lea ecx, [ebp - 0x66c]
jmp 0x4179c5
cmp dword [ebp - 0x29c], 0
jle 0x417c43
mov eax, 0x49cb70
mov ecx, eax
cmp dword [ebp - 0x2a0], 0
cmovne ecx, dword [ebp - 0x2a0]
cmp dword [ebp - 0x660], 0
cmovne eax, dword [ebp - 0x660]
push ecx
push eax
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
jns 0x417c43
lea ecx, [ebp - 0x9a8]
call fcn.00428cde
push dword [0x4d2290]
lea eax, [ebp - 0x9a8]
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.00459d09
cmp dword [ebp - 0x1ec], 0
cmovne edi, dword [ebp - 0x1ec]
mov ebx, 0x49cb74
mov esi, ebx
cmp dword [ebp - 0x9a8], 0
cmovne esi, dword [ebp - 0x9a8]
push 0x70
lea eax, [ebp - 0x15d4]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne ebx, dword [eax]
push edi
push esi
push ebx
call fcn.0040b3b8
add esp, 0x20
lea ecx, [ebp - 0x15d4]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0x9a8]
call fcn.00426615
jmp 0x417b63
cmp byte [ebp + 0xb], 0
je 0x417c5b
lea eax, [ebp - 0x66c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00425883
lea ecx, [ebp - 0x660]
call fcn.00426615
lea ecx, [ebp - 0x66c]
call fcn.00426615
mov ecx, dword [0x4def08]
and ecx, 0x100
or ecx, ebx
je 0x417ccc
push ebx
push dword [0x4d2330]
mov esi, 0x4e02a8
mov ecx, esi
call fcn.00468954
test al, al
je 0x417ccc
push ebx
mov ecx, esi
call fcn.0046913e
test al, al
jne 0x417ccc
push 0x5b
lea eax, [ebp - 0x15e0]
push eax
call fcn.00408c15
cmp dword [eax], 0
cmovne edi, dword [eax]
push edi
call fcn.0040b432
add esp, 0xc
lea ecx, [ebp - 0x15e0]
jmp 0x41789f
lea ecx, [ebp - 0x530]
call fcn.00428cde
lea ecx, [ebp - 0x654]
call fcn.00428cde
lea ecx, [ebp - 0x9c0]
call fcn.00428cde
lea ecx, [ebp - 0x9b4]
call fcn.00428cde
mov eax, dword [0x4def08]
and eax, 4
or eax, ebx
je 0x417edd
mov esi, edi
cmp dword [ebp - 0xc0], 0
cmovne esi, dword [ebp - 0xc0]
call fcn.00466c0f
push esi
push eax
lea eax, [ebp - 0x15ec]
push eax
call fcn.004453af
add esp, 0xc
push eax
lea ecx, [ebp - 0x9b4]
call fcn.00425883
lea ecx, [ebp - 0x15ec]
call fcn.00426615
lea ecx, [ebp - 0x17c8]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x9b4], 0
cmovne eax, dword [ebp - 0x9b4]
push 0x2000f
push 0x2024f
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x17c8]
call fcn.0045ed72
test eax, eax
je 0x417e65
push 0x1000
mov esi, 0x49dd3d
push esi
push 0x4a05cc
lea eax, [ebp - 0x15f8]
push eax
lea ecx, [ebp - 0x17c8]
call fcn.0045e263
push eax
lea ecx, [ebp - 0x530]
call fcn.00425883
lea ecx, [ebp - 0x15f8]
call fcn.00426615
push ebx
push esi
push str.DisplayVersion
lea eax, [ebp - 0x1688]
push eax
lea ecx, [ebp - 0x17c8]
call fcn.0045e263
push eax
mov esi, 0x4df058
mov ecx, esi
call fcn.00408887
lea ecx, [ebp - 0x1688]
call fcn.00426615
push ebx
push 0x4e0284
push esi
call fcn.00459d09
add esp, 0xc
push ebx
mov esi, 0x49dd3d
push esi
push str.SharedFiles
lea eax, [ebp - 0x1694]
push eax
lea ecx, [ebp - 0x17c8]
call fcn.0045e263
push eax
lea ecx, [ebp - 0x654]
call fcn.00408887
lea ecx, [ebp - 0x1694]
call fcn.00426615
push 0x1000
push esi
push str.ProductStartMenu
lea eax, [ebp - 0x14fc]
push eax
lea ecx, [ebp - 0x17c8]
call fcn.0045e263
push eax
lea ecx, [ebp - 0x9c0]
call fcn.00408887
lea ecx, [ebp - 0x14fc]
call fcn.00426615
cmp dword [ebp - 0x52c], 0
jg 0x417eac
mov eax, edi
cmp dword [ebp - 0x1e0], 0
cmovne eax, dword [ebp - 0x1e0]
push ebx
push 0x1000
push edi
push eax
lea eax, [ebp - 0x158c]
push eax
call fcn.0045fb49
add esp, 0x14
push eax
lea ecx, [ebp - 0x530]
call fcn.00408887
lea ecx, [ebp - 0x158c]
call fcn.00426615
test dword [0x4def10], 0x2000
je 0x417ed2
mov eax, edi
cmp dword [ebp - 0x1e0], 0
cmovne eax, dword [ebp - 0x1e0]
push 2
push eax
call fcn.004090fc
pop ecx
pop ecx
lea ecx, [ebp - 0x17c8]
call fcn.00408581
mov eax, edi
cmp dword [ebp - 0x530], 0
cmovne eax, dword [ebp - 0x530]
push eax
call fcn.00442526
pop ecx
mov byte [ebp - 0x140], al
mov cl, byte [0x4def00]
test cl, cl
jne 0x417f2d
cmp dword [ebp - 0x39c], 0
jle 0x417f2d
mov eax, edi
cmp dword [ebp - 0x3a0], 0
cmovne eax, dword [ebp - 0x3a0]
push 0x17
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov cl, byte [0x4def00]
mov eax, dword [0x4def08]
mov dword [ebp - 0x40], eax
and eax, 8
or eax, ebx
jne 0x417f60
test cl, cl
jne 0x417fe6
mov eax, dword [0x4def0c]
mov dword [ebp + 8], eax
mov ecx, eax
and ecx, 0x800
mov eax, ebx
or eax, ecx
jne 0x417fe6
jmp 0x417f68
mov eax, dword [0x4def0c]
mov dword [ebp + 8], eax
mov ebx, dword [0x4def30]
push 0x41
lea eax, [ebp - 0x1604]
push eax
call fcn.00408c15
pop ecx
pop ecx
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, dword [0x4deef4]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x40]
sub esp, 0xc
mov eax, esp
push 1
push eax
call fcn.00408c15
pop ecx
pop ecx
push edi
push esi
call fcn.00456ee2
add esp, 0x20
mov bl, al
lea ecx, [ebp - 0x1604]
call fcn.00426615
test bl, bl
jne 0x417fdf
mov ecx, 0x49cb70
mov eax, dword [0x4df004]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e058
push 1
call fcn.0040c1db
add esp, 0xc
jmp 0x417fe1
xor ebx, ebx
mov edi, 0x49cb74
call fcn.0041191b
test al, al
jne 0x417ff4
call fcn.00408efa
cmp byte [0x4def00], 0
jne 0x41820e
push 0x3f
lea eax, [ebp - 0xae4]
push eax
call fcn.00408c15
pop ecx
pop ecx
cmp dword [ebp - 0xae0], 0
jle 0x41802c
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.00407b1d
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x1634]
call fcn.00402541
jmp 0x4180e3
mov esi, dword [ebp - 0x1620]
mov dword [ebp + 8], esi
cmp dword [esi + 4], ebx
jle 0x4180e3
mov eax, 0x49cb70
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043ec2b
pop ecx
test al, al
jne 0x418072
push esi
call fcn.00415750
pop ecx
mov esi, str.LicenseDlg3
mov eax, dword [0x4def38]
sub eax, ebx
je 0x418099
sub eax, 1
je 0x418092
dec eax
sub eax, 1
jne 0x41809e
mov esi, str.LicenseDlg4
jmp 0x41809e
mov esi, str.LicenseDlg
jmp 0x41809e
mov esi, str.LicenseDlg2
mov edx, edi
mov eax, dword [0x4e0ba4]
test eax, eax
cmovne edx, eax
mov ecx, 0x49cb70
mov eax, dword [ebp + 8]
cmp dword [eax], 0
cmovne ecx, dword [eax]
push edx
movzx eax, word [0x4e0bb0]
push eax
push ebx
push ecx
push 0x40d061
push dword [0x4deef4]
push esi
call fcn.00462d01
add esp, 0x1c
cmp eax, 0x3eb
jne 0x4180e3
call fcn.00408efa
lea ecx, [ebp - 0x1634]
call fcn.004025a6
test al, al
jne 0x418043
lea ecx, [ebp - 0xae4]
call fcn.00426615
cmp byte [0x4def00], 0
jne 0x41820e
push 0x40
lea eax, [ebp - 0xaf0]
push eax
call fcn.00408c15
pop ecx
pop ecx
cmp dword [ebp - 0xaec], 0
jle 0x418139
lea eax, [ebp - 0xaf0]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.00407b1d
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x164c]
call fcn.00402541
jmp 0x4181f0
mov esi, dword [ebp - 0x1638]
mov dword [ebp + 8], esi
cmp dword [esi + 4], ebx
jle 0x4181f0
mov eax, 0x49cb70
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043ec2b
pop ecx
test al, al
jne 0x41817f
push esi
call fcn.00415750
pop ecx
mov esi, str.ReadmeDlg3
mov eax, dword [0x4def3c]
sub eax, ebx
je 0x4181a6
sub eax, 1
je 0x41819f
dec eax
sub eax, 1
jne 0x4181ab
mov esi, str.ReadmeDlg4
jmp 0x4181ab
mov esi, str.ReadmeDlg
jmp 0x4181ab
mov esi, str.ReadmeDlg2
mov edx, edi
mov eax, dword [0x4e0ba4]
test eax, eax
cmovne edx, eax
mov ecx, 0x49cb70
mov eax, dword [ebp + 8]
cmp dword [eax], 0
cmovne ecx, dword [eax]
push edx
movzx eax, word [0x4e0bb0]
push eax
push ebx
push ecx
push 0x40da52
push dword [0x4deef4]
push esi
call fcn.00462d01
add esp, 0x1c
cmp eax, 0x3eb
jne 0x4181f0
call fcn.00408efa
lea ecx, [ebp - 0x164c]
call fcn.004025a6
test al, al
jne 0x418150
lea ecx, [ebp - 0xaf0]
call fcn.00426615
cmp dword [0x4defec], 0
je 0x41826f
push 1
call fcn.00409b0b
mov dword [esp], 0x4defe8
lea ecx, [ebp - 0xca8]
call fcn.00402541
jmp 0x418249
mov eax, dword [ebp - 0xc94]
test byte [eax + 0x28], 2
jne 0x418249
lea ecx, [ebp - 0xca8]
call fcn.004021d5
lea ecx, [ebp - 0xca8]
call fcn.004025a6
test al, al
jne 0x418232
push 0x14d
call fcn.004650a5
push dword [0x4deef4]
call fcn.004646f5
pop ecx
pop ecx
mov byte [ebp + 0xb], bl
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x84], bl
mov byte [ebp - 0x35], bl
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x818]
call fcn.004082e7
push closesocket
push 0x4a1024
lea ecx, [ebp - 0x818]
call fcn.00426eae
mov esi, ebx
test al, al
mov eax, reloc.OLEAUT32.dll_SysReAllocString
cmovne esi, eax
push closesocket
push 0x4a1030
lea ecx, [ebp - 0x818]
call fcn.00426eae
mov ecx, closesocket
test al, al
cmovne esi, ecx
test esi, esi
je 0x4183cb
lea ecx, [ebp - 0x1a2c]
call fcn.004081b3
mov eax, edi
cmp dword [ebp - 0x818], 0
cmovne eax, dword [ebp - 0x818]
push 0x40
push edi
push eax
push esi
lea eax, [ebp - 0x1610]
push eax
lea ecx, [ebp - 0x1a2c]
call fcn.0045e31e
push eax
mov esi, 0x4df070
mov ecx, esi
call fcn.00425883
lea ecx, [ebp - 0x1610]
call fcn.00426615
cmp dword [0x4df074], 0
jg 0x418350
mov eax, edi
cmp dword [ebp - 0xb4], 0
cmovne eax, dword [ebp - 0xb4]
push eax
push str.Failed_to_obtain_installation_path_from___s_
call fcn.0040b3b8
push 1
call fcn.0040c1db
add esp, 0xc
push esi
call fcn.0040b585
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00442526
pop ecx
pop ecx
test al, al
jne 0x4183a0
mov edx, edi
cmp dword [ebp - 0xb4], 0
cmovne edx, dword [ebp - 0xb4]
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push edx
push ecx
push str.Installation_path___s__obtained_from___s__does_not_exist.
call fcn.0040b3b8
push 1
call fcn.0040c1db
add esp, 0x10
push 0xffffffffffffffff
push 0x4e02b0
push esi
call fcn.004459c4
add esp, 0xc
lea ecx, [ebp - 0x1a2c]
call fcn.00408581
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
jmp 0x4192c3
mov ecx, dword [0x4def08]
mov eax, ecx
and eax, 4
or eax, ebx
je 0x4189ea
cmp byte [ebp - 0x140], 0
je 0x4189ea
and ecx, 1
or ecx, ebx
je 0x418611
cmp dword [ebp - 0x360], 0
jle 0x418431
mov eax, 0x49cb70
mov edx, eax
cmp dword [ebp - 0x364], 0
cmovne edx, dword [ebp - 0x364]
mov ecx, eax
mov eax, dword [0x4df058]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
jns 0x418611
mov byte [0x4def00], bl
lea ecx, [ebp - 0x588]
call fcn.00428cde
lea ecx, [ebp - 0x1894]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xc0], 0
cmovne esi, dword [ebp - 0xc0]
call fcn.00466c0f
push esi
push eax
lea eax, [ebp - 0x16a0]
push eax
call fcn.004453af
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x20209
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1894]
call fcn.0045ed72
mov esi, eax
lea ecx, [ebp - 0x16a0]
call fcn.00426615
test esi, esi
je 0x41850d
push ebx
push edi
push 0x4a11d4
lea eax, [ebp - 0x16ac]
push eax
lea ecx, [ebp - 0x1894]
call fcn.0045e434
push eax
lea ecx, [ebp - 0x588]
call fcn.00425883
lea ecx, [ebp - 0x16ac]
call fcn.00426615
cmp dword [ebp - 0x584], 0
jg 0x418548
push ebx
push edi
push 0x4a1200
lea eax, [ebp - 0xdac]
push eax
lea ecx, [ebp - 0x1894]
call fcn.0045e434
push eax
lea ecx, [ebp - 0x588]
call fcn.00425883
lea ecx, [ebp - 0xdac]
call fcn.00426615
cmp dword [ebp - 0x584], 0
jg 0x418548
push 9
lea eax, [ebp - 0xdb8]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b432
add esp, 0xc
lea ecx, [ebp - 0xdb8]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
mov ecx, edi
mov eax, dword [0x4e0ba4]
test eax, eax
cmovne ecx, eax
movzx eax, word [0x4e0bb0]
push ecx
push eax
push ebx
push ebx
push 0x40d4cf
push dword [0x4deef4]
push str.MustUninstall
call fcn.00462d01
add esp, 0x1c
cmp eax, 0x3e9
jne 0x4185f3
call sub.KERNEL32.dll_GetCommandLineW
push eax
lea ecx, [ebp - 0x9f0]
call fcn.0040837f
push 1
push 0x60
push 0x22
lea ecx, [ebp - 0x9f0]
call fcn.0042f077
mov eax, edi
cmp dword [ebp - 0x9f0], 0
cmovne eax, dword [ebp - 0x9f0]
push ebx
push 0x4a0170
push eax
push str.__r:_
lea eax, [ebp - 0x588]
push eax
call fcn.004241ba
mov eax, edi
cmp dword [ebp - 0x588], 0
cmovne eax, dword [ebp - 0x588]
push ebx
push ebx
push 0x880
push eax
call fcn.00457e94
add esp, 0x24
lea ecx, [ebp - 0x9f0]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0x1894]
call fcn.00408581
lea ecx, [ebp - 0x588]
call fcn.00426615
lea ecx, [ebp - 0x1960]
call fcn.004081b3
mov esi, edi
cmp dword [ebp - 0xc0], 0
cmovne esi, dword [ebp - 0xc0]
call fcn.00466c0f
push esi
push eax
lea eax, [ebp - 0xdc4]
push eax
call fcn.004453af
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x2000f
push 0x2024f
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1960]
call fcn.0045ed72
mov esi, eax
lea ecx, [ebp - 0xdc4]
call fcn.00426615
test esi, esi
je 0x418763
lea ecx, [ebp - 0x518]
call fcn.00428cde
push ebx
push 0x49dd3d
push str.NoDowngradeBelow
lea eax, [ebp - 0xdd0]
push eax
lea ecx, [ebp - 0x1960]
call fcn.0045e263
push eax
lea ecx, [ebp - 0x518]
call fcn.00425883
lea ecx, [ebp - 0xdd0]
call fcn.00426615
lea ecx, [ebp - 0x518]
call fcn.004126b7
cmp dword [ebp - 0x514], 0
jle 0x418758
mov eax, 0x49cb70
mov edx, eax
cmp dword [ebp - 0x518], 0
cmovne edx, dword [ebp - 0x518]
mov ecx, eax
mov eax, dword [0x4df0d0]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
jns 0x418758
cmp byte [0x4def00], 0
jne 0x418750
push ebx
lea eax, [ebp - 0x518]
push eax
call fcn.00459ce6
mov esi, edi
cmp dword [ebp - 0x518], 0
cmovne esi, dword [ebp - 0x518]
push 0x6a
lea eax, [ebp - 0xddc]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
add esp, 0x18
lea ecx, [ebp - 0xddc]
call fcn.00426615
push 1
call fcn.0040c1db
pop ecx
lea ecx, [ebp - 0x518]
call fcn.00426615
lea ecx, [ebp - 0x1960]
call fcn.00408581
mov ecx, dword [0x4def0c]
and ecx, 0x10
mov eax, ebx
or eax, ecx
je 0x4187ed
mov ecx, 0x4df058
call fcn.0040b4a8
test al, al
jne 0x4187ed
mov ecx, 0x4df0d0
call fcn.0040b4a8
test al, al
jne 0x4187ed
mov ecx, 0x49cb70
mov edx, ecx
mov eax, dword [0x4df0d0]
test eax, eax
cmovne edx, eax
mov eax, dword [0x4df058]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
jne 0x4187ce
mov byte [ebp - 0x35], 1
mov dword [ebp - 0x60], 4
jmp 0x4187f4
js 0x4187e0
mov dword [ebp - 0x60], 6
mov byte [ebp - 0x84], 1
jmp 0x4187f4
mov dword [ebp - 0x60], 5
mov byte [ebp - 0x55], 1
jmp 0x4187f4
mov dword [ebp - 0x60], 3
cmp byte [0x4def00], 0
jne 0x4189d0
mov eax, dword [0x4def08]
and eax, 0x10000000
or eax, ebx
jne 0x4189d0
lea ecx, [ebp - 0x9fc]
call fcn.00428cde
push 7
lea eax, [ebp - 0xdf4]
push eax
call fcn.00408c15
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, 0x49cb74
cmp dword [ebp - 0x530], 0
cmovne ebx, dword [ebp - 0x530]
mov esi, dword [0x4d23a4]
push dword [ebp - 0x60]
lea eax, [ebp - 0xde8]
push eax
call fcn.00408c15
mov ecx, 0x49cb74
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 - 0x9fc]
push eax
call fcn.0042fb87
add esp, 0x2c
lea ecx, [ebp - 0xde8]
call fcn.00426615
lea ecx, [ebp - 0xdf4]
call fcn.00426615
push 2
lea eax, [ebp - 0xe00]
push eax
call fcn.00408c15
mov edi, 0x49cb74
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x9fc], 0
cmovne eax, dword [ebp - 0x9fc]
push ecx
push eax
call fcn.0040f622
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xe00]
call fcn.00426615
test bl, bl
jne 0x4188e9
call fcn.00408efa
mov ecx, dword [0x4def0c]
and ecx, 0x1000
xor ebx, ebx
mov eax, ebx
or eax, ecx
je 0x4189c5
mov ecx, 0x4df058
call fcn.0040b4a8
test al, al
jne 0x4189c5
lea ecx, [ebp - 0x370]
call fcn.0040b4a8
test al, al
jne 0x41894f
mov eax, 0x49cb70
mov edx, eax
cmp dword [ebp - 0x370], ebx
cmovne edx, dword [ebp - 0x370]
mov ecx, eax
mov eax, dword [0x4df058]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.004316cb
pop ecx
pop ecx
test eax, eax
jns 0x4189c5
push 0x14
lea eax, [ebp - 0xe18]
push eax
call fcn.00408c15
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push 0x48
lea eax, [ebp - 0xe0c]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040f550
add esp, 0x18
mov bl, al
lea ecx, [ebp - 0xe0c]
call fcn.00426615
lea ecx, [ebp - 0xe18]
call fcn.00426615
test bl, bl
jne 0x4189c3
mov ecx, 0x49cb70
mov eax, dword [0x4df004]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e058
push 1
call fcn.0040c1db
add esp, 0xc
jmp 0x4189c5
xor ebx, ebx
lea ecx, [ebp - 0x9fc]
call fcn.00426615
mov byte [ebp + 0xb], 1
push 0xffffffffffffffff
push 0x4e02b0
lea eax, [ebp - 0x530]
push eax
call fcn.004459c4
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
cmp byte [ebp + 0xb], 0
jne 0x4192be
cmp dword [0x4e02b4], 0
jg 0x418a1e
push 0xffffffffffffffff
push 0x4e02b0
lea eax, [ebp - 0xb4]
push eax
call fcn.004459c4
add esp, 0xc
push 0x5c
mov ecx, 0x4e02b0
call fcn.00426fc4
push ebx
mov esi, 0x4df070
push esi
push 0x4e02b0
call fcn.004466d3
add esp, 0xc
cmp byte [0x4def00], 0
jne 0x419332
mov eax, dword [0x4def08]
and eax, 0x80
or eax, ebx
je 0x419332
call fcn.00411849
test al, al
jne 0x418a6b
call fcn.00408efa
mov ecx, esi
call fcn.00431a04
push 0x5c
mov ecx, esi
call fcn.00426fc4
cmp dword [0x4df074], 0
jle 0x418a5d
push 0xffffffffffffffff
push 0x4e02b0
push esi
call fcn.004459c4
mov byte [ebp + 0xb], 1
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00442986
add esp, 0x10
test al, al
je 0x418ac5
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00445c5f
pop ecx
test al, al
jne 0x418ac8
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.004673ea
pop ecx
call fcn.004429da
add esp, 0x18
test al, al
jne 0x418b0a
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467499
pop ecx
call fcn.004429da
add esp, 0x18
test al, al
je 0x418b0d
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467d1e
pop ecx
call fcn.004429da
add esp, 0x18
test al, al
jne 0x418b4f
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00467f42
pop ecx
call fcn.004429da
add esp, 0x18
test al, al
je 0x418b52
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
push esp
call fcn.00468281
pop ecx
call fcn.004429da
add esp, 0x18
movzx ecx, byte [ebp + 0xb]
xor edx, edx
test al, al
cmovne ecx, edx
mov eax, dword [0x4df070]
test cl, cl
jne 0x418bed
test eax, eax
cmovne edi, eax
mov esi, dword [str._r_n_r_n]
push 0xe
lea eax, [ebp - 0xe30]
push eax
call fcn.00408c15
mov ecx, 0x49cb74
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0xe24]
push eax
call fcn.0043052b
mov edi, 0x49cb74
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b432
add esp, 0x20
lea ecx, [ebp - 0xe24]
call fcn.00426615
lea ecx, [ebp - 0xe30]
call fcn.00426615
mov esi, 0x4df070
jmp 0x418a5d
mov ecx, edi
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.00445794
pop ecx
pop ecx
mov byte [ebp - 0x7c], al
test al, al
je 0x418c3e
lea eax, [ebp - 0x7c]
push eax
call fcn.00442d1a
pop ecx
test al, al
jne 0x418c3e
movsx esi, byte [ebp - 0x7c]
push 0x10
lea eax, [ebp - 0xe3c]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0xe3c]
jmp 0x418bde
mov ecx, dword [0x4def0c]
and ecx, 0x20
mov eax, ebx
or eax, ecx
je 0x418c9f
push closesocket
push 0x49def4
mov ecx, esi
call fcn.0042b76f
test al, al
jne 0x418c70
lea eax, [ebp - 0x7c]
push eax
call fcn.00442dff
pop ecx
test al, al
je 0x418c9f
push 0x42
lea eax, [ebp - 0xe48]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b432
lea ecx, [ebp - 0xe48]
add esp, 0xc
call fcn.00426615
jmp 0x418a5d
mov eax, dword [0x4df074]
and eax, 0xfffffffe
cmp eax, 6
jg 0x418cd0
push 0x11
lea eax, [ebp - 0xe54]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b432
lea ecx, [ebp - 0xe54]
jmp 0x418c92
lea ecx, [ebp - 0x3f8]
call fcn.00428cde
push 1
lea eax, [ebp - 0xe60]
push eax
call fcn.00467b95
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00425883
lea ecx, [ebp - 0xe60]
call fcn.00426615
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3f8]
push eax
call fcn.004082e7
call fcn.00442aef
add esp, 0x18
test al, al
je 0x418d70
mov esi, edi
cmp dword [ebp - 0x3f8], 0
cmovne esi, dword [ebp - 0x3f8]
push 0x12
lea eax, [ebp - 0xe6c]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
lea ecx, [ebp - 0xe6c]
add esp, 0x10
call fcn.00426615
lea ecx, [ebp - 0x3f8]
jmp 0x418bde
push 2
lea eax, [ebp - 0xe78]
push eax
call fcn.00467b95
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00425883
lea ecx, [ebp - 0xe78]
call fcn.00426615
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082e7
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3f8]
push eax
call fcn.004082e7
call fcn.00442aef
add esp, 0x18
test al, al
je 0x418df7
mov esi, edi
cmp dword [ebp - 0x3f8], 0
cmovne esi, dword [ebp - 0x3f8]
push 0x12
lea eax, [ebp - 0xe84]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
lea ecx, [ebp - 0xe84]
jmp 0x418d5d
lea ecx, [ebp - 0x3f8]
call fcn.00426615
mov dl, byte [ebp - 0x7c]
test dl, dl
je 0x418e49
lea eax, [ebp - 0x7c]
push eax
call fcn.00442e25
pop ecx
test al, al
je 0x418e46
movsx esi, byte [ebp - 0x7c]
push 0x60
lea eax, [ebp - 0xe90]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0xe90]
jmp 0x418bde
mov dl, byte [ebp - 0x7c]
mov ecx, dword [0x4def0c]
and ecx, 0x800000
mov eax, ebx
or eax, ecx
je 0x418e9c
test dl, dl
je 0x418e9c
lea eax, [ebp - 0x7c]
push eax
call fcn.00442e12
pop ecx
test al, al
je 0x418e9c
movsx esi, byte [ebp - 0x7c]
push 0x60
lea eax, [ebp - 0xe9c]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0xe9c]
jmp 0x418bde
test dword [0x4def10], 0x10000
je 0x418eda
mov ecx, esi
call fcn.00425ad7
test al, al
jne 0x418eda
push 0x1e
lea eax, [ebp - 0xea8]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b432
lea ecx, [ebp - 0xea8]
jmp 0x418c92
push 0x4d22f4
push dword [ebp - 0x7c]
call fcn.0040b50d
pop ecx
pop ecx
mov dword [ebp - 0x164], eax
mov esi, edx
mov dword [ebp - 0x160], esi
cmp byte [ebp - 0x140], 0
jne 0x419036
cmp byte [0x4def00], 0
jne 0x419036
cmp byte [ebp - 0x7c], 0
je 0x419036
lea eax, [ebp - 0x7c]
push eax
call fcn.00442dd9
pop ecx
mov ebx, eax
mov eax, edx
mov dword [ebp + 8], eax
cmp esi, eax
jl 0x419036
jg 0x418f42
cmp dword [ebp - 0x164], ebx
jbe 0x419036
lea ecx, [ebp - 0x7b8]
call fcn.00428cde
push dword [ebp + 8]
push ebx
lea eax, [ebp - 0xecc]
push eax
call fcn.0042504e
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
movsx edi, byte [ebp - 0x7c]
push dword [ebp - 0x160]
push dword [ebp - 0x164]
lea eax, [ebp - 0xec0]
push eax
call fcn.0042504e
mov esi, 0x49cb74
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x13
lea eax, [ebp - 0xeb4]
push eax
call fcn.00408c15
mov ecx, 0x49cb74
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0x7b8]
push eax
call fcn.004286e6
add esp, 0x34
lea ecx, [ebp - 0xeb4]
call fcn.00426615
lea ecx, [ebp - 0xec0]
call fcn.00426615
lea ecx, [ebp - 0xecc]
call fcn.00426615
push 0x14
lea eax, [ebp - 0xed8]
push eax
call fcn.00408c15
mov edi, 0x49cb74
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x7b8], 0
cmovne eax, dword [ebp - 0x7b8]
push ecx
push eax
call fcn.0040f622
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xed8]
call fcn.00426615
lea ecx, [ebp - 0x7b8]
test bl, bl
jne 0x419031
call fcn.00426615
xor ebx, ebx
jmp 0x418be3
call fcn.00426615
lea ecx, [ebp - 0x594]
call fcn.00428cde
call fcn.00465259
call fcn.00465108
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00442526
pop ecx
mov bl, al
call fcn.004652da
mov esi, edi
mov eax, dword [0x4df070]
test bl, bl
je 0x4190ad
xor ebx, ebx
mov byte [ebp + 0xb], bl
test eax, eax
cmovne esi, eax
push 0x16
lea eax, [ebp - 0xee4]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x594]
push eax
call fcn.004286e6
add esp, 0x14
lea ecx, [ebp - 0xee4]
call fcn.00426615
jmp 0x4190ea
mov byte [ebp + 0xb], 1
test eax, eax
cmovne esi, eax
push 0x17
lea eax, [ebp - 0xef0]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x594]
push eax
call fcn.004286e6
add esp, 0x14
lea ecx, [ebp - 0xef0]
call fcn.00426615
xor ebx, ebx
mov eax, dword [0x4def08]
and eax, 0x80000000
or eax, ebx
je 0x419146
push 0x18
lea eax, [ebp - 0xefc]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x594], 0
cmovne eax, dword [ebp - 0x594]
push ecx
push eax
call fcn.0040f622
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xefc]
call fcn.00426615
test bl, bl
jne 0x419144
lea ecx, [ebp - 0x594]
jmp 0x419025
xor ebx, ebx
cmp byte [ebp + 0xb], 0
je 0x41921b
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421b2
pop ecx
test al, al
jne 0x41921b
lea ecx, [ebp - 0x840]
call fcn.00428cde
lea eax, [ebp - 0xf14]
push eax
call fcn.00458f68
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, 0x49cb74
mov eax, dword [0x4df070]
test eax, eax
cmovne ebx, eax
mov esi, dword [0x4d23a4]
push 0x19
lea eax, [ebp - 0xf08]
push eax
call fcn.00408c15
mov ecx, 0x49cb74
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 - 0x840]
push eax
call fcn.0042fb87
add esp, 0x28
lea ecx, [ebp - 0xf08]
call fcn.00426615
lea ecx, [ebp - 0xf14]
call fcn.00426615
mov edi, 0x49cb74
mov eax, edi
cmp dword [ebp - 0x840], 0
cmovne eax, dword [ebp - 0x840]
push eax
call fcn.0040b432
pop ecx
lea ecx, [ebp - 0x840]
call fcn.00426615
jmp 0x419139
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ebx
push ebx
push ecx
lea eax, [ebp - 0x7c4]
push eax
call fcn.00443b4b
add esp, 0x10
cmp dword [ebp - 0x7c0], 0
jg 0x41928f
mov esi, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne esi, eax
push 0x49
lea eax, [ebp - 0xf20]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b3b8
add esp, 0x10
lea ecx, [ebp - 0xf20]
call fcn.00426615
lea ecx, [ebp - 0x7c4]
call fcn.00426615
lea ecx, [ebp - 0x594]
jmp 0x418bde
mov eax, edi
cmp dword [ebp - 0x7c4], 0
cmovne eax, dword [ebp - 0x7c4]
push ebx
push eax
call fcn.004444b6
pop ecx
pop ecx
lea ecx, [ebp - 0x7c4]
call fcn.00426615
lea ecx, [ebp - 0x594]
call fcn.00426615
mov esi, 0x4df070
push 0x5c
mov ecx, 0x4e02b0
call fcn.00426fc4
push ebx
push esi
push 0x4e02b0
call fcn.004466d3
mov esi, 0x49cb70
mov ecx, esi
mov eax, dword [0x4e02b0]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0044574e
mov byte [ebp - 0x3e8], al
lea eax, [ebp - 0x3e8]
push eax
call fcn.00442e12
add esp, 0x18
mov byte [0x4def27], al
cmp byte [ebp - 0x140], 0
je 0x41934a
cmp dword [ebp - 0x9bc], 0
jle 0x419390
lea eax, [ebp - 0x9c0]
push eax
mov ecx, 0x4df064
call fcn.004238e0
jmp 0x419390
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421b2
pop ecx
jmp 0x4192c3
push 0x4df064
call fcn.00415750
pop ecx
cmp byte [0x4def00], 0
jne 0x419390
mov ecx, dword [0x4def0c]
and ecx, 4
mov eax, ebx
or eax, ecx
je 0x419390
cmp byte [0x4def27], 0
je 0x419382
test dword [0x4def10], 0x800
jne 0x419390
call fcn.004118af
test al, al
jne 0x419390
call fcn.00408efa
mov ecx, edi
mov eax, dword [0x4df064]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004123d6
call fcn.0045773f
call fcn.0040fcd7
mov ecx, esi
mov eax, dword [0x4e02c8]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e058
add esp, 0xc
push 0x80
push 0x20000000
push 0x49dd3d
mov ecx, 0x4e01c0
call fcn.0044815c
push 1
push ebx
call fcn.00460a87
pop ecx
pop ecx
test al, al
jne 0x4193f4
push str.Warning:_the_installer_does_not_have_admin_rights._r_n_r_n
call fcn.0040ea08
pop ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x830], xmm0
test byte [0x4def10], 2
je 0x4194db
push 0x61
call fcn.00409c78
mov dword [esp], str.Creating_restore_point...
call fcn.0040ea08
mov dword [esp], 0x4df028
lea ecx, [ebp - 0x858]
call fcn.004082e7
cmp dword [0x4e0294], 0
jg 0x41944f
push 0x4e0290
push 0x49de7c
lea ecx, [ebp - 0x858]
call fcn.00424827
lea ecx, [ebp - 0x84c]
call fcn.00428cde
mov eax, edi
cmp dword [ebp - 0x858], 0
cmovne eax, dword [ebp - 0x858]
lea ecx, [ebp - 0x84c]
push ecx
push eax
lea ecx, [ebp - 0x830]
call fcn.0045fe48
test al, al
jne 0x4194af
mov eax, esi
cmp dword [ebp - 0x84c], 0
cmovne eax, dword [ebp - 0x84c]
push ebx
push dword [0x4d23a0]
push eax
push str.FAILED_r_n
call fcn.0040e9ac
add esp, 0x10
and dword [0x4def10], 0xfffffffd
jmp 0x4194ba
push 0x49fc5c
call fcn.0040ea08
pop ecx
push 0x49dd3d
call fcn.0040fbcf
pop ecx
lea ecx, [ebp - 0x84c]
call fcn.00426615
lea ecx, [ebp - 0x858]
call fcn.00426615
push 0x71
call fcn.00409c78
push 1
call fcn.0040fbac
mov edx, edi
mov eax, dword [0x4e0254]
test eax, eax
cmovne edx, eax
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf2c]
push eax
call fcn.004453af
add esp, 0x14
push eax
mov ecx, 0x4e02e0
call fcn.00425883
lea ecx, [ebp - 0xf2c]
call fcn.00426615
push 0xffffffffffffffff
push 0x4e0154
push 0x4e02e0
call fcn.004459c4
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004123d6
add esp, 0x10
cmp dword [0x4e0258], 0
jle 0x4195b5
mov ecx, edi
mov eax, dword [0x4e02e0]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421b2
pop ecx
test al, al
jne 0x4195b5
mov esi, dword [0x4d23a4]
lea eax, [ebp - 0xf38]
push eax
call fcn.00458f68
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4e02e0]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a12b0
push ecx
push str.Failed_to_create_uninstall_data_folder__
call fcn.0040e9da
add esp, 0x1c
lea ecx, [ebp - 0xf38]
call fcn.00426615
mov eax, dword [0x4def08]
and eax, 4
or eax, ebx
jne 0x4195cb
mov ecx, 0x4df0a0
jmp 0x419708
cmp dword [ebp - 0x278], 0
jle 0x419620
cmp byte [0x4def27], 0
je 0x419620
mov edx, edi
cmp dword [ebp - 0x27c], 0
cmovne edx, dword [ebp - 0x27c]
mov ecx, edi
mov eax, dword [0x4df070]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf44]
push eax
call fcn.004453af
add esp, 0xc
push eax
mov ecx, 0x4df0a0
call fcn.00425883
lea ecx, [ebp - 0xf44]
jmp 0x419708
lea ecx, [ebp - 0x678]
call fcn.00428cde
movzx eax, byte [ebp - 0xda]
sub eax, 1
je 0x4196bf
sub eax, 1
je 0x41969b
sub eax, 1
je 0x419677
xor eax, eax
cmp byte [0x4def02], 1
setne al
add eax, 2
push eax
lea eax, [ebp - 0xf50]
push eax
call fcn.004671fc
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x678]
call fcn.00425883
lea ecx, [ebp - 0xf50]
jmp 0x4196de
push 2
lea eax, [ebp - 0xf5c]
push eax
call fcn.004671fc
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x678]
call fcn.00425883
lea ecx, [ebp - 0xf5c]
jmp 0x4196de
push 1
lea eax, [ebp - 0xf68]
push eax
call fcn.004671fc
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x678]
call fcn.00425883
lea ecx, [ebp - 0xf68]
jmp 0x4196de
lea eax, [ebp - 0xf74]
push eax
call fcn.0046706c
pop ecx
push eax
lea ecx, [ebp - 0x678]
call fcn.00425883
lea ecx, [ebp - 0xf74]
call fcn.00426615
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x678]
push eax
call fcn.004082e7
push 0x4df0a0
call fcn.00445fdc
add esp, 0x14
lea ecx, [ebp - 0x678]
call fcn.00426615
cmp dword [0x4df0a4], 0
jle 0x41979d
mov ecx, edi
mov eax, dword [0x4df0a0]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004421b2
pop ecx
test al, al
jne 0x419778
mov esi, dword [0x4d23a4]
lea eax, [ebp - 0xf80]
push eax
call fcn.00458f68
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4df0a0]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x4a12b0
push ecx
push str.Failed_to_create_shared_folder__
call fcn.0040e9da
add esp, 0x1c
lea ecx, [ebp - 0xf80]
call fcn.00426615
mov ecx, dword [0x4def0c]
and ecx, 0x40000000
mov eax, ebx
or eax, ecx
je 0x41979d
mov ecx, edi
mov eax, dword [0x4df0a0]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004123d6
pop ecx
mov eax, dword [ebp - 0x164]
or eax, dword [ebp - 0x160]
jne 0x4197c9
push 0x4d22f4
push dword [ebp - 0x3e8]
call fcn.0040b50d
pop ecx
pop ecx
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], edx
mov edx, dword [0x4def0c]
mov ecx, edx
and ecx, 0x1000000
mov eax, ebx
or eax, ecx
je 0x4197f3
cmp byte [0x4def27], 0
je 0x4197f3
and dword [0x4def08], 0xfffffffb
mov dword [0x4def0c], edx
lea ecx, [ebp - 0x394]
call fcn.00427456
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x394]
call fcn.0042406c
test byte [0x4def10], 0x40
mov ecx, str.Pre_Installation_Batch
push 0
pop eax
cmove ecx, eax
mov eax, dword [0x4def08]
and eax, 0x800000
or eax, ebx
mov al, 1
jne 0x419834
mov al, bl
push ecx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x394]
push eax
call fcn.004082e7
call fcn.00410ae1
add esp, 0x14
cmp byte [ebp - 0x55], 0
je 0x41989c
mov edx, dword [0x4def10]
and edx, 0x100
neg edx
sbb edx, edx
and edx, str.Upgrade_Batch
mov ecx, dword [0x4def0c]
and ecx, 0x10000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x419881
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x454]
push eax
call fcn.004082e7
call fcn.00410ae1
add esp, 0x14
cmp byte [ebp - 0x140], 0
je 0x4198f7
mov edx, dword [0x4def10]
cmp byte [ebp - 0x35], 0
jne 0x4198b6
test dl, 1
jne 0x4198f7
and edx, 0x200
neg edx
sbb edx, edx
and edx, str.Reinstall_Batch
mov ecx, dword [0x4def0c]
and ecx, 0x20000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x4198dc
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x448]
push eax
call fcn.004082e7
call fcn.00410ae1
add esp, 0x14
push 8
call fcn.00409c78
push 2
call fcn.0040fbac
pop ecx
pop ecx
lea ecx, [ebp - 0x9cc]
call fcn.00428cde
cmp byte [ebp - 0xdb], 0
jne 0x419933
mov ecx, dword [ebp - 0x148]
sub dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x208]
add eax, ecx
mov dword [0x4def18], eax
jmp 0x41999b
mov esi, dword [ebp - 0x148]
add esi, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1f4]
sub eax, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x80]
push eax
lea ecx, [ebp - 0x9cc]
call fcn.00423cdd
mov ecx, 0x49cb70
cmp dword [ebp - 0x9cc], 0
cmovne ecx, dword [ebp - 0x9cc]
mov dword [0x4def18], ecx
mov eax, esi
cdq
push edx
push eax
push dword [ebp - 0x44]
push ecx
lea ecx, [ebp - 0xda0]
call fcn.004485b2
test al, al
jne 0x41999b
push esi
push dword [ebp - 0x44]
push str.Error_code_2:_failed_to_read_archive_data_r_nsize_d_pos_d
call fcn.00440f6f
add esp, 0xc
mov esi, dword [ebp - 0x80]
cmp dword [ebp - 0x44], esi
je 0x4199ad
push ebx
push 0x2e
call fcn.0040a06d
pop ecx
pop ecx
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f215
push 0x3e
call fcn.00409c78
push 0x15
call fcn.0040fbac
push esi
push dword [0x4def18]
call fcn.0046c40e
add esp, 0x14
cmp eax, dword [ebp - 0x1f0]
je 0x4199e6
push ebx
push 0x37
call fcn.0040a06d
pop ecx
pop ecx
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f215
mov esi, dword [0x4def18]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x1f8], esi
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x144], eax
push 0x36
call fcn.00409c78
push 0x1a
call fcn.0040fbac
push 1
call fcn.0040a409
push 0x1b
call fcn.0040fbac
add esp, 0x14
lea ecx, [ebp - 0xc78]
call fcn.00407dec
lea ecx, [ebp - 0xb74]
call fcn.00407dec
lea ecx, [ebp - 0xb64]
call fcn.00407dec
lea ecx, [ebp - 0xb54]
call fcn.00407dec
push dword [ebp - 0x174]
lea ecx, [ebp - 0x16c8]
call fcn.00407d5a
lea ecx, [ebp - 0x56c]
call fcn.00428cde
mov byte [ebp - 0x82], bl
lea ecx, [ebp - 0xbe4]
call fcn.004237da
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x68], 0x2010f
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x174]
jge 0x41b329
lea ecx, [ebp - 0x21c]
call fcn.00428cde
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0xbe4]
call fcn.00425909
test al, al
jne 0x419bd0
push 0x1d
call fcn.00409c78
pop ecx
mov edi, dword [esi]
add esi, 4
mov dword [ebp - 0x54], esi
mov ecx, dword [ebp - 0x80]
sub ecx, 4
mov dword [ebp - 0x80], ecx
test edi, edi
jg 0x419aea
push ebx
push 0x3d
call fcn.0040a06d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x80]
cmp edi, ecx
jle 0x419afb
push ebx
push 0x3f
call fcn.0040a06d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x80]
mov esi, dword [esi]
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
sub ecx, 4
mov dword [ebp - 0x80], ecx
push edi
push eax
lea ecx, [ebp - 0x684]
call fcn.00408360
lea eax, [ebp - 0x684]
push eax
call fcn.0046c42c
pop ecx
cmp eax, esi
je 0x419b34
push ebx
push 0x3e
call fcn.0040a06d
pop ecx
pop ecx
test dword [0x4def10], 0x1000
je 0x419b5b
mov esi, 0x4df0f8
mov ecx, esi
call fcn.0042330f
lea eax, [ebp - 0x684]
push eax
push eax
mov ecx, esi
call fcn.004231a7
mov eax, dword [0x4def08]
and eax, 0x20
or eax, ebx
je 0x419b84
push ebx
lea eax, [ebp - 0x684]
push eax
call fcn.00402d59
pop ecx
pop ecx
test al, al
jne 0x419b84
push ebx
push 0x3c
call fcn.0040a06d
pop ecx
pop ecx
lea eax, [ebp - 0x684]
push eax
lea ecx, [ebp - 0xbe4]
call fcn.00427e5a
mov esi, dword [ebp - 0x54]
add esi, edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x1f8], esi
mov eax, dword [ebp - 0x80]
sub eax, edi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x144], eax
dec dword [ebp - 0x3c]
lea ecx, [ebp - 0x684]
call fcn.00426615
lea ecx, [ebp - 0x21c]
call fcn.00426615
jmp 0x41b316
mov eax, 0x49cb70
cmp dword [ebp - 0x21c], 0
cmovne eax, dword [ebp - 0x21c]
mov dword [0x4def18], eax
call fcn.00409cad
imul eax, dword [ebp - 0x3c], 0x3e
cdq
idiv dword [ebp - 0x174]
add eax, 0x1c
push eax
call fcn.0040fbac
pop ecx
call fcn.0041239e
push eax
lea ecx, [ebp - 0x198]
call fcn.00401a8c
cmp dword [ebp - 0x194], 0
jg 0x419c26
push ebx
push 0x46
call fcn.0040a06d
pop ecx
pop ecx
call fcn.0041237a
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.0041237a
mov dword [ebp - 0x64], eax
call fcn.0041237a
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa1c], ebx
or dword [ebp - 0xa14], 0xffffffff
lea eax, [ebp - 0xa20]
push eax
call fcn.00407c1c
pop ecx
call fcn.0041239e
push eax
lea ecx, [ebp - 0xd8]
call fcn.00401a8c
lea ecx, [ebp - 0x31c]
call fcn.00428cde
mov eax, dword [ebp - 0x64]
and eax, 3
mov dword [ebp - 0x3bc], eax
je 0x419c9d
call fcn.004123b9
push closesocket
push eax
lea ecx, [ebp - 0x31c]
call fcn.0042fedc
call fcn.0041239e
push eax
lea ecx, [ebp - 0x18c]
call fcn.00401a8c
call fcn.004123b9
push eax
lea ecx, [ebp - 0xf8]
call fcn.0040837f
call fcn.0041239e
push eax
lea ecx, [ebp - 0x304]
call fcn.00401a8c
cmp esi, 0xb
jne 0x419ced
call fcn.0041237a
cmp byte [0x4def26], 0
push 2
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x4d22f4]
mov eax, dword [ecx + 0x88]
push dword [ebp - 0x3c]
mov ecx, 0x4d22f4
call eax
mov esi, dword [eax]
mov dword [ebp - 0x1f0], esi
test esi, esi
jns 0x419d19
push ebx
push 0x47
call fcn.0040a06d
pop ecx
pop ecx
cmp esi, 0x40000000
jle 0x419d2b
push ebx
push 0x48
call fcn.0040a06d
pop ecx
pop ecx
mov eax, dword [0x4def18]
mov dword [ebp - 0x1f4], eax
add eax, esi
mov dword [0x4def18], eax
call fcn.0041237a
mov esi, eax
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
call fcn.0046c40e
pop ecx
pop ecx
cmp eax, esi
je 0x419d65
push ebx
push 0x64
call fcn.0040a06d
pop ecx
pop ecx
call fcn.00465038
lea ecx, [ebp - 0xa8]
call fcn.00428cde
push ebx
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.004466d3
add esp, 0xc
cmp dword [ebp - 0xf4], 0
jle 0x419dd0
push 0x5c
lea ecx, [ebp - 0xf8]
call fcn.00425b87
test al, al
jne 0x419dd0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00425883
push 0xffffffffffffffff
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004459c4
add esp, 0xc
mov esi, dword [ebp - 0x44]
cmp esi, 1
jne 0x419e62
cmp byte [0x4def27], 0
je 0x419e62
cmp dword [ebp - 0x278], 0
jle 0x419e62
cmp dword [ebp - 0xf4], 0
jle 0x419e57
push 0x5c
lea ecx, [ebp - 0xf8]
call fcn.00425b87
test al, al
je 0x419e57
lea ecx, [ebp - 0xf8]
call fcn.00426615
mov byte [ebp + 0xb], bl
lea ecx, [ebp - 0x78]
call fcn.00428cde
cmp dword [ebp - 0xf4], 0
jle 0x419f2b
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x78]
call fcn.004238e0
lea eax, [ebp - 0x78]
push eax
call fcn.0040b585
mov dword [esp], closesocket
push 0x49def4
lea ecx, [ebp - 0x78]
call fcn.00427116
test al, al
je 0x419eb4
push 0x5c
lea ecx, [ebp - 0x78]
call fcn.004248fa
mov eax, 0x4df0a0
cmp esi, 1
mov ecx, 0x4df070
cmovne eax, ecx
push ebx
sub esp, 0xc
mov ecx, esp
push eax
call fcn.004082e7
lea eax, [ebp - 0x78]
push eax
call fcn.00445fdc
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x78]
call fcn.0041259c
test al, al
je 0x41a0f2
mov eax, edi
cmp dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xf8c]
push eax
call fcn.00445839
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
lea eax, [ebp - 0x78]
push eax
call fcn.00445287
add esp, 0x10
lea ecx, [ebp - 0xf8c]
jmp 0x41a0ed
test byte [ebp - 0x64], 0x40
je 0x419f7a
mov edx, edi
cmp dword [ebp - 0xa8], 0
cmovne edx, dword [ebp - 0xa8]
mov ecx, edi
mov eax, dword [0x4e02e0]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf98]
push eax
call fcn.004453af
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
call fcn.00425883
lea ecx, [ebp - 0xf98]
call fcn.00426615
mov byte [ebp + 0xb], bl
jmp 0x41a158
cmp esi, 5
jg 0x41a0a7
je 0x41a0b1
cmp esi, 8
jle 0x41a104
mov byte [ebp + 0xb], 1
jmp 0x41a158
lea ecx, [ebp - 0x50]
call fcn.00428cde
push 0xffffffffffffffff
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.004459c4
add esp, 0xc
lea ecx, [ebp - 0x310]
call fcn.00428cde
mov esi, edi
cmp dword [ebp - 0x78], 0
cmovne esi, dword [ebp - 0x78]
mov eax, edi
cmp dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xfec]
push eax
call fcn.00445839
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push esi
push 0x4a13d0
push ecx
lea eax, [ebp - 0x310]
push eax
call fcn.004241ba
add esp, 0x1c
lea ecx, [ebp - 0xfec]
call fcn.00426615
mov ecx, dword [0x4def0c]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x41a207
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
xor ebx, ebx
mov edi, 0x49cb74
jmp 0x419a8c
cmp dword [ebp - 0x80], 0
je 0x41b339
push ebx
push 0x50
call fcn.0040a06d
pop ecx
pop ecx
lea ecx, [ebp - 0xbe4]
call fcn.0042732a
test al, al
jne 0x41b352
push ebx
push 0x53
call fcn.0040a06d
pop ecx
pop ecx
push 0x5b
call fcn.0040fbac
push 0x36
lea eax, [ebp - 0x1094]
push eax
call fcn.00408c15
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040fc87
add esp, 0x10
lea ecx, [ebp - 0x1094]
call fcn.00426615
cmp byte [ebp - 0x82], 0
je 0x41b391
call fcn.00465324
lea eax, [ebp - 0x16c8]
push eax
call fcn.0040a1f7
push 0x5c
call fcn.0040fbac
pop ecx
pop ecx
mov eax, dword [0x4def08]
push 4
pop esi
and eax, esi
or eax, ebx
je 0x41b6df
cmp byte [0x4def27], 0
jne 0x41b6df
lea ecx, [ebp - 0x1784]
call fcn.004081b3
call fcn.00459073
push 0x2000f
push ebx
call fcn.00466c03
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1784]
call fcn.0045ea6e
test eax, eax
jne 0x41b4a4
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 - 0x10b8]
push eax
call fcn.00457bb1
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
push esi
lea eax, [ebp - 0x10ac]
push eax
call fcn.00458e2b
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
lea eax, [ebp - 0x10a0]
push eax
call fcn.00459041
mov esi, 0x49cb74
cmp dword [eax], 0
cmovne esi, dword [eax]
call fcn.00466c09
push 0
push dword [ebp + 8]
push ebx
push 0x49de34
push edi
push 0x4a02bc
push esi
push str._r_nCode
push eax
push str.Registry_error:_unable_to_increment_shared_file_reference_counts._r_nHKLM_
push 0x4e0248
call fcn.004241ba
add esp, 0x44
lea ecx, [ebp - 0x10a0]
call fcn.00426615
lea ecx, [ebp - 0x10ac]
call fcn.00426615
lea ecx, [ebp - 0x10b8]
call fcn.00426615
xor ebx, ebx
mov edi, 0x49cb74
jmp 0x41b6d1
lea eax, [ebp - 0xc78]
push eax
lea ecx, [ebp - 0xc90]
call fcn.00402541
lea ecx, [ebp - 0xc90]
call fcn.004025a6
test al, al
je 0x41b6c6
mov esi, 0x49cb70
lea ecx, [ebp - 0x6a8]
call fcn.00428cde
mov eax, dword [ebp - 0xc7c]
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
mov eax, 0x4a16dc
push eax
push ecx
push eax
lea eax, [ebp - 0x6a8]
push eax
call fcn.0042fb0a
add esp, 0x14
mov eax, esi
cmp dword [ebp - 0x6a8], 0
cmovne eax, dword [ebp - 0x6a8]
push eax
lea ecx, [ebp - 0x654]
call fcn.00409e95
test al, al
jne 0x41b6a8
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0xc90]
call fcn.00408971
push 0x5e
lea ecx, [ebp - 0x328]
call fcn.00426fc4
push 0x20
lea ecx, [ebp - 0x328]
call fcn.00426fc4
push 0xffffffffffffffa9
lea ecx, [ebp - 0x328]
call fcn.00426fc4
push 0x7c
lea ecx, [ebp - 0x328]
call fcn.0040f735
test al, al
jne 0x41b5ac
mov eax, esi
cmp dword [ebp - 0x328], 0
cmovne eax, dword [ebp - 0x328]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1784]
call fcn.0045e078
inc eax
mov ecx, esi
cmp dword [ebp - 0x328], 0
cmovne ecx, dword [ebp - 0x328]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1784]
call fcn.0045f458
jmp 0x41b61c
lea ecx, [ebp - 0x69c]
call fcn.00428cde
push ebx
lea eax, [ebp - 0x69c]
push eax
lea eax, [ebp - 0x328]
push eax
call fcn.004466d3
add esp, 0xc
mov eax, edi
cmp dword [ebp - 0x69c], 0
cmovne eax, dword [ebp - 0x69c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1784]
call fcn.0045e0bc
inc eax
mov ecx, edi
cmp dword [ebp - 0x69c], 0
cmovne ecx, dword [ebp - 0x69c]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x1784]
call fcn.0045fb0b
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x69c]
call fcn.00426615
mov al, byte [ebp + 0xb]
test al, al
jne 0x41b675
mov esi, dword [0x4d239c]
lea eax, [ebp - 0x10c4]
push eax
call fcn.00458e13
mov edx, 0x49cb70
mov ecx, edx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edx
cmp dword [ebp - 0x328], 0
cmovne eax, dword [ebp - 0x328]
push ebx
push esi
push ecx
push str.__:
push eax
push str.Failed_to_increment_reference_count_of_shared_file__
call fcn.0040e9ac
add esp, 0x1c
lea ecx, [ebp - 0x10c4]
call fcn.00426615
mov esi, 0x49cb70
cmp dword [ebp - 0x650], 0
jle 0x41b68b
push 0x3b
lea ecx, [ebp - 0x654]
call fcn.00408991
lea eax, [ebp - 0x6a8]
push eax
lea ecx, [ebp - 0x654]
call fcn.0042406c
lea ecx, [ebp - 0x328]
call fcn.00426615
lea ecx, [ebp - 0x6a8]
call fcn.00426615
lea ecx, [ebp - 0xc90]
call fcn.004025a6
test al, al
jne 0x41b4ce
lea ecx, [ebp - 0x1784]
call fcn.0045d37f
lea ecx, [ebp - 0x1784]
call fcn.00408581
push 4
pop esi
push 0x5d
call fcn.0040fbac
pop ecx
cmp dword [ebp - 0xb70], 0
jne 0x41b6fd
cmp dword [ebp - 0xb60], 0
je 0x41bb1d
lea eax, [ebp - 0xb74]
push eax
lea ecx, [ebp - 0x1728]
call fcn.00402541
lea ecx, [ebp - 0x1728]
call fcn.004025a6
test al, al
je 0x41b943
mov eax, dword [ebp - 0x1714]
mov esi, 0x49cb70
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x50c]
call fcn.00428cde
push esi
lea ecx, [ebp - 0xba4]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x50c]
push eax
lea eax, [ebp - 0xba4]
push eax
call fcn.004466d3
add esp, 0xc
lea ecx, [ebp - 0xba4]
call fcn.00426615
mov eax, edi
cmp dword [ebp - 0x50c], 0
cmovne eax, dword [ebp - 0x50c]
push eax
push str.Registering_COM_File___s_...
call fcn.0040e974
push 0x4d
lea eax, [ebp - 0x8ac]
push eax
call fcn.00408c15
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x50c]
push eax
push str._file_
lea ecx, [ebp - 0x8ac]
call fcn.0042ef6b
mov eax, edi
cmp dword [ebp - 0x8ac], 0
cmovne eax, dword [ebp - 0x8ac]
push eax
call fcn.0040fc87
pop ecx
mov dword [ebp - 4], 2
wait
lea eax, [ebp - 0x10dc]
push eax
call fcn.00468155
pop ecx
mov esi, dword [eax]
test esi, esi
jne 0x41b7eb
mov esi, edi
mov eax, dword [ebp - 0x50c]
test eax, eax
jne 0x41b7f7
mov eax, edi
push ebx
push 0x4a0170
push eax
push str.regsvr32.exe__s__
lea eax, [ebp - 0x10d0]
push eax
call fcn.0043052b
add esp, 0x14
mov eax, dword [eax]
test eax, eax
jne 0x41b81a
mov eax, edi
push ebx
push esi
push 0x11
push eax
call fcn.00457e94
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x7ac], esi
lea ecx, [ebp - 0x10d0]
call fcn.00426615
lea ecx, [ebp - 0x10dc]
call fcn.00426615
test esi, esi
je 0x41b899
mov eax, dword [ebp - 0x50c]
test eax, eax
jne 0x41b855
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp + 8], eax
cmp eax, 0x20
jb 0x41b887
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41b87e
test esi, esi
je 0x41b899
push 0x49fc5c
call fcn.0040ea08
pop ecx
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41b925
push 4
pop esi
lea ecx, [ebp - 0x8ac]
call fcn.00426615
lea ecx, [ebp - 0x50c]
call fcn.00426615
jmp 0x41b70f
lea eax, [ebp - 0xb64]
push eax
lea ecx, [ebp - 0x1740]
call fcn.00402541
lea ecx, [ebp - 0x1740]
call fcn.004025a6
test al, al
je 0x41bb0c
mov eax, dword [ebp - 0x172c]
mov esi, 0x49cb70
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x5f4]
call fcn.00428cde
push esi
lea ecx, [ebp - 0xbb0]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0xbb0]
push eax
call fcn.004466d3
add esp, 0xc
lea ecx, [ebp - 0xbb0]
call fcn.00426615
mov eax, edi
cmp dword [ebp - 0x5f4], 0
cmovne eax, dword [ebp - 0x5f4]
push eax
push str.Registering_Type_Library___s_...
call fcn.0040e974
push 0x4d
lea eax, [ebp - 0x8b8]
push eax
call fcn.00408c15
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x5f4]
push eax
push str._file_
lea ecx, [ebp - 0x8b8]
call fcn.0042ef6b
mov eax, edi
cmp dword [ebp - 0x8b8], 0
cmovne eax, dword [ebp - 0x8b8]
push eax
call fcn.0040fc87
pop ecx
mov dword [ebp - 4], 4
wait
push esi
call fcn.0045ce81
pop ecx
test al, al
je 0x41ba34
push 0x49fc5c
call fcn.0040ea08
pop ecx
jmp 0x41ba6d
mov esi, dword [0x4d239c]
lea eax, [ebp - 0x10f4]
push eax
call fcn.00458e13
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x41ba52
mov eax, 0x49cb70
push ebx
push esi
push eax
push str.FAILED_r_n
call fcn.0040e9ac
add esp, 0x10
lea ecx, [ebp - 0x10f4]
call fcn.00426615
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41baee
push 4
pop esi
lea ecx, [ebp - 0x8b8]
call fcn.00426615
lea ecx, [ebp - 0x5f4]
call fcn.00426615
jmp 0x41b955
call fcn.00465108
push dword [0x4deef8]
call fcn.0046434d
pop ecx
cmp dword [ebp - 0xb50], 0
je 0x41bb9e
mov dword [ebp - 0x57c], ebx
mov dword [ebp - fcn.00434427], 0x49ce38
mov dword [ebp - 0x6bc], ebx
mov dword [ebp - 0x6b8], ebx
push 1
push str.Setupapi.dll
lea ecx, [ebp - 0x6c0]
call fcn.004346af
test al, al
jne 0x41bb5f
push str.Cannot_install_INF_files...unable_to_open_Setupapi.dll_r_n
jmp 0x41bb83
lea eax, [ebp - 0x57c]
push eax
push str.SetupCopyOEMInfW
lea ecx, [ebp - 0x6c0]
call fcn.00434643
test al, al
jne 0x41bd0b
push str.Cannot_install_INF_files...unable_to_link_to_SetupCopyOEMInf___r_n
call fcn.0040ea08
pop ecx
mov dword [ebp - fcn.00434427], 0x49ce38
lea ecx, [ebp - 0x6c0]
call fcn.004343f8
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f215
push 0x1a
call fcn.00409c78
push 0x5f
call fcn.0040fbac
add esp, 0xc
lea ecx, [ebp - 0x490]
call fcn.00428cde
lea ecx, [ebp - 0xec]
call fcn.00428cde
lea ecx, [ebp - 0x484]
call fcn.00428cde
lea ecx, [ebp - 0x24c]
call fcn.00428cde
mov eax, dword [0x4def08]
and eax, esi
or eax, ebx
je 0x41c1e6
mov edx, edi
cmp dword [ebp - 0x3d4], 0
cmovne edx, dword [ebp - 0x3d4]
mov ecx, edi
mov eax, dword [0x4e02e0]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0x1118]
push eax
call fcn.004453af
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
call fcn.00408887
lea ecx, [ebp - 0x1118]
call fcn.00426615
push 0xffffffffffffffff
lea eax, [ebp - 0x490]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.004459c4
mov eax, edi
cmp dword [ebp - 0xc0], 0
cmovne eax, dword [ebp - 0xc0]
push ebx
push 0x4a0170
push eax
push str._u:_
lea eax, [ebp - 0x484]
push eax
call fcn.0042fb87
add esp, 0x20
cmp dword [ebp - 0x5cc], 0
jle 0x41c005
mov ecx, edi
mov eax, dword [0x4e02e0]
test eax, eax
cmovne ecx, eax
push str.uninstall.ico
push ecx
lea eax, [ebp - 0x1124]
push eax
call fcn.004453af
add esp, 0xc
push eax
lea ecx, [ebp - 0x24c]
call fcn.00425883
lea ecx, [ebp - 0x1124]
call fcn.00426615
mov eax, edi
cmp dword [ebp - 0x24c], 0
cmovne eax, dword [ebp - 0x24c]
lea ecx, [ebp - 0x5d0]
push ecx
push eax
call fcn.0044405e
mov esi, eax
push esi
call fcn.00438a5d
add esp, 0xc
test al, al
jne 0x41bf90
mov eax, edi
cmp dword [ebp - 0x24c], 0
cmovne eax, dword [ebp - 0x24c]
push ebx
push eax
call fcn.004090fc
pop ecx
pop ecx
jmp 0x41c005
push dword [0x4d239c]
call fcn.0040ea08
pop ecx
lea eax, [ebp - 0xb54]
push eax
lea ecx, [ebp - 0x16e0]
call fcn.00402541
lea ecx, [ebp - 0x16e0]
call fcn.004025a6
test al, al
je 0x41bb89
lea ecx, [ebp - 0x6b4]
call fcn.00428cde
push ebx
lea eax, [ebp - 0x6b4]
push eax
push dword [ebp - 0x16cc]
call fcn.004466d3
push 0x4d
lea eax, [ebp - 0x8d0]
push eax
call fcn.00408c15
add esp, 0x14
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x6b4]
push eax
push str._file_
lea ecx, [ebp - 0x8d0]
call fcn.0042ef6b
mov eax, edi
cmp dword [ebp - 0x8d0], 0
cmovne eax, dword [ebp - 0x8d0]
push eax
call fcn.0040fc87
mov eax, edi
cmp dword [ebp - 0x6b4], 0
cmovne eax, dword [ebp - 0x6b4]
push ebx
push 0x49fc10
push eax
push str.Installing_driver__
call fcn.0040e9da
add esp, 0x14
xor eax, eax
mov word [ebp - 0x1c7c], ax
mov dword [ebp - 4], 6
wait
call fcn.00459073
mov eax, dword [ebp - 0x6b4]
test eax, eax
jne 0x41bde6
mov eax, edi
push ebx
push ebx
push 0x104
lea ecx, [ebp - 0x1c7c]
push ecx
push ebx
push 1
push ebx
push eax
call dword [ebp - 0x57c]
test eax, eax
jne 0x41beaa
lea ecx, [ebp - 0xbf0]
call fcn.00428cde
push 0xffffffffffffffff
lea eax, [ebp - 0xbf0]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.004459c4
push esi
lea eax, [ebp - 0x1130]
push eax
call fcn.00444db0
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x24c], 0
cmovne eax, dword [ebp - 0x24c]
push ecx
push eax
push str.Failed_to_install_uninstaller_icon_to__s_r_n_s_r_n
call fcn.0040e974
add esp, 0x20
lea ecx, [ebp - 0x1130]
call fcn.00426615
lea ecx, [ebp - 0x24c]
call fcn.00426615
lea ecx, [ebp - 0xbf0]
call fcn.00426615
mov eax, dword [0x4def08]
and eax, 2
or eax, ebx
je 0x41c078
push ebx
mov ecx, 0x4def74
call fcn.00409315
mov edi, eax
xor eax, eax
inc eax
mov byte [edi + 1], al
mov byte [edi + 5], al
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004238e0
lea eax, [ebp - 0x484]
push eax
lea ecx, [edi + 0x2c]
call fcn.004238e0
push 0x21
lea eax, [ebp - 0x113c]
push eax
call fcn.00408c15
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425883
lea ecx, [ebp - 0x113c]
call fcn.00426615
lea eax, [ebp - 0x24c]
push eax
lea ecx, [edi + 0x20]
call fcn.004238e0
mov ecx, dword [0x4def0c]
and ecx, 2
mov eax, ebx
or eax, ecx
je 0x41c0ed
push ebx
mov ecx, 0x4def74
call fcn.00409315
mov edi, eax
xor eax, eax
inc eax
mov byte [edi], al
mov byte [edi + 5], al
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004238e0
lea eax, [ebp - 0x484]
push eax
lea ecx, [edi + 0x2c]
call fcn.004238e0
push 0x21
lea eax, [ebp - 0x1148]
push eax
call fcn.00408c15
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425883
lea ecx, [ebp - 0x1148]
call fcn.00426615
lea eax, [ebp - 0x24c]
push eax
lea ecx, [edi + 0x20]
call fcn.004238e0
mov ecx, dword [0x4def0c]
and ecx, 0x40
mov eax, ebx
or eax, ecx
je 0x41c16b
mov ecx, dword [0x4def0c]
and ecx, 0x8000000
mov eax, ebx
or eax, ecx
je 0x41c24e
push ebx
mov ecx, 0x4def74
call fcn.00409315
mov edi, eax
mov byte [edi + 1], 1
lea eax, [ebp - 0x116c]
push eax
call fcn.0040c2d0
pop ecx
push eax
lea ecx, [edi + 8]
call fcn.00425883
lea ecx, [ebp - 0x116c]
call fcn.00426615
push 0x56
lea eax, [ebp - 0x1178]
push eax
call fcn.00408c15
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00425883
lea ecx, [ebp - 0x1178]
call fcn.00426615
test dword [0x4def10], 0x800
je 0x41c267
cmp byte [0x4def27], 0
jne 0x41d24f
cmp dword [0x4def78], 0
je 0x41d24f
mov byte [ebp + 0xb], 1
push 0x4def74
lea ecx, [ebp - 0x124]
call fcn.00402541
jmp 0x41d23c
cmp dword [ebp - 0x290], 0
jle 0x41d3d0
lea ecx, [ebp - 0x264]
call fcn.00426615
lea ecx, [ebp - 0x3b8]
call fcn.00426615
lea ecx, [ebp - 0x270]
call fcn.00426615
lea ecx, [ebp - 0xb4]
call fcn.00426615
lea ecx, [ebp - 0x27c]
call fcn.00426615
lea ecx, [ebp - 0x24]
call fcn.00426615
lea ecx, [ebp - 0xda0]
call fcn.00401af4
lea ecx, [ebp - 0x1bc]
call fcn.00426615
lea ecx, [ebp - 0x2b8]
call fcn.00426615
lea ecx, [ebp - 0x2c4]
call fcn.00426615
lea ecx, [ebp - 0x2d0]
call fcn.00426615
lea ecx, [ebp - 0xc0]
call fcn.00426615
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.0042c4db
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c4db
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
movzx eax, byte [ebp - 0xdc]
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 - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x3e8
push 0
pop ebx
jle 0x417179
push ebx
push 0x29
call fcn.0040a06d
pop ecx
pop ecx
jmp 0x417179
cmp dword [0x4d22d0], 0x3e8
jle 0x421070
push ebx
push 0x26
call fcn.0040a06d
pop ecx
pop ecx
push ebx
mov ecx, 0x4d22cc
call fcn.004065dd
mov esi, eax
lea eax, [ebp - 0x824]
push eax
mov ecx, esi
call fcn.004238e0
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.0042c9c0
push 1
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
lea ecx, [ebp - 0x824]
call fcn.00426615
jmp 0x416e29