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

Disassembly:
mov eax, 0x498c0d
call fcn.0046a2a4
push ecx
mov eax, 0x1b54
call fcn.0046a300
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x68], ebx
mov dword [0x4dad90], 0x49ebfc
mov dword [0x4dad94], 0x49ec0c
push 0x40be05
call fcn.0043ed25
pop ecx
lea ecx, [ebp - 0xbc]
call fcn.004282a8
lea ecx, [ebp - 0x2c0]
call fcn.004282a8
lea ecx, [ebp - 0x2b4]
call fcn.004282a8
lea ecx, [ebp - 0x2a8]
call fcn.004282a8
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
push 1
push str.SeTakeOwnershipPrivilege
call fcn.0045f092
push 0x40ccef
call fcn.00440166
mov eax, dword [ebp + 8]
mov dword [0x4d9940], eax
call fcn.00455620
mov dword [0x4d99a8], eax
mov dword [0x4d99ac], edx
lea eax, [ebp - 0x1634]
push eax
call fcn.00464b2e
add esp, 0x14
push eax
push dword [0x4d9940]
push 1
mov ecx, 0x4db588
call fcn.00463207
lea eax, [ebp - 0x163c]
push eax
call fcn.00464aff
pop ecx
push eax
push dword [0x4d9940]
push 1
mov ecx, 0x4d9a20
call fcn.00463207
mov esi, ebx
lea eax, [ebp - 0x8b0]
push eax
call fcn.0045612c
pop ecx
mov edi, 0x49ab64
mov dword [ebp - 0x18], edi
jmp 0x415bf9
inc esi
cmp esi, 0x14
jge 0x415c12
lea eax, [ebp - 0x8b0]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0045604c
pop ecx
pop ecx
cmp dword [ebp - 0x88], ebx
jle 0x415c07
lea eax, [ebp - 0x8c]
push eax
call fcn.00455fa5
pop ecx
test al, al
jne 0x4158fa
lea eax, [ebp - 0x8c]
push eax
push str.Unexpected_command_line_parameter:_r_n
lea ecx, [ebp - 0x1404]
call fcn.00408396
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c0dd
pop ecx
lea ecx, [ebp - 0x1404]
call fcn.00425c1b
push 0x49ec94
lea ecx, [ebp - 0x8c]
call fcn.00426d51
lea ecx, [ebp - 0x8c]
test al, al
je 0x415920
mov byte [0x4d9950], 1
jmp 0x415bf4
push closesocket
push 0x49ec98
call fcn.00426496
test al, al
je 0x415975
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4d9abc
call fcn.00424f5b
push 0x22
mov ecx, 0x4d9abc
call fcn.00425a8a
push 0x5c
mov ecx, 0x4d9abc
call fcn.004265ac
push 0xffffffffffffffff
push 0x4dacf8
push 0x4d9abc
call fcn.00444adb
add esp, 0xc
jmp 0x415bee
push closesocket
push 0x49eca0
lea ecx, [ebp - 0x8c]
call fcn.00426496
test al, al
je 0x4159b0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4d9a74
call fcn.00424f5b
mov ecx, 0x4d9a74
push 0x22
call fcn.00425a8a
jmp 0x415bee
push closesocket
push 0x49eca8
lea ecx, [ebp - 0x8c]
call fcn.00426496
lea ecx, [ebp - 0x8c]
test al, al
je 0x4159ff
mov byte [0x4d9951], 1
push 0x3a
call fcn.00426582
test al, al
je 0x415bee
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00424f5b
lea ecx, [ebp - 0xbc]
jmp 0x4159a4
push closesocket
push 0x49ecac
call fcn.00426496
test al, al
je 0x415a44
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4dace4
call fcn.00424f5b
push 0x22
mov ecx, 0x4dace4
call fcn.0042675d
push 1
push 0x22
push 0x60
mov ecx, 0x4dace4
call fcn.0042e69a
jmp 0x415bee
push closesocket
push 0x49ecb4
lea ecx, [ebp - 0x8c]
call fcn.00426496
test al, al
je 0x415abb
push ebx
push 0x49ae48
push ebx
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00458769
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2c0]
call fcn.004265ac
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2c0]
call fcn.0042d75d
lea ecx, [ebp - 0x2c0]
push ebx
push closesocket
push ebx
push ebx
push dword [0x4ce39c]
push 0x49ecc0
call fcn.0042d822
jmp 0x415bee
push closesocket
push str.B2:_
lea ecx, [ebp - 0x8c]
call fcn.00426496
test al, al
je 0x415b17
push ebx
push 0x49ae48
push ebx
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00458769
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2b4]
call fcn.004265ac
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2b4]
call fcn.0042d75d
lea ecx, [ebp - 0x2b4]
jmp 0x415a9e
push closesocket
push str.B3:_
lea ecx, [ebp - 0x8c]
call fcn.00426496
test al, al
je 0x415b76
push ebx
push 0x49ae48
push ebx
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00458769
add esp, 0x14
push 0x22
lea ecx, [ebp - 0x2a8]
call fcn.004265ac
push 1
push 0x22
push 0x60
lea ecx, [ebp - 0x2a8]
call fcn.0042d75d
lea ecx, [ebp - 0x2a8]
jmp 0x415a9e
push str.Silent
lea ecx, [ebp - 0x8c]
call fcn.00426d51
lea ecx, [ebp - 0x8c]
test al, al
je 0x415b9f
xor eax, eax
inc eax
mov byte [0x4d9950], al
mov byte [0x4d9976], al
jmp 0x415bf4
push 0x49ecec
call fcn.00426d51
test al, al
je 0x415bb6
mov byte [0x4d9975], 1
jmp 0x415bee
cmp dword [ebp - 0x88], ebx
jle 0x415bee
lea eax, [ebp - 0x8c]
push eax
push str.Illegal_command_line_atom:_r_n
lea ecx, [ebp - 0x1440]
call fcn.00408396
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push ecx
call fcn.0040c0dd
pop ecx
lea ecx, [ebp - 0x1440]
call fcn.00425c1b
lea ecx, [ebp - 0x8c]
call fcn.00425c1b
cmp dword [ebp - 0x8ac], ebx
jg 0x41588e
jmp 0x415c12
lea ecx, [ebp - 0x8c]
call fcn.00425c1b
cmp byte [0x4d9951], bl
je 0x415c66
cmp dword [ebp - 0xb8], ebx
jg 0x415c2d
push str.Product_name_required
call fcn.0040c0dd
pop ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00412580
pop ecx
mov esi, 0x49ab60
test al, al
je 0x415c5d
mov ecx, esi
mov eax, dword [0x4daca8]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e0d3
pop ecx
pop ecx
call fcn.0040a8c6
push ebx
call fcn.0040c13f
pop ecx
jmp 0x415c6b
mov esi, 0x49ab60
lea ecx, [ebp - 0x8b0]
call fcn.00425c1b
call fcn.00410073
lea ecx, [ebp - 0x188]
call fcn.004282a8
lea eax, [ebp - 0x188]
push eax
call fcn.00455f94
pop ecx
lea ecx, [ebp - 0xd74]
call fcn.00401a0d
mov eax, esi
cmp dword [ebp - 0x188], ebx
cmovne eax, dword [ebp - 0x188]
push 0x80
push 0x2111
push eax
lea ecx, [ebp - 0xd74]
call fcn.00447260
mov esi, eax
test esi, esi
je 0x415d07
push esi
lea eax, [ebp - 0x144c]
push eax
call fcn.00443ec7
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x188], ebx
cmovne eax, dword [ebp - 0x188]
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.00440256
add esp, 0x18
lea ecx, [ebp - 0x144c]
call fcn.00425c1b
lea ecx, [ebp - 0xd74]
call fcn.00447c6a
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x90], ebx
push 0x3c
push 2
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
test al, al
je 0x415d50
mov eax, dword [ebp - 0x90]
push 0x40
pop esi
cmp ax, si
jb 0x415d50
mov esi, 0x1000
cmp ax, si
jbe 0x415d60
push ebx
push 0x2b
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], ebx
movzx eax, ax
add eax, 6
push eax
push 2
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
test al, al
je 0x415d9d
push 4
pop esi
cmp word [ebp - 0x98], si
jb 0x415d9d
push 0x63
pop esi
cmp word [ebp - 0x98], si
jbe 0x415da7
push ebx
push 0x2c
call fcn.0040a027
pop ecx
pop ecx
movzx eax, word [ebp - 0x90]
add eax, 0x14
push eax
push 2
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
movzx ecx, word [ebp - 0x3fc]
movzx esi, word [ebp - 0x90]
add ecx, 0x18
add esi, ecx
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x98]
cmp ax, cx
jmp 0x415e2c
mov byte [ebp - 0xa5c], bl
push esi
push 8
lea eax, [ebp - 0xa64]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
lea eax, [ebp - 0xa64]
push eax
push str..setup
call fcn.00487b50
pop ecx
pop ecx
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x98]
test eax, eax
je 0x415e37
add esi, 0x28
inc edx
movzx eax, cx
cmp edx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x140], esi
jb 0x415de8
movzx eax, cx
cmp edx, eax
jb 0x415e49
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.00440131
pop ecx
lea eax, [esi + 0xc]
push eax
push 4
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
lea eax, [esi + 0x10]
push eax
push 4
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
lea eax, [esi + 0x14]
push eax
push 4
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
mov eax, dword [ebp - 0x168]
test eax, eax
jne 0x415eaf
push ebx
push 9
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x415ebf
push eax
lea ecx, [ebp - 0xd74]
call fcn.004474c0
test al, al
jne 0x415ec9
push ebx
push 0xa
call fcn.0040a027
pop ecx
pop ecx
call fcn.0043377d
mov ecx, dword [ebp - 0x1f4]
add ecx, eax
mov dword [ebp - 0x1f4], ecx
mov dword [0x4d9968], ecx
call fcn.00412146
cmp eax, 0xa4f23de5
je 0x415ef8
push ebx
push 0x14
call fcn.0040a027
pop ecx
pop ecx
call fcn.0041216a
mov esi, eax
push str.42.1.3
push esi
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
je 0x415f26
mov ecx, dword [0x4dad90]
push ecx
push esi
push ecx
push str.The_installer_version__42.1.3__does_not_match_the_version_of__s___s_.__Close_all_applications_and_reinstall__s.
call fcn.00440215
add esp, 0x10
call fcn.00412146
mov dword [0x4d9960], eax
call fcn.00412146
mov esi, eax
mov dword [ebp - 0x14c], esi
test esi, esi
jle 0x415f49
cmp esi, 0x3200000
jl 0x415f53
push ebx
push 0x16
call fcn.0040a027
pop ecx
pop ecx
call fcn.00412146
mov dword [ebp + 8], eax
call fcn.00412146
mov dword [ebp - 0x208], eax
call fcn.00412146
mov dword [ebp - 0x44], eax
test eax, eax
jns 0x415f7c
push ebx
push 0x2d
call fcn.0040a027
pop ecx
pop ecx
call fcn.00412146
mov dword [ebp - 0x170], eax
test eax, eax
jns 0x415f95
push ebx
push 0x1b
call fcn.0040a027
pop ecx
pop ecx
call fcn.00412146
mov dword [ebp - 0x7c], eax
test eax, eax
jns 0x415fab
push ebx
push 0x1d
call fcn.0040a027
pop ecx
pop ecx
call fcn.00412146
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x170], ebx
jle 0x416003
mov esi, dword [ebp - 0x170]
call fcn.00412146
mov dword [ebp - 0x38], eax
test eax, eax
js 0x415fda
cmp eax, 0x40000000
jle 0x415fe4
push ebx
push 0x1c
call fcn.0040a027
pop ecx
pop ecx
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4ce2f4
call fcn.004070ec
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, esi
jl 0x415fc7
mov esi, dword [ebp - 0x14c]
test dword [0x4d9960], 0x1000
je 0x41604c
lea ecx, [ebp - 0xa70]
call fcn.004282a8
push 8
lea eax, [ebp - 0xa70]
push eax
call fcn.00412127
push ecx
mov ecx, esp
lea eax, [ebp - 0xa70]
push eax
call fcn.004082dd
mov ecx, 0x4d9b40
call fcn.00422bd8
lea ecx, [ebp - 0xa70]
call fcn.00425c1b
mov eax, esi
sub eax, dword [ebp - 0x1f4]
add eax, dword [0x4d9968]
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x30]
call fcn.00401a6c
push esi
lea eax, [ebp - 0x24]
push eax
call fcn.00412127
pop ecx
pop ecx
test dword [0x4d9960], 0x1000
jne 0x41608e
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x24]
call fcn.00431eb1
jmp 0x4160a9
mov esi, 0x4d9b40
mov ecx, esi
call fcn.00422aee
lea eax, [ebp - 0x24]
push eax
push eax
mov ecx, esi
call fcn.00422986
mov esi, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00402d52
pop ecx
pop ecx
test al, al
jne 0x4160c3
push ebx
push 0x2f
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4d9958
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4d9976], bl
je 0x416108
mov ecx, dword [0x4d9958]
and ecx, 0x7fffff7f
mov eax, dword [0x4d995c]
and eax, 0xfff7ede3
or ecx, 0x30600000
or eax, 0x800
mov dword [0x4d9958], ecx
mov dword [0x4d995c], eax
call fcn.00456702
test al, al
je 0x41611a
call fcn.004567da
test eax, eax
je 0x416124
and dword [0x4d9960], 0xfffffbff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xca]
push ecx
lea ecx, [ebp - 0x30]
call eax
movzx eax, byte [ebp - 0xca]
sub eax, 1
je 0x416158
sub eax, 1
jne 0x41615f
cmp byte [0x4d9976], bl
jne 0x41615f
mov byte [0x4d9950], bl
jmp 0x41615f
mov byte [0x4d9950], 1
mov ecx, dword [0x4d995c]
and ecx, 0x100
mov eax, ebx
or eax, ecx
mov byte [0x4db5ea], 1
jne 0x41617e
mov byte [0x4db5ea], bl
push 0x4db5f8
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4db604
lea ecx, [ebp - 0x30]
call fcn.0042ba10
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4db61c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4ce294
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4d9958]
and eax, 0x20000000
or eax, ebx
jne 0x4161ea
movzx eax, byte [0x4d9975]
push eax
push ebx
push dword [0x4d9940]
call fcn.00453f13
mov dword [0x4d9944], eax
push eax
call fcn.0040eb33
add esp, 0x10
lea ecx, [ebp - 0x24]
call fcn.00427f3b
cmp eax, esi
je 0x416200
push ebx
push 0x19
call fcn.0040a027
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 0x416225
push ebx
push 0x13
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
xor esi, esi
inc esi
push esi
push 0x4d9974
lea ecx, [ebp - 0x30]
call eax
mov dword [ebp - 0x15a4], ebx
or dword [ebp - 0x159c], 0xffffffff
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x18
lea ecx, [ebp - 0x15a8]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4d9a80
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0xa7c]
call fcn.004282a8
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
cmp dword [0x4d9a78], ebx
jg 0x416298
lea eax, [ebp - 0xa7c]
push eax
mov ecx, 0x4d9a74
call fcn.00424f5b
lea ecx, [ebp - 0xa7c]
call fcn.00425c1b
push 0x4d9a68
lea ecx, [ebp - 0x30]
call fcn.0042ba10
cmp dword [0x4d9a6c], ebx
jg 0x4162c7
push 0x4d9a74
mov ecx, 0x4d9a68
call fcn.004230bc
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4d9952
lea ecx, [ebp - 0x30]
call eax
mov byte [ebp + 0xb], bl
cmp byte [0x4d9952], 1
jne 0x4162f7
push 0x4d9954
call fcn.00457e97
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 - 0xdd]
push eax
lea ecx, [ebp - 0x30]
call edx
push 0x4d9aec
lea ecx, [ebp - 0x30]
call fcn.0042ba10
cmp dword [0x4d9af0], ebx
jg 0x416343
mov ecx, 0x4d9a80
call fcn.0040b435
mov ecx, 0x4d9aec
test al, al
jne 0x416339
push 0x4d9a80
jmp 0x41633e
push 0x4d9a74
call fcn.004230bc
lea ecx, [ebp - 0x268]
call fcn.004282a8
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9ab0
lea ecx, [ebp - 0x30]
call fcn.0042ba10
cmp dword [0x4d9ab4], ebx
jg 0x416381
push 0x4d9a74
mov ecx, 0x4d9ab0
call fcn.004230bc
push 0x4d9b1c
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push ebx
push 0x4dacd8
push 0x4d9b1c
call fcn.00458523
add esp, 0xc
lea ecx, [ebp - 0xb0]
call fcn.004282a8
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
cmp dword [ebp - 0xac], ebx
jg 0x4163da
push 0x4d9a74
lea ecx, [ebp - 0xb0]
call fcn.004230bc
mov esi, closesocket
jmp 0x41641a
push ebx
mov esi, closesocket
push esi
push ebx
push 1
lea eax, [ebp - 0x1458]
push eax
call fcn.00457d02
pop ecx
push eax
push str._os_
lea ecx, [ebp - 0xb0]
call fcn.0042e58e
lea ecx, [ebp - 0x1458]
call fcn.00425c1b
lea eax, [ebp - 0xb0]
push eax
call fcn.0040b512
pop ecx
push str._master_
lea ecx, [ebp - 0xb0]
call fcn.00426d51
test al, al
jne 0x4164a0
push esi
push 0x49ef64
lea ecx, [ebp - 0xb0]
call fcn.0042ad38
test al, al
jne 0x4164a0
push esi
push 0x49ef70
lea ecx, [ebp - 0xb0]
call fcn.0042ad38
test al, al
jne 0x4164a0
xor eax, eax
cmp byte [0x4d9952], 1
sete al
inc eax
push eax
lea eax, [ebp - 0xb70]
push eax
call fcn.00465d4a
pop ecx
pop ecx
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0xb70]
push eax
call fcn.004082dd
lea eax, [ebp - 0xb0]
push eax
call fcn.004450f3
add esp, 0x14
lea ecx, [ebp - 0xb70]
call fcn.00425c1b
lea ecx, [ebp - 0x25c]
call fcn.004282a8
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9ae0
lea ecx, [ebp - 0x30]
call fcn.0042bb80
lea ecx, [ebp - 0x3d4]
call fcn.004282a8
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4db5e0
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4db5e0]
test eax, eax
js 0x416500
cmp eax, 0x64
jle 0x41650a
push ebx
push 0x27
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
push 0x4db5e4
lea ecx, [ebp - 0x30]
call eax
push 0x4dacc0
lea ecx, [ebp - 0x30]
call fcn.0042bb27
lea ecx, [ebp - 0x2d4]
call fcn.00407d24
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x26c]
test eax, eax
js 0x416555
cmp eax, 0x14
jle 0x416565
push ebx
push 0x18
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.004068b3
mov esi, ebx
cmp dword [ebp - 0x26c], ebx
jle 0x4165a2
mov eax, dword [ebp - 0x2d4]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2d4]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb80
inc esi
cmp esi, dword [ebp - 0x26c]
jl 0x41657b
lea ecx, [ebp - 0x2e8]
call fcn.00407d24
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x1ec]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x1ec]
test eax, eax
js 0x4165cf
cmp eax, 0x14
jle 0x4165df
push ebx
push 0x1a
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.004068b3
mov esi, ebx
cmp dword [ebp - 0x1ec], ebx
jle 0x41661c
mov eax, dword [ebp - 0x2e8]
mov eax, dword [eax + 0x88]
push esi
lea ecx, [ebp - 0x2e8]
call eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb80
inc esi
cmp esi, dword [ebp - 0x1ec]
jl 0x4165f5
push 0x4dac9c
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x3bc]
call fcn.004282a8
lea eax, [ebp - 0x3bc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bad1
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0xbc]
call fcn.0040b453
test al, al
je 0x416671
push 0x4d9a74
lea ecx, [ebp - 0xbc]
call fcn.004230bc
lea ecx, [ebp - 0x1c4]
call fcn.004282a8
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
push 0x4d9b28
lea ecx, [ebp - 0x30]
call fcn.0042ba10
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
pop esi
push esi
push 0x4db628
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4db624
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4db590
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4db5e8
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4db5e9
lea ecx, [ebp - 0x30]
call eax
push 0x4db5ec
lea ecx, [ebp - 0x30]
call fcn.0042bb27
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4db594
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4db598
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [0x4db594]
cmp eax, dword [0x4db598]
sete byte [0x4db59c]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x3a0]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x3a0], ebx
jle 0x4167b2
lea ecx, [ebp - 0x994]
call fcn.004282a8
push dword [ebp - 0x3a0]
lea eax, [ebp - 0x994]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bccb
mov eax, 0x49ab60
cmp dword [ebp - 0x994], ebx
cmovne eax, dword [ebp - 0x994]
push dword [ebp - 0x3a0]
push eax
mov ecx, 0x4db59d
call fcn.00421041
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x7f0]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x7f0]
mov dword [0x4db5b9], eax
lea ecx, [ebp - 0x994]
call fcn.00425c1b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
push 0x4db62c
lea ecx, [ebp - 0x30]
call eax
cmp byte [0x4db62c], bl
je 0x416806
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push esi
push 0x4db63c
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 8
push 0x4db640
lea ecx, [ebp - 0x30]
call eax
push 0x4db630
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4db648
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x29c]
call fcn.004282a8
lea ecx, [ebp - 0x1d0]
call fcn.004282a8
lea ecx, [ebp - 0x278]
call fcn.004282a8
mov eax, dword [0x4d9958]
and eax, 0x10000
or eax, ebx
je 0x416862
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x36c]
call fcn.004282a8
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x1dc]
call fcn.004282a8
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x3e0]
call fcn.004282a8
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb80
cmp dword [ebp - 0x1d8], ebx
jg 0x4168da
mov ecx, dword [0x4d995c]
and ecx, 0x4000000
mov eax, ebx
or eax, ecx
je 0x4168da
push 0x4d9a74
lea ecx, [ebp - 0x1dc]
call fcn.004230bc
mov esi, edi
cmp dword [ebp - 0x1dc], ebx
cmovne esi, dword [ebp - 0x1dc]
cmp byte [0x4d9974], 1
jne 0x416906
lea eax, [ebp - 0x147c]
push eax
call fcn.0046559f
pop ecx
mov ecx, eax
xor eax, eax
inc eax
jmp 0x416918
lea eax, [ebp - 0x1470]
push eax
call fcn.0046564e
pop ecx
mov ecx, eax
push 2
pop eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x34], eax
mov eax, edi
cmp dword [ecx], ebx
cmovne eax, dword [ecx]
push esi
push eax
lea eax, [ebp - 0x1464]
push eax
call fcn.004444c6
add esp, 0xc
push eax
mov esi, 0x4d9b04
mov ecx, esi
call fcn.00424f5b
lea ecx, [ebp - 0x1464]
call fcn.00425c1b
mov eax, dword [ebp - 0x34]
test al, 2
je 0x41696c
and eax, 0xfffffffd
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x1470]
call fcn.00425c1b
mov eax, dword [ebp - 0x34]
test al, 1
je 0x416984
and eax, 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x147c]
call fcn.00425c1b
push 0xffffffffffffffff
push 0x4d9af8
push esi
call fcn.00444adb
add esp, 0xc
lea ecx, [ebp - 0x378]
call fcn.004282a8
lea ecx, [ebp - 0x330]
call fcn.004282a8
lea ecx, [ebp - 0x360]
call fcn.004282a8
lea ecx, [ebp - 0x47c]
call fcn.004282a8
lea ecx, [ebp - 0x470]
call fcn.004282a8
lea ecx, [ebp - 0x464]
call fcn.004282a8
lea ecx, [ebp - 0x458]
call fcn.004282a8
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0xba8]
call fcn.00432ca2
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x14
lea ecx, [ebp - 0xba8]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x7ec]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0xde]
push ecx
lea ecx, [ebp - 0x30]
call eax
push 0x4d9a44
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9b34
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4dad34
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9a14
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4dad10
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9a5c
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4dab90
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4daba8
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4dad1c
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4daca8
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9ac8
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9a50
lea ecx, [ebp - 0x30]
call fcn.0042ba10
push 0x4d9a8c
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x354]
call fcn.004282a8
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
lea ecx, [ebp - 0x44c]
call fcn.004282a8
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bad1
push 0x4d9b10
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x348]
call fcn.004282a8
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x33c]
call fcn.004282a8
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x324]
call fcn.004282a8
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 0x2c
push 0x4d9978
lea ecx, [ebp - 0x30]
call eax
lea ecx, [ebp - 0x61c]
call fcn.00401a6c
mov eax, dword [0x4d9958]
and eax, 4
or eax, ebx
je 0x416bfd
lea eax, [ebp - 0x610]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb80
lea ecx, [ebp - 0x7c8]
call fcn.004282a8
lea eax, [ebp - 0x7c8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
push str.THE_END
lea ecx, [ebp - 0x7c8]
call fcn.00426be3
test al, al
je 0x420844
lea ecx, [ebp - 0x7c8]
call fcn.00425c1b
mov dword [ebp - 0x148], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov esi, dword [ebp - 0x148]
test esi, esi
js 0x416c65
cmp esi, 0x3e8
jle 0x416c75
push ebx
push 0x24
call fcn.0040a027
pop ecx
pop ecx
mov esi, dword [ebp - 0x148]
lea ecx, [ebp - 0x428]
call fcn.00407d0e
jmp 0x416d0d
dec esi
mov dword [ebp - 0x148], esi
push ebx
lea ecx, [ebp - 0x428]
call fcn.00409436
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.0042c00c
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
lea eax, [esi + 0x34]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [esi + 0x4c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c141
lea eax, [esi + 0x58]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
mov esi, dword [ebp - 0x148]
test esi, esi
jg 0x416c85
dec esi
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x144]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov eax, dword [ebp - 0x144]
test eax, eax
js 0x416d4a
cmp eax, 0x3e8
jle 0x416e0c
push ebx
push 0x30
call fcn.0040a027
pop ecx
pop ecx
jmp 0x416e06
dec eax
mov dword [ebp - 0x144], eax
push ebx
mov ecx, 0x4d99c0
call fcn.004092cf
mov esi, eax
mov byte [esi + 4], 1
lea ecx, [esi + 8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [esi + 0x14]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
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.0042c00c
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 - 0x144]
test eax, eax
jg 0x416d59
dec eax
mov dword [ebp - 0x144], eax
lea ecx, [ebp - 0x290]
call fcn.004282a8
lea ecx, [ebp - 0x284]
call fcn.004282a8
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042ba10
lea ecx, [ebp - 0x250]
call fcn.004282a8
lea ecx, [ebp - 0x1e8]
call fcn.004282a8
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c141
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c141
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 esi, dword [ebp - 0x138]
test esi, esi
js 0x416eae
cmp esi, 0x3e8
jle 0x416ebe
push ebx
push 0x25
call fcn.0040a027
pop ecx
pop ecx
mov esi, dword [ebp - 0x138]
lea ecx, [ebp - 0x4a8]
call fcn.00407d3a
jmp 0x416f0b
dec esi
mov dword [ebp - 0x138], esi
push ebx
lea ecx, [ebp - 0x4a8]
call fcn.0040947a
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c00c
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.0042ba10
mov esi, dword [ebp - 0x138]
test esi, esi
jg 0x416ecb
dec esi
mov dword [ebp - 0x138], esi
lea ecx, [ebp - 0x440]
call fcn.004282a8
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb27
lea ecx, [ebp - 0x3ac]
call fcn.004282a8
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042bb80
mov dword [ebp - 0x38], ebx
push ebx
mov ecx, 0x4d9a34
call fcn.0040928d
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042bb27
push str.THEEND
lea ecx, [ebp - 0xb7c]
call fcn.00408375
lea eax, [ebp - 0xb7c]
push eax
mov ecx, esi
call fcn.00426ba1
mov bl, al
lea ecx, [ebp - 0xb7c]
call fcn.00425c1b
test bl, bl
je 0x4207de
mov ecx, 0x4d9a34
call fcn.0040706d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0x11]
push ecx
lea ecx, [ebp - 0x30]
call eax
mov al, byte [ebp - 0x11]
test al, al
je 0x416fbf
cmp al, 0xc8
ja 0x416fbf
xor ebx, ebx
jmp 0x416fcb
xor ebx, ebx
push ebx
push 0x1e
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x30]
call eax
cmp dword [ebp - 0x16c], 0
jle 0x416ff3
cmp dword [ebp - 0x16c], 0x2710
jle 0x416ffd
push ebx
push 0x1f
call fcn.0040a027
pop ecx
pop ecx
movzx eax, byte [ebp - 0x11]
push eax
mov ecx, 0x4ce2b4
call fcn.004052a4
mov edx, ebx
mov dword [ebp - 0x60], edx
cmp byte [ebp - 0x11], 0
jbe 0x417059
push edx
mov ecx, 0x4ce2b4
call fcn.00405235
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c141
push str.English
mov ecx, esi
call fcn.00426e1a
mov ecx, dword [0x4d9964]
test al, al
mov edx, dword [ebp - 0x60]
cmovne ecx, edx
mov dword [0x4d9964], ecx
inc edx
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x11]
cmp edx, eax
jl 0x417017
push dword [ebp - 0x16c]
mov ecx, 0x4ce2c0
call fcn.00405dcd
mov ecx, ebx
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x16c], 0
jle 0x4170ef
mov eax, dword [0x4ce2c0]
mov eax, dword [eax + 0x88]
push ecx
mov ecx, 0x4ce2c0
call eax
mov esi, eax
mov dword [ebp - 0x38], esi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x8c]
movzx ecx, byte [ebp - 0x11]
push ecx
mov ecx, esi
call edx
mov ecx, ebx
mov dword [ebp - 0x94], ecx
cmp byte [ebp - 0x11], 0
jbe 0x4170e0
push ecx
mov ecx, esi
call fcn.004043bb
mov esi, eax
push esi
lea ecx, [ebp - 0x30]
call fcn.0042c141
mov ecx, esi
call fcn.00425470
mov ecx, dword [ebp - 0x94]
inc ecx
mov dword [ebp - 0x94], ecx
movzx eax, byte [ebp - 0x11]
cmp ecx, eax
mov esi, dword [ebp - 0x38]
jl 0x4170ae
mov ecx, dword [ebp - 0x60]
inc ecx
mov dword [ebp - 0x60], ecx
cmp ecx, dword [ebp - 0x16c]
jl 0x417077
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 0x417112
push ebx
push 0x20
call fcn.0040a027
pop ecx
pop ecx
push 0x4d9b28
call fcn.00415639
call fcn.00459961
mov ecx, 0x49ab60
mov eax, dword [0x4d9a14]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e0d3
add esp, 0xc
lea ecx, [ebp - 0xdc]
call fcn.004282a8
push dword [ebp - 0x168]
push ebx
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0xd74]
call fcn.00447617
test al, al
jne 0x41716c
push ebx
push 0x23
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [0x4d99a0]
sub eax, 1
je 0x4171c0
sub eax, 1
jne 0x4171ed
mov eax, edi
cmp dword [ebp - 0x188], 0
cmovne eax, dword [ebp - 0x188]
push ebx
push eax
call fcn.00401f84
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x4171ed
cmp esi, 3
jle 0x4171a9
cmp esi, 0xb
jle 0x4171ed
cmp esi, 0xd
je 0x4171ed
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x800b010a
je 0x4171ed
push 1
lea eax, [esi + 0x3e8]
push eax
jmp 0x4171e6
movzx eax, word [ebp - 0x90]
add eax, 0x5c
push closesocket
push eax
lea ecx, [ebp - 0xdc]
call fcn.00427ef2
cmp eax, dword [ebp - 0x208]
je 0x4171ed
push ebx
push 0x28
call fcn.0040a027
pop ecx
pop ecx
lea ecx, [ebp - 0xd74]
test byte [0x4d9960], 0x20
jne 0x417216
call fcn.00447c6a
mov dword [0x4d99a4], eax
lea ecx, [ebp - 0xdc]
call fcn.00425c1b
jmp 0x417354
call fcn.00447c6a
mov ecx, dword [ebp - 0x168]
sub eax, ecx
mov edx, dword [ebp - 0x1f0]
sub eax, edx
mov dword [ebp - 0x38], eax
test eax, eax
jle 0x41725f
lea esi, [ecx + edx]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00423b73
push esi
push dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
test al, al
jne 0x41725f
push ebx
push 0x2a
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
dec eax
push eax
movzx eax, word [ebp - 0x90]
add eax, 6
push eax
lea ecx, [ebp - 0xdc]
call fcn.0042b9e8
movzx eax, word [ebp - 0x90]
push 0x20
pop esi
add eax, esi
push eax
lea ecx, [ebp - 0xdc]
call fcn.0042b927
sub eax, dword [ebp - 0x1f0]
movzx ecx, word [ebp - 0x90]
add ecx, esi
push eax
push ecx
lea ecx, [ebp - 0xdc]
call fcn.0042b972
movzx eax, word [ebp - 0x90]
add eax, 0x50
push eax
lea ecx, [ebp - 0xdc]
call fcn.0042b927
sub eax, dword [ebp - 0x1f0]
movzx ecx, word [ebp - 0x90]
add ecx, 0x50
push eax
push ecx
lea ecx, [ebp - 0xdc]
call fcn.0042b972
mov esi, 0x49ab60
cmp dword [ebp - 0xdc], 0
cmovne esi, dword [ebp - 0xdc]
add esi, dword [ebp - 0x140]
movzx eax, word [ebp - 0x98]
cmp dword [ebp - 0x40], eax
ja 0x417349
lea eax, [esi + 0x28]
mov dword [ebp - 0x38], eax
push 0x28
push eax
push esi
call fcn.0047e490
add esp, 0xc
mov ecx, dword [ebp - 0x98]
movzx eax, cx
dec eax
mov edx, dword [ebp - 0x40]
cmp edx, eax
jae 0x41733b
mov eax, dword [ebp - 0x1f0]
sub dword [esi + 0x14], eax
mov ecx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x38]
inc edx
mov dword [ebp - 0x40], edx
movzx eax, cx
cmp edx, eax
jbe 0x417309
mov eax, dword [ebp - 0xd8]
mov dword [0x4d99a4], eax
cmp byte [ebp - 0x11], 1
je 0x417562
cmp byte [0x4d9950], 0
jne 0x417562
mov ecx, str.LanguageDlg3
mov eax, dword [0x4d9984]
sub eax, ebx
je 0x417392
sub eax, 1
je 0x41738b
dec eax
sub eax, 1
jne 0x417397
mov ecx, str.LanguageDlg4
jmp 0x417397
mov ecx, str.LanguageDlg
jmp 0x417397
mov ecx, str.LanguageDlg2
push ebx
push ebx
push 0x40cd80
push dword [0x4d9944]
push ecx
call fcn.0046131a
add esp, 0x14
cmp eax, 0x3eb
jne 0x417562
mov eax, dword [0x4d9a50]
test eax, eax
mov ecx, 0x49ab60
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e0d3
push 1
call fcn.0040c13f
add esp, 0xc
lea ecx, [ebp - 0xdc]
call fcn.00425c1b
lea ecx, [ebp - 0x3ac]
call fcn.00425c1b
lea ecx, [ebp - 0x440]
call fcn.00425c1b
mov dword [ebp - 0x4a8], 0x49eb08
lea ecx, [ebp - 0x4a8]
call fcn.0040ab96
lea ecx, [ebp - 0x1e8]
call fcn.00425c1b
lea ecx, [ebp - 0x250]
call fcn.00425c1b
lea ecx, [ebp - 0x284]
call fcn.00425c1b
lea ecx, [ebp - 0x290]
call fcn.00425c1b
mov dword [ebp - 0x428], 0x49e2e8
lea ecx, [ebp - 0x428]
call fcn.0040aae0
lea ecx, [ebp - 0x610]
call fcn.00425c1b
lea ecx, [ebp - 0x324]
call fcn.00425c1b
lea ecx, [ebp - 0x33c]
call fcn.00425c1b
lea ecx, [ebp - 0x348]
call fcn.00425c1b
lea ecx, [ebp - 0x44c]
call fcn.00425c1b
lea ecx, [ebp - 0x354]
call fcn.00425c1b
lea ecx, [ebp - 0x458]
call fcn.00425c1b
lea ecx, [ebp - 0x464]
call fcn.00425c1b
lea ecx, [ebp - 0x470]
call fcn.00425c1b
lea ecx, [ebp - 0x47c]
call fcn.00425c1b
lea ecx, [ebp - 0x360]
call fcn.00425c1b
lea ecx, [ebp - 0x330]
call fcn.00425c1b
lea ecx, [ebp - 0x378]
call fcn.00425c1b
lea ecx, [ebp - 0x3e0]
call fcn.00425c1b
lea ecx, [ebp - 0x1dc]
call fcn.00425c1b
lea ecx, [ebp - 0x36c]
call fcn.00425c1b
lea ecx, [ebp - 0x278]
call fcn.00425c1b
lea ecx, [ebp - 0x1d0]
call fcn.00425c1b
lea ecx, [ebp - 0x29c]
call fcn.00425c1b
lea ecx, [ebp - 0x1c4]
call fcn.00425c1b
lea ecx, [ebp - 0x3bc]
call fcn.00425c1b
mov esi, 0x49bb54
mov dword [ebp - 0x2e8], esi
lea ecx, [ebp - 0x2e8]
call fcn.0040ab3b
mov dword [ebp - 0x2d4], esi
lea ecx, [ebp - 0x2d4]
call fcn.0040ab3b
jmp 0x420755
push ebx
lea eax, [ebp - 0x1488]
push eax
call fcn.00408bf7
pop ecx
pop ecx
push eax
mov ecx, 0x4db610
call fcn.0040887d
lea ecx, [ebp - 0x1488]
call fcn.00425c1b
push 0x72
lea eax, [ebp - 0xa88]
push eax
call fcn.00408bf7
pop ecx
pop ecx
cmp dword [ebp - 0xa84], 0
jle 0x4175b1
lea eax, [ebp - 0xa88]
push eax
mov ecx, 0x4d9b28
call fcn.00424f5b
lea ecx, [ebp - 0xa88]
call fcn.00425c1b
mov eax, dword [0x4d9944]
test eax, eax
je 0x4175d6
push 1
push ebx
push eax
call fcn.00462a7d
add esp, 0xc
call fcn.004632ea
mov al, byte [0x4d9952]
cmp al, 2
je 0x4175e7
cmp al, 1
jne 0x41766b
call fcn.004563b9
movzx ecx, al
xor eax, eax
mov dl, byte [0x4d9952]
cmp dl, 2
sete al
cmp eax, ecx
jne 0x41765a
cmp byte [0x4d9950], 0
je 0x417618
push 1
call fcn.0040c13f
pop ecx
mov dl, byte [0x4d9952]
cmp dl, 2
push 0x20
pop eax
push 0x40
pop ebx
cmove ebx, eax
push 0x51
lea eax, [ebp - 0x1494]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne edi, dword [eax]
push ebx
push edi
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0x1494]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
jmp 0x4173d8
cmp byte [ebp + 0xb], 0
je 0x41766b
push str.Wow64DisableWow64FsRedirection___failed
call fcn.00440131
pop ecx
lea ecx, [ebp - 0xba8]
call fcn.004329a7
test al, al
jne 0x417778
push 0x7f02
call fcn.00463530
push eax
call fcn.004634e1
pop ecx
pop ecx
call fcn.0046336e
lea ecx, [ebp - 0x162c]
call fcn.00407f38
lea eax, [ebp - 0x162c]
push eax
call fcn.00452fd3
pop ecx
test al, al
jne 0x4176bc
lea ecx, [ebp - 0x162c]
call fcn.00433136
push 0x7f00
call fcn.00463530
push eax
call fcn.004634e1
pop ecx
pop ecx
call fcn.0046336e
lea eax, [ebp - 0xba8]
push eax
lea ecx, [ebp - 0x162c]
call fcn.004322ad
test eax, eax
jle 0x417778
lea ecx, [ebp - 0x9ac]
call fcn.004282a8
push 0x1400
push ebx
lea eax, [ebp - 0x14a0]
push eax
lea ecx, [ebp - 0xba8]
call fcn.0043291c
push eax
lea ecx, [ebp - 0x9ac]
call fcn.00424f5b
lea ecx, [ebp - 0x14a0]
call fcn.00425c1b
mov esi, edi
cmp dword [ebp - 0x9ac], 0
cmovne esi, dword [ebp - 0x9ac]
push 0x3c
lea eax, [ebp - 0x14ac]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0x14ac]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x9ac]
call fcn.00425c1b
jmp 0x4173d8
call fcn.004563ea
test dword [ebp - 0x7ec], eax
je 0x417810
lea ecx, [ebp - 0x9b8]
call fcn.004282a8
mov esi, dword [0x4ce290]
push 3
lea eax, [ebp - 0x14b8]
push eax
call fcn.00456546
push esi
lea ecx, [ebp - 0x9b8]
push ecx
push eax
call fcn.00458523
add esp, 0x14
lea ecx, [ebp - 0x14b8]
call fcn.00425c1b
mov esi, edi
cmp dword [ebp - 0x9b8], 0
cmovne esi, dword [ebp - 0x9b8]
push 0x3d
lea eax, [ebp - 0x14c4]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0x14c4]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x9b8]
jmp 0x41776e
mov ecx, dword [0x4d9958]
mov eax, ecx
and eax, 0x10000
or eax, ebx
je 0x417a20
lea ecx, [ebp - 0x29c]
call fcn.0040b435
test al, al
je 0x417844
push 0x4d9a74
lea ecx, [ebp - 0x29c]
call fcn.004230bc
lea ecx, [ebp - 0x1d0]
call fcn.0040b435
test al, al
je 0x417863
push 0x4d9a74
lea ecx, [ebp - 0x1d0]
call fcn.004230bc
push str._master_
lea ecx, [ebp - 0xb0]
call fcn.00426d51
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x640]
call fcn.004282a8
lea ecx, [ebp - 0x634]
call fcn.004282a8
mov ecx, edi
cmp dword [ebp - 0x29c], 0
cmovne ecx, dword [ebp - 0x29c]
lea eax, [ebp - 0x634]
push eax
lea eax, [ebp - 0x640]
push eax
push ecx
call fcn.00454d6f
add esp, 0xc
cmp byte [ebp + 0xb], 0
je 0x4178c7
movzx eax, al
xor ecx, ecx
cmp dword [ebp - 0x63c], ecx
cmovle eax, ecx
test al, al
jne 0x417922
mov esi, edi
cmp dword [ebp - 0x1d0], 0
cmovne esi, dword [ebp - 0x1d0]
push 0xc
lea eax, [ebp - 0x14d0]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
push edi
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0x14d0]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x634]
call fcn.00425c1b
lea ecx, [ebp - 0x640]
jmp 0x41776e
cmp dword [ebp - 0x274], 0
jle 0x4179ec
mov eax, 0x49ab60
mov ecx, eax
cmp dword [ebp - 0x278], 0
cmovne ecx, dword [ebp - 0x278]
cmp dword [ebp - 0x634], 0
cmovne eax, dword [ebp - 0x634]
push ecx
push eax
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
jns 0x4179ec
lea ecx, [ebp - 0x9c4]
call fcn.004282a8
push dword [0x4ce290]
lea eax, [ebp - 0x9c4]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00458523
cmp dword [ebp - 0x1d0], 0
cmovne edi, dword [ebp - 0x1d0]
mov ebx, 0x49ab64
mov esi, ebx
cmp dword [ebp - 0x9c4], 0
cmovne esi, dword [ebp - 0x9c4]
push 0x70
lea eax, [ebp - 0x14dc]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne ebx, dword [eax]
push edi
push esi
push ebx
call fcn.0040b345
add esp, 0x20
lea ecx, [ebp - 0x14dc]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x9c4]
call fcn.00425c1b
jmp 0x41790c
cmp byte [ebp + 0xb], 0
je 0x417a04
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00424f5b
lea ecx, [ebp - 0x634]
call fcn.00425c1b
lea ecx, [ebp - 0x640]
call fcn.00425c1b
mov ecx, dword [0x4d9958]
and ecx, 0x100
or ecx, ebx
je 0x417a75
push ebx
push dword [0x4ce330]
mov esi, 0x4dacf0
mov ecx, esi
call fcn.00466ae4
test al, al
je 0x417a75
push ebx
mov ecx, esi
call fcn.004672cc
test al, al
jne 0x417a75
push 0x5b
lea eax, [ebp - 0x14e8]
push eax
call fcn.00408bf7
cmp dword [eax], 0
cmovne edi, dword [eax]
push edi
call fcn.0040b3bf
add esp, 0xc
lea ecx, [ebp - 0x14e8]
jmp 0x417648
lea ecx, [ebp - 0x540]
call fcn.004282a8
lea ecx, [ebp - 0x5bc]
call fcn.004282a8
lea ecx, [ebp - 0xa00]
call fcn.004282a8
lea ecx, [ebp - 0x988]
call fcn.004282a8
mov eax, dword [0x4d9958]
and eax, 4
or eax, ebx
je 0x417c88
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00464dd0
push esi
push eax
lea eax, [ebp - 0x14f4]
push eax
call fcn.004444c6
add esp, 0xc
push eax
lea ecx, [ebp - 0x988]
call fcn.00424f5b
lea ecx, [ebp - 0x14f4]
call fcn.00425c1b
lea ecx, [ebp - 0x16f4]
call fcn.004081a9
mov eax, edi
cmp dword [ebp - 0x988], 0
cmovne eax, dword [ebp - 0x988]
push 0x2000f
push 0x40
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x16f4]
call fcn.0045d422
mov esi, 0x49bd2d
test eax, eax
je 0x417c0b
push 0x1000
push esi
push 0x49e534
lea eax, [ebp - 0x1500]
push eax
lea ecx, [ebp - 0x16f4]
call fcn.0045ca20
push eax
lea ecx, [ebp - 0x540]
call fcn.00424f5b
lea ecx, [ebp - 0x1500]
call fcn.00425c1b
push ebx
push esi
push str.DisplayVersion
lea eax, [ebp - 0x150c]
push eax
lea ecx, [ebp - 0x16f4]
call fcn.0045ca20
push eax
mov esi, 0x4d9aa4
mov ecx, esi
call fcn.0040887d
lea ecx, [ebp - 0x150c]
call fcn.00425c1b
push ebx
push 0x4daccc
push esi
call fcn.00458523
add esp, 0xc
push ebx
mov esi, 0x49bd2d
push esi
push str.SharedFiles
lea eax, [ebp - 0x1518]
push eax
lea ecx, [ebp - 0x16f4]
call fcn.0045ca20
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0040887d
lea ecx, [ebp - 0x1518]
call fcn.00425c1b
push 0x1000
push esi
push str.ProductStartMenu
lea eax, [ebp - 0x1524]
push eax
lea ecx, [ebp - 0x16f4]
call fcn.0045ca20
push eax
lea ecx, [ebp - 0xa00]
call fcn.0040887d
lea ecx, [ebp - 0x1524]
call fcn.00425c1b
cmp dword [ebp - 0x53c], 0
jg 0x417c54
mov eax, 0x49ab60
cmp dword [ebp - 0x1c4], 0
cmovne eax, dword [ebp - 0x1c4]
push 0x1000
push esi
push eax
lea eax, [ebp - 0x153c]
push eax
call fcn.0045e1fd
add esp, 0x10
push eax
lea ecx, [ebp - 0x540]
call fcn.0040887d
lea ecx, [ebp - 0x153c]
call fcn.00425c1b
test dword [0x4d9960], 0x2000
je 0x417c7d
mov eax, 0x49ab60
cmp dword [ebp - 0x1c4], 0
cmovne eax, dword [ebp - 0x1c4]
push 2
push eax
call fcn.00408fdf
pop ecx
pop ecx
lea ecx, [ebp - 0x16f4]
call fcn.00408577
mov eax, edi
cmp dword [ebp - 0x540], 0
cmovne eax, dword [ebp - 0x540]
push eax
call fcn.00441721
pop ecx
mov byte [ebp - 0x134], al
mov cl, byte [0x4d9950]
test cl, cl
jne 0x417cd8
cmp dword [ebp - 0x368], 0
jle 0x417cd8
mov eax, edi
cmp dword [ebp - 0x36c], 0
cmovne eax, dword [ebp - 0x36c]
push 0x17
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov cl, byte [0x4d9950]
mov eax, dword [0x4d9958]
mov dword [ebp - 0x38], eax
and eax, 8
or eax, ebx
jne 0x417d0b
test cl, cl
jne 0x417d91
mov eax, dword [0x4d995c]
mov dword [ebp + 8], eax
mov ecx, eax
and ecx, 0x800
mov eax, ebx
or eax, ecx
jne 0x417d91
jmp 0x417d13
mov eax, dword [0x4d995c]
mov dword [ebp + 8], eax
mov ebx, dword [0x4d9980]
push 0x41
lea eax, [ebp - 0x1548]
push eax
call fcn.00408bf7
pop ecx
pop ecx
cmp dword [eax], 0
cmovne edi, dword [eax]
mov esi, dword [0x4d9944]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x38]
sub esp, 0xc
mov eax, esp
push 1
push eax
call fcn.00408bf7
pop ecx
pop ecx
push edi
push esi
call fcn.004559d4
add esp, 0x20
mov bl, al
lea ecx, [ebp - 0x1548]
call fcn.00425c1b
test bl, bl
jne 0x417d8a
mov ecx, 0x49ab60
mov eax, dword [0x4d9a50]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e0d3
push 1
call fcn.0040c13f
add esp, 0xc
jmp 0x417d8c
xor ebx, ebx
mov edi, 0x49ab64
call fcn.0041170b
test al, al
jne 0x417d9f
call fcn.00408edc
cmp byte [0x4d9950], 0
jne 0x417f7b
push 0x3f
lea eax, [ebp - 0xa94]
push eax
call fcn.00408bf7
pop ecx
pop ecx
cmp dword [ebp - 0xa90], 0
jle 0x417dd7
lea eax, [ebp - 0xa94]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00407b13
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x1560]
call fcn.0040253a
jmp 0x417e6f
mov esi, dword [ebp - 0x154c]
cmp dword [esi + 4], ebx
jle 0x417e6f
mov eax, 0x49ab60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043ded2
pop ecx
test al, al
jne 0x417e16
push esi
call fcn.00415639
pop ecx
mov ecx, str.LicenseDlg3
mov eax, dword [0x4d9988]
sub eax, ebx
je 0x417e3d
sub eax, 1
je 0x417e36
dec eax
sub eax, 1
jne 0x417e42
mov ecx, str.LicenseDlg4
jmp 0x417e42
mov ecx, str.LicenseDlg
jmp 0x417e42
mov ecx, str.LicenseDlg2
mov eax, 0x49ab60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40cfeb
push dword [0x4d9944]
push ecx
call fcn.0046131a
add esp, 0x14
cmp eax, 0x3eb
jne 0x417e6f
call fcn.00408edc
lea ecx, [ebp - 0x1560]
call fcn.0040259f
test al, al
jne 0x417dee
lea ecx, [ebp - 0xa94]
call fcn.00425c1b
cmp byte [0x4d9950], 0
jne 0x417f7b
push 0x40
lea eax, [ebp - 0xaa0]
push eax
call fcn.00408bf7
pop ecx
pop ecx
cmp dword [ebp - 0xa9c], 0
jle 0x417ec5
lea eax, [ebp - 0xaa0]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00407b13
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x1578]
call fcn.0040253a
jmp 0x417f5d
mov esi, dword [ebp - 0x1564]
cmp dword [esi + 4], ebx
jle 0x417f5d
mov eax, 0x49ab60
cmp dword [esi], 0
cmovne eax, dword [esi]
push eax
call fcn.0043ded2
pop ecx
test al, al
jne 0x417f04
push esi
call fcn.00415639
pop ecx
mov ecx, str.ReadmeDlg3
mov eax, dword [0x4d998c]
sub eax, ebx
je 0x417f2b
sub eax, 1
je 0x417f24
dec eax
sub eax, 1
jne 0x417f30
mov ecx, str.ReadmeDlg4
jmp 0x417f30
mov ecx, str.ReadmeDlg
jmp 0x417f30
mov ecx, str.ReadmeDlg2
mov eax, 0x49ab60
cmp dword [esi], 0
cmovne eax, dword [esi]
push ebx
push eax
push 0x40da21
push dword [0x4d9944]
push ecx
call fcn.0046131a
add esp, 0x14
cmp eax, 0x3eb
jne 0x417f5d
call fcn.00408edc
lea ecx, [ebp - 0x1578]
call fcn.0040259f
test al, al
jne 0x417edc
lea ecx, [ebp - 0xaa0]
call fcn.00425c1b
cmp dword [0x4d9a38], 0
je 0x417fdc
push 1
call fcn.00409ac5
mov dword [esp], 0x4d9a34
lea ecx, [ebp - 0xc64]
call fcn.0040253a
jmp 0x417fb6
mov eax, dword [ebp - 0xc50]
test byte [eax + 0x28], 2
jne 0x417fb6
lea ecx, [ebp - 0xc64]
call fcn.004021ce
lea ecx, [ebp - 0xc64]
call fcn.0040259f
test al, al
jne 0x417f9f
push 0x14d
call fcn.0046330b
push dword [0x4d9944]
call fcn.00462995
pop ecx
pop ecx
mov byte [ebp + 0xb], bl
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x80], bl
mov byte [ebp - 0x39], bl
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x7bc]
call fcn.004082dd
push closesocket
push 0x49ef64
lea ecx, [ebp - 0x7bc]
call fcn.00426496
mov esi, ebx
test al, al
mov eax, reloc.OLEAUT32.dll_SysReAllocString
cmovne esi, eax
push closesocket
push 0x49ef70
lea ecx, [ebp - 0x7bc]
call fcn.00426496
mov ecx, closesocket
test al, al
cmovne esi, ecx
test esi, esi
je 0x418135
lea ecx, [ebp - 0x1914]
call fcn.004081a9
mov eax, edi
cmp dword [ebp - 0x7bc], 0
cmovne eax, dword [ebp - 0x7bc]
push 0x40
push edi
push eax
push esi
lea eax, [ebp - 0x15b4]
push eax
lea ecx, [ebp - 0x1914]
call fcn.0045cadb
push eax
mov esi, 0x4d9abc
mov ecx, esi
call fcn.00424f5b
lea ecx, [ebp - 0x15b4]
call fcn.00425c1b
cmp dword [0x4d9ac0], 0
jg 0x4180ba
mov eax, edi
cmp dword [ebp - 0xb0], 0
cmovne eax, dword [ebp - 0xb0]
push eax
push str.Failed_to_obtain_installation_path_from___s_
call fcn.0040b345
push 1
call fcn.0040c13f
add esp, 0xc
push esi
call fcn.0040b512
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441721
pop ecx
pop ecx
test al, al
jne 0x41810a
mov edx, edi
cmp dword [ebp - 0xb0], 0
cmovne edx, dword [ebp - 0xb0]
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push edx
push ecx
push str.Installation_path___s__obtained_from___s__does_not_exist.
call fcn.0040b345
push 1
call fcn.0040c13f
add esp, 0x10
push 0xffffffffffffffff
push 0x4dacf8
push esi
call fcn.00444adb
add esp, 0xc
lea ecx, [ebp - 0x1914]
call fcn.00408577
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
jmp 0x419012
mov ecx, dword [0x4d9958]
mov eax, ecx
and eax, 4
or eax, ebx
je 0x418739
cmp byte [ebp - 0x134], 0
je 0x418739
and ecx, 1
or ecx, ebx
je 0x418366
cmp dword [ebp - 0x344], 0
jle 0x41819b
mov eax, 0x49ab60
mov edx, eax
cmp dword [ebp - 0x348], 0
cmovne edx, dword [ebp - 0x348]
mov ecx, eax
mov eax, dword [0x4d9aa4]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
jns 0x418366
mov byte [0x4d9950], bl
lea ecx, [ebp - 0x558]
call fcn.004282a8
lea ecx, [ebp - 0x17c0]
call fcn.004081a9
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00464dd0
push esi
push eax
lea eax, [ebp - 0x15c0]
push eax
call fcn.004444c6
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x20009
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x17c0]
call fcn.0045d422
mov esi, eax
lea ecx, [ebp - 0x15c0]
call fcn.00425c1b
test esi, esi
je 0x418277
push ebx
push edi
push 0x49f114
lea eax, [ebp - 0x15cc]
push eax
lea ecx, [ebp - 0x17c0]
call fcn.0045cbf1
push eax
lea ecx, [ebp - 0x558]
call fcn.00424f5b
lea ecx, [ebp - 0x15cc]
call fcn.00425c1b
cmp dword [ebp - 0x554], 0
jg 0x4182b2
push ebx
push edi
push 0x49f140
lea eax, [ebp - 0x15d8]
push eax
lea ecx, [ebp - 0x17c0]
call fcn.0045cbf1
push eax
lea ecx, [ebp - 0x558]
call fcn.00424f5b
lea ecx, [ebp - 0x15d8]
call fcn.00425c1b
cmp dword [ebp - 0x554], 0
jg 0x4182b2
push 9
lea eax, [ebp - 0xd80]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3bf
add esp, 0xc
lea ecx, [ebp - 0xd80]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
push ebx
push ebx
push 0x40d49d
push dword [0x4d9944]
push str.MustUninstall
call fcn.0046131a
add esp, 0x14
cmp eax, 0x3e9
jne 0x418348
call sub.KERNEL32.dll_GetCommandLineW
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00408375
push 1
push 0x60
push 0x22
lea ecx, [ebp - 0x9d0]
call fcn.0042e69a
mov eax, edi
cmp dword [ebp - 0x9d0], 0
cmovne eax, dword [ebp - 0x9d0]
push ebx
push 0x49e0d8
push eax
push str.__r:_
lea eax, [ebp - 0x558]
push eax
call fcn.00423a24
mov eax, edi
cmp dword [ebp - 0x558], 0
cmovne eax, dword [ebp - 0x558]
push ebx
push ebx
push 0x880
push eax
call fcn.00456843
add esp, 0x24
lea ecx, [ebp - 0x9d0]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x17c0]
call fcn.00408577
lea ecx, [ebp - 0x558]
call fcn.00425c1b
lea ecx, [ebp - 0x1848]
call fcn.004081a9
mov esi, edi
cmp dword [ebp - 0xbc], 0
cmovne esi, dword [ebp - 0xbc]
call fcn.00464dd0
push esi
push eax
lea eax, [ebp - 0xd8c]
push eax
call fcn.004444c6
add esp, 0xc
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push 0x2000f
push 0x40
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x1848]
call fcn.0045d422
mov esi, eax
lea ecx, [ebp - 0xd8c]
call fcn.00425c1b
test esi, esi
je 0x4184b5
lea ecx, [ebp - 0x4f8]
call fcn.004282a8
push ebx
push 0x49bd2d
push str.NoDowngradeBelow
lea eax, [ebp - 0xd98]
push eax
lea ecx, [ebp - 0x1848]
call fcn.0045ca20
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00424f5b
lea ecx, [ebp - 0xd98]
call fcn.00425c1b
lea ecx, [ebp - 0x4f8]
call fcn.00412552
cmp dword [ebp - 0x4f4], 0
jle 0x4184aa
mov eax, 0x49ab60
mov edx, eax
cmp dword [ebp - 0x4f8], 0
cmovne edx, dword [ebp - 0x4f8]
mov ecx, eax
mov eax, dword [0x4d9b1c]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
jns 0x4184aa
cmp byte [0x4d9950], 0
jne 0x4184a2
push ebx
lea eax, [ebp - 0x4f8]
push eax
call fcn.00458500
mov esi, edi
cmp dword [ebp - 0x4f8], 0
cmovne esi, dword [ebp - 0x4f8]
push 0x6a
lea eax, [ebp - 0xda4]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
add esp, 0x18
lea ecx, [ebp - 0xda4]
call fcn.00425c1b
push 1
call fcn.0040c13f
pop ecx
lea ecx, [ebp - 0x4f8]
call fcn.00425c1b
lea ecx, [ebp - 0x1848]
call fcn.00408577
mov ecx, dword [0x4d995c]
and ecx, 0x10
mov eax, ebx
or eax, ecx
je 0x41853c
mov ecx, 0x4d9aa4
call fcn.0040b435
test al, al
jne 0x41853c
mov ecx, 0x4d9b1c
call fcn.0040b435
test al, al
jne 0x41853c
mov ecx, 0x49ab60
mov edx, ecx
mov eax, dword [0x4d9b1c]
test eax, eax
cmovne edx, eax
mov eax, dword [0x4d9aa4]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
jne 0x418520
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x60], 4
jmp 0x418543
js 0x41852f
mov dword [ebp - 0x60], 6
mov byte [ebp - 0x80], 1
jmp 0x418543
mov dword [ebp - 0x60], 5
mov byte [ebp - 0x55], 1
jmp 0x418543
mov dword [ebp - 0x60], 3
cmp byte [0x4d9950], 0
jne 0x41871f
mov eax, dword [0x4d9958]
and eax, 0x10000000
or eax, ebx
jne 0x41871f
lea ecx, [ebp - 0x9dc]
call fcn.004282a8
push 7
lea eax, [ebp - 0xdbc]
push eax
call fcn.00408bf7
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, 0x49ab64
cmp dword [ebp - 0x540], 0
cmovne ebx, dword [ebp - 0x540]
mov esi, dword [0x4ce3a4]
push dword [ebp - 0x60]
lea eax, [ebp - 0xdb0]
push eax
call fcn.00408bf7
mov ecx, 0x49ab64
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 - 0x9dc]
push eax
call fcn.0042f13c
add esp, 0x2c
lea ecx, [ebp - 0xdb0]
call fcn.00425c1b
lea ecx, [ebp - 0xdbc]
call fcn.00425c1b
push 2
lea eax, [ebp - 0xdc8]
push eax
call fcn.00408bf7
mov edi, 0x49ab64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x9dc], 0
cmovne eax, dword [ebp - 0x9dc]
push ecx
push eax
call fcn.0040f5d9
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xdc8]
call fcn.00425c1b
test bl, bl
jne 0x418638
call fcn.00408edc
mov ecx, dword [0x4d995c]
and ecx, 0x1000
xor ebx, ebx
mov eax, ebx
or eax, ecx
je 0x418714
mov ecx, 0x4d9aa4
call fcn.0040b435
test al, al
jne 0x418714
lea ecx, [ebp - 0x354]
call fcn.0040b435
test al, al
jne 0x41869e
mov eax, 0x49ab60
mov edx, eax
cmp dword [ebp - 0x354], ebx
cmovne edx, dword [ebp - 0x354]
mov ecx, eax
mov eax, dword [0x4d9aa4]
test eax, eax
cmovne ecx, eax
push edx
push ecx
call fcn.00430b70
pop ecx
pop ecx
test eax, eax
jns 0x418714
push 0x14
lea eax, [ebp - 0xde0]
push eax
call fcn.00408bf7
mov esi, edi
cmp dword [eax], ebx
cmovne esi, dword [eax]
push 0x48
lea eax, [ebp - 0xdd4]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040f507
add esp, 0x18
mov bl, al
lea ecx, [ebp - 0xdd4]
call fcn.00425c1b
lea ecx, [ebp - 0xde0]
call fcn.00425c1b
test bl, bl
jne 0x418712
mov ecx, 0x49ab60
mov eax, dword [0x4d9a50]
test eax, eax
cmovne ecx, eax
xor ebx, ebx
push ebx
push ecx
call fcn.0040e0d3
push 1
call fcn.0040c13f
add esp, 0xc
jmp 0x418714
xor ebx, ebx
lea ecx, [ebp - 0x9dc]
call fcn.00425c1b
mov byte [ebp + 0xb], 1
push 0xffffffffffffffff
push 0x4dacf8
lea eax, [ebp - 0x540]
push eax
call fcn.00444adb
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
cmp byte [ebp + 0xb], 0
jne 0x41900d
cmp dword [0x4dacfc], 0
jg 0x41876d
push 0xffffffffffffffff
push 0x4dacf8
lea eax, [ebp - 0xb0]
push eax
call fcn.00444adb
add esp, 0xc
push 0x5c
mov ecx, 0x4dacf8
call fcn.004265ac
push ebx
mov esi, 0x4d9abc
push esi
push 0x4dacf8
call fcn.004457ea
add esp, 0xc
cmp byte [0x4d9950], 0
jne 0x419081
mov eax, dword [0x4d9958]
and eax, 0x80
or eax, ebx
je 0x419081
call fcn.0041166f
test al, al
jne 0x4187ba
call fcn.00408edc
mov ecx, esi
call fcn.00430ea9
push 0x5c
mov ecx, esi
call fcn.004265ac
cmp dword [0x4d9ac0], 0
jle 0x4187ac
push 0xffffffffffffffff
push 0x4dacf8
push esi
call fcn.00444adb
mov byte [ebp + 0xb], 1
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441b81
add esp, 0x10
test al, al
je 0x418814
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00444d76
pop ecx
test al, al
jne 0x418817
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
push esp
call fcn.0046559f
pop ecx
call fcn.00441bd5
add esp, 0x18
test al, al
jne 0x418859
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
push esp
call fcn.0046564e
pop ecx
call fcn.00441bd5
add esp, 0x18
test al, al
je 0x41885c
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
push esp
call fcn.00465ed3
pop ecx
call fcn.00441bd5
add esp, 0x18
test al, al
jne 0x41889e
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
push esp
call fcn.004660f7
pop ecx
call fcn.00441bd5
add esp, 0x18
test al, al
je 0x4188a1
mov byte [ebp + 0xb], bl
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
push esp
call fcn.00466436
pop ecx
call fcn.00441bd5
add esp, 0x18
movzx ecx, byte [ebp + 0xb]
xor edx, edx
test al, al
cmovne ecx, edx
mov eax, dword [0x4d9abc]
test cl, cl
jne 0x41893c
test eax, eax
cmovne edi, eax
mov esi, dword [str._r_n_r_n]
push 0xe
lea eax, [ebp - 0xdf8]
push eax
call fcn.00408bf7
mov ecx, 0x49ab64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0xdec]
push eax
call fcn.0042faa0
mov edi, 0x49ab64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3bf
add esp, 0x20
lea ecx, [ebp - 0xdec]
call fcn.00425c1b
lea ecx, [ebp - 0xdf8]
call fcn.00425c1b
mov esi, 0x4d9abc
jmp 0x4187ac
mov ecx, edi
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.004448ab
pop ecx
pop ecx
mov byte [ebp - 0x78], al
test al, al
je 0x41898d
lea eax, [ebp - 0x78]
push eax
call fcn.00441f15
pop ecx
test al, al
jne 0x41898d
movsx esi, byte [ebp - 0x78]
push 0x10
lea eax, [ebp - 0xe04]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0xe04]
jmp 0x41892d
mov ecx, dword [0x4d995c]
and ecx, 0x20
mov eax, ebx
or eax, ecx
je 0x4189ee
push closesocket
push 0x49dc8c
mov ecx, esi
call fcn.0042ade7
test al, al
jne 0x4189bf
lea eax, [ebp - 0x78]
push eax
call fcn.00441ffa
pop ecx
test al, al
je 0x4189ee
push 0x42
lea eax, [ebp - 0xe10]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3bf
lea ecx, [ebp - 0xe10]
add esp, 0xc
call fcn.00425c1b
jmp 0x4187ac
mov eax, dword [0x4d9ac0]
and eax, 0xfffffffe
cmp eax, 6
jg 0x418a1f
push 0x11
lea eax, [ebp - 0xe1c]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3bf
lea ecx, [ebp - 0xe1c]
jmp 0x4189e1
lea ecx, [ebp - 0x3ec]
call fcn.004282a8
push 1
lea eax, [ebp - 0xe28]
push eax
call fcn.00465d4a
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3ec]
call fcn.00424f5b
lea ecx, [ebp - 0xe28]
call fcn.00425c1b
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3ec]
push eax
call fcn.004082dd
call fcn.00441cea
add esp, 0x18
test al, al
je 0x418abf
mov esi, edi
cmp dword [ebp - 0x3ec], 0
cmovne esi, dword [ebp - 0x3ec]
push 0x12
lea eax, [ebp - 0xe34]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
lea ecx, [ebp - 0xe34]
add esp, 0x10
call fcn.00425c1b
lea ecx, [ebp - 0x3ec]
jmp 0x41892d
push 2
lea eax, [ebp - 0xe40]
push eax
call fcn.00465d4a
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x3ec]
call fcn.00424f5b
lea ecx, [ebp - 0xe40]
call fcn.00425c1b
sub esp, 0xc
mov ecx, esp
push esi
call fcn.004082dd
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x3ec]
push eax
call fcn.004082dd
call fcn.00441cea
add esp, 0x18
test al, al
je 0x418b46
mov esi, edi
cmp dword [ebp - 0x3ec], 0
cmovne esi, dword [ebp - 0x3ec]
push 0x12
lea eax, [ebp - 0xe4c]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
lea ecx, [ebp - 0xe4c]
jmp 0x418aac
lea ecx, [ebp - 0x3ec]
call fcn.00425c1b
mov dl, byte [ebp - 0x78]
test dl, dl
je 0x418b98
lea eax, [ebp - 0x78]
push eax
call fcn.00442020
pop ecx
test al, al
je 0x418b95
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe58]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0xe58]
jmp 0x41892d
mov dl, byte [ebp - 0x78]
mov ecx, dword [0x4d995c]
and ecx, 0x800000
mov eax, ebx
or eax, ecx
je 0x418beb
test dl, dl
je 0x418beb
lea eax, [ebp - 0x78]
push eax
call fcn.0044200d
pop ecx
test al, al
je 0x418beb
movsx esi, byte [ebp - 0x78]
push 0x60
lea eax, [ebp - 0xe64]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0xe64]
jmp 0x41892d
test dword [0x4d9960], 0x10000
je 0x418c29
mov ecx, esi
call fcn.004251af
test al, al
jne 0x418c29
push 0x1e
lea eax, [ebp - 0xe70]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0040b3bf
lea ecx, [ebp - 0xe70]
jmp 0x4189e1
push 0x4ce2f4
push dword [ebp - 0x78]
call fcn.0040b49a
pop ecx
pop ecx
mov dword [ebp - 0x160], eax
mov esi, edx
mov dword [ebp - 0x15c], esi
cmp byte [ebp - 0x134], 0
jne 0x418d85
cmp byte [0x4d9950], 0
jne 0x418d85
cmp byte [ebp - 0x78], 0
je 0x418d85
lea eax, [ebp - 0x78]
push eax
call fcn.00441fd4
pop ecx
mov ebx, eax
mov eax, edx
mov dword [ebp + 8], eax
cmp esi, eax
jl 0x418d85
jg 0x418c91
cmp dword [ebp - 0x160], ebx
jbe 0x418d85
lea ecx, [ebp - 0x774]
call fcn.004282a8
push dword [ebp + 8]
push ebx
lea eax, [ebp - 0xe94]
push eax
call fcn.00424748
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
movsx edi, byte [ebp - 0x78]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
lea eax, [ebp - 0xe88]
push eax
call fcn.00424748
mov esi, 0x49ab64
cmp dword [eax], 0
cmovne esi, dword [eax]
push 0x13
lea eax, [ebp - 0xe7c]
push eax
call fcn.00408bf7
mov ecx, 0x49ab64
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push edi
push esi
push ecx
lea eax, [ebp - 0x774]
push eax
call fcn.00427cce
add esp, 0x34
lea ecx, [ebp - 0xe7c]
call fcn.00425c1b
lea ecx, [ebp - 0xe88]
call fcn.00425c1b
lea ecx, [ebp - 0xe94]
call fcn.00425c1b
push 0x14
lea eax, [ebp - 0xea0]
push eax
call fcn.00408bf7
mov edi, 0x49ab64
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x774], 0
cmovne eax, dword [ebp - 0x774]
push ecx
push eax
call fcn.0040f5d9
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xea0]
call fcn.00425c1b
lea ecx, [ebp - 0x774]
test bl, bl
jne 0x418d80
call fcn.00425c1b
xor ebx, ebx
jmp 0x418932
call fcn.00425c1b
lea ecx, [ebp - 0x564]
call fcn.004282a8
call fcn.004634bf
call fcn.0046336e
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.00441721
pop ecx
mov bl, al
call fcn.00463540
mov esi, edi
mov eax, dword [0x4d9abc]
test bl, bl
je 0x418dfc
xor ebx, ebx
mov byte [ebp + 0xb], bl
test eax, eax
cmovne esi, eax
push 0x16
lea eax, [ebp - 0xeac]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], ebx
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x564]
push eax
call fcn.00427cce
add esp, 0x14
lea ecx, [ebp - 0xeac]
call fcn.00425c1b
jmp 0x418e39
mov byte [ebp + 0xb], 1
test eax, eax
cmovne esi, eax
push 0x17
lea eax, [ebp - 0xeb8]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0x564]
push eax
call fcn.00427cce
add esp, 0x14
lea ecx, [ebp - 0xeb8]
call fcn.00425c1b
xor ebx, ebx
mov eax, dword [0x4d9958]
and eax, 0x80000000
or eax, ebx
je 0x418e95
push 0x18
lea eax, [ebp - 0xec4]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x564], 0
cmovne eax, dword [ebp - 0x564]
push ecx
push eax
call fcn.0040f5d9
add esp, 0x10
mov bl, al
lea ecx, [ebp - 0xec4]
call fcn.00425c1b
test bl, bl
jne 0x418e93
lea ecx, [ebp - 0x564]
jmp 0x418d74
xor ebx, ebx
cmp byte [ebp + 0xb], 0
je 0x418f6a
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004413ad
pop ecx
test al, al
jne 0x418f6a
lea ecx, [ebp - 0x7fc]
call fcn.004282a8
lea eax, [ebp - 0xedc]
push eax
call fcn.00457917
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, 0x49ab64
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ebx, eax
mov esi, dword [0x4ce3a4]
push 0x19
lea eax, [ebp - 0xed0]
push eax
call fcn.00408bf7
mov ecx, 0x49ab64
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 - 0x7fc]
push eax
call fcn.0042f13c
add esp, 0x28
lea ecx, [ebp - 0xed0]
call fcn.00425c1b
lea ecx, [ebp - 0xedc]
call fcn.00425c1b
mov edi, 0x49ab64
mov eax, edi
cmp dword [ebp - 0x7fc], 0
cmovne eax, dword [ebp - 0x7fc]
push eax
call fcn.0040b3bf
pop ecx
lea ecx, [ebp - 0x7fc]
call fcn.00425c1b
jmp 0x418e88
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ebx
push ebx
push ecx
lea eax, [ebp - 0x7d4]
push eax
call fcn.00442cf0
add esp, 0x10
cmp dword [ebp - 0x7d0], 0
jg 0x418fde
mov esi, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne esi, eax
push 0x49
lea eax, [ebp - 0xee8]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
call fcn.0040b345
add esp, 0x10
lea ecx, [ebp - 0xee8]
call fcn.00425c1b
lea ecx, [ebp - 0x7d4]
call fcn.00425c1b
lea ecx, [ebp - 0x564]
jmp 0x41892d
mov eax, edi
cmp dword [ebp - 0x7d4], 0
cmovne eax, dword [ebp - 0x7d4]
push ebx
push eax
call fcn.004435cd
pop ecx
pop ecx
lea ecx, [ebp - 0x7d4]
call fcn.00425c1b
lea ecx, [ebp - 0x564]
call fcn.00425c1b
mov esi, 0x4d9abc
push 0x5c
mov ecx, 0x4dacf8
call fcn.004265ac
push ebx
push esi
push 0x4dacf8
call fcn.004457ea
mov esi, 0x49ab60
mov ecx, esi
mov eax, dword [0x4dacf8]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.00444865
mov byte [ebp - 0x398], al
lea eax, [ebp - 0x398]
push eax
call fcn.0044200d
add esp, 0x18
mov byte [0x4d9977], al
cmp byte [ebp - 0x134], 0
je 0x419099
cmp dword [ebp - 0x9fc], 0
jle 0x4190df
lea eax, [ebp - 0xa00]
push eax
mov ecx, 0x4d9ab0
call fcn.004230bc
jmp 0x4190df
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004413ad
pop ecx
jmp 0x419012
push 0x4d9ab0
call fcn.00415639
pop ecx
cmp byte [0x4d9950], 0
jne 0x4190df
mov ecx, dword [0x4d995c]
and ecx, 4
mov eax, ebx
or eax, ecx
je 0x4190df
cmp byte [0x4d9977], 0
je 0x4190d1
test dword [0x4d9960], 0x800
jne 0x4190df
call fcn.004116bc
test al, al
jne 0x4190df
call fcn.00408edc
call fcn.0040fb86
mov ecx, esi
mov eax, dword [0x4dad10]
test eax, eax
cmovne ecx, eax
push ebx
push ecx
call fcn.0040e0d3
pop ecx
pop ecx
push 0x80
push 0x20000000
push 0x49bd2d
mov ecx, 0x4dac08
call fcn.00447260
push 1
push ebx
call fcn.0045f112
pop ecx
pop ecx
test al, al
jne 0x41912b
push str.Warning:_the_installer_does_not_have_admin_rights._r_n_r_n
call fcn.0040ea15
pop ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e0], xmm0
test byte [0x4d9960], 2
je 0x419212
push 0x61
call fcn.00409c32
mov dword [esp], str.Creating_restore_point...
call fcn.0040ea15
mov dword [esp], 0x4d9a74
lea ecx, [ebp - 0x814]
call fcn.004082dd
cmp dword [0x4dacdc], 0
jg 0x419186
push 0x4dacd8
push 0x49be60
lea ecx, [ebp - 0x814]
call fcn.00424003
lea ecx, [ebp - 0x808]
call fcn.004282a8
mov eax, edi
cmp dword [ebp - 0x814], 0
cmovne eax, dword [ebp - 0x814]
lea ecx, [ebp - 0x808]
push ecx
push eax
lea ecx, [ebp - 0x7e0]
call fcn.0045e4d3
test al, al
jne 0x4191e6
mov eax, esi
cmp dword [ebp - 0x808], 0
cmovne eax, dword [ebp - 0x808]
push ebx
push dword [0x4ce3a0]
push eax
push str.FAILED_r_n
call fcn.0040e9b9
add esp, 0x10
and dword [0x4d9960], 0xfffffffd
jmp 0x4191f1
push 0x49dbe4
call fcn.0040ea15
pop ecx
push 0x49bd2d
call fcn.00412285
pop ecx
lea ecx, [ebp - 0x808]
call fcn.00425c1b
lea ecx, [ebp - 0x814]
call fcn.00425c1b
push 0x71
call fcn.00409c32
push 1
call fcn.0040fb63
mov edx, edi
mov eax, dword [0x4dac9c]
test eax, eax
cmovne edx, eax
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xef4]
push eax
call fcn.004444c6
add esp, 0x14
push eax
mov ecx, 0x4dad28
call fcn.00424f5b
lea ecx, [ebp - 0xef4]
call fcn.00425c1b
push 0xffffffffffffffff
push 0x4dab9c
push 0x4dad28
call fcn.00444adb
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004121a2
add esp, 0x10
cmp dword [0x4daca0], 0
jle 0x4192ec
mov ecx, edi
mov eax, dword [0x4dad28]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004413ad
pop ecx
test al, al
jne 0x4192ec
mov esi, dword [0x4ce3a4]
lea eax, [ebp - 0xf00]
push eax
call fcn.00457917
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4dad28]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x49f1f0
push ecx
push str.Failed_to_create_uninstall_data_folder__
call fcn.0040e9e7
add esp, 0x1c
lea ecx, [ebp - 0xf00]
call fcn.00425c1b
mov eax, dword [0x4d9958]
and eax, 4
or eax, ebx
jne 0x419302
mov ecx, 0x4d9aec
jmp 0x41943f
cmp dword [ebp - 0x264], 0
jle 0x419357
cmp byte [0x4d9977], 0
je 0x419357
mov edx, edi
cmp dword [ebp - 0x268], 0
cmovne edx, dword [ebp - 0x268]
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf0c]
push eax
call fcn.004444c6
add esp, 0xc
push eax
mov ecx, 0x4d9aec
call fcn.00424f5b
lea ecx, [ebp - 0xf0c]
jmp 0x41943f
lea ecx, [ebp - 0x64c]
call fcn.004282a8
movzx eax, byte [ebp - 0xdd]
sub eax, 1
je 0x4193f6
sub eax, 1
je 0x4193d2
sub eax, 1
je 0x4193ae
xor eax, eax
cmp byte [0x4d9952], 1
setne al
add eax, 2
push eax
lea eax, [ebp - 0xf18]
push eax
call fcn.004653b1
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x64c]
call fcn.00424f5b
lea ecx, [ebp - 0xf18]
jmp 0x419415
push 2
lea eax, [ebp - 0xf24]
push eax
call fcn.004653b1
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x64c]
call fcn.00424f5b
lea ecx, [ebp - 0xf24]
jmp 0x419415
push 1
lea eax, [ebp - 0xf30]
push eax
call fcn.004653b1
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x64c]
call fcn.00424f5b
lea ecx, [ebp - 0xf30]
jmp 0x419415
lea eax, [ebp - 0xf3c]
push eax
call fcn.00465221
pop ecx
push eax
lea ecx, [ebp - 0x64c]
call fcn.00424f5b
lea ecx, [ebp - 0xf3c]
call fcn.00425c1b
push ebx
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x64c]
push eax
call fcn.004082dd
push 0x4d9aec
call fcn.004450f3
add esp, 0x14
lea ecx, [ebp - 0x64c]
call fcn.00425c1b
cmp dword [0x4d9af0], 0
jle 0x4194d4
mov ecx, edi
mov eax, dword [0x4d9aec]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004413ad
pop ecx
test al, al
jne 0x4194af
mov esi, dword [0x4ce3a4]
lea eax, [ebp - 0xf48]
push eax
call fcn.00457917
mov edx, edi
cmp dword [eax], 0
cmovne edx, dword [eax]
mov ecx, edi
mov eax, dword [0x4d9aec]
test eax, eax
cmovne ecx, eax
push ebx
push esi
push edx
push 0x49f1f0
push ecx
push str.Failed_to_create_shared_folder__
call fcn.0040e9e7
add esp, 0x1c
lea ecx, [ebp - 0xf48]
call fcn.00425c1b
mov ecx, dword [0x4d995c]
and ecx, 0x40000000
mov eax, ebx
or eax, ecx
je 0x4194d4
mov ecx, edi
mov eax, dword [0x4d9aec]
test eax, eax
cmovne ecx, eax
push ecx
call fcn.004121a2
pop ecx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x15c]
jne 0x419500
push 0x4ce2f4
push dword [ebp - 0x398]
call fcn.0040b49a
pop ecx
pop ecx
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
mov edx, dword [0x4d995c]
mov ecx, edx
and ecx, 0x1000000
mov eax, ebx
or eax, ecx
je 0x41952a
cmp byte [0x4d9977], 0
je 0x41952a
and dword [0x4d9958], 0xfffffffb
mov dword [0x4d995c], edx
lea ecx, [ebp - 0x378]
call fcn.00426a3e
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x378]
call fcn.00423848
test byte [0x4d9960], 0x40
mov ecx, str.Pre_Installation_Batch
push 0
pop eax
cmove ecx, eax
mov eax, dword [0x4d9958]
and eax, 0x800000
or eax, ebx
mov al, 1
jne 0x41956b
mov al, bl
push ecx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x378]
push eax
call fcn.004082dd
call fcn.00410944
add esp, 0x14
cmp byte [ebp - 0x55], 0
je 0x4195d3
mov edx, dword [0x4d9960]
and edx, 0x100
neg edx
sbb edx, edx
and edx, str.Upgrade_Batch
mov ecx, dword [0x4d995c]
and ecx, 0x10000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x4195b8
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x464]
push eax
call fcn.004082dd
call fcn.00410944
add esp, 0x14
cmp byte [ebp - 0x134], 0
je 0x41962e
mov edx, dword [0x4d9960]
cmp byte [ebp - 0x39], 0
jne 0x4195ed
test dl, 1
jne 0x41962e
and edx, 0x200
neg edx
sbb edx, edx
and edx, str.Reinstall_Batch
mov ecx, dword [0x4d995c]
and ecx, 0x20000000
mov eax, ebx
or eax, ecx
mov al, 1
jne 0x419613
mov al, bl
push edx
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [ebp - 0x458]
push eax
call fcn.004082dd
call fcn.00410944
add esp, 0x14
push 8
call fcn.00409c32
push 2
call fcn.0040fb63
pop ecx
pop ecx
lea ecx, [ebp - 0x97c]
call fcn.004282a8
cmp byte [ebp - 0xde], 0
jne 0x41966a
mov ecx, dword [ebp - 0x13c]
sub dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x1f4]
add eax, ecx
mov dword [0x4d9968], eax
jmp 0x4196cd
mov esi, dword [ebp - 0x13c]
add esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x204]
sub eax, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x97c]
call fcn.004234b9
mov eax, 0x49ab60
cmp dword [ebp - 0x97c], 0
cmovne eax, dword [ebp - 0x97c]
mov dword [0x4d9968], eax
push esi
push dword [ebp - 0x44]
push eax
lea ecx, [ebp - 0xd74]
call fcn.0042bd13
test al, al
jne 0x4196cd
push esi
push dword [ebp - 0x44]
push str.Error_code_2:_failed_to_read_archive_data_r_nsize_d_pos_d
call fcn.00440215
add esp, 0xc
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x44], esi
je 0x4196df
push ebx
push 0x2e
call fcn.0040a027
pop ecx
pop ecx
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f1cc
push 0x3e
call fcn.00409c32
push 0x15
call fcn.0040fb63
push esi
push dword [0x4d9968]
call fcn.00427f48
add esp, 0x14
cmp eax, dword [ebp - 0x200]
je 0x419718
push ebx
push 0x37
call fcn.0040a027
pop ecx
pop ecx
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f1cc
mov esi, dword [0x4d9968]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x208], esi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x14c], eax
push 0x36
call fcn.00409c32
push 0x1a
call fcn.0040fb63
push 1
call fcn.0040a3c3
push 0x1b
call fcn.0040fb63
add esp, 0x14
lea ecx, [ebp - 0xb64]
call fcn.00407de2
lea ecx, [ebp - 0xb48]
call fcn.00407de2
lea ecx, [ebp - 0xb38]
call fcn.00407de2
lea ecx, [ebp - 0xb28]
call fcn.00407de2
push dword [ebp - 0x170]
lea ecx, [ebp - 0x15f4]
call fcn.00407d50
lea ecx, [ebp - 0x534]
call fcn.004282a8
mov byte [ebp - 0x7e], bl
lea ecx, [ebp - 0xbbc]
call fcn.00422fb9
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
cmp eax, dword [ebp - 0x170]
jge 0x41b046
lea ecx, [ebp - 0x220]
call fcn.004282a8
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0xbbc]
call fcn.00424fe1
test al, al
jne 0x4198f6
push 0x1d
call fcn.00409c32
pop ecx
mov edi, dword [esi]
add esi, 4
mov dword [ebp - 0x54], esi
mov ecx, dword [ebp - 0x7c]
sub ecx, 4
mov dword [ebp - 0x7c], ecx
test edi, edi
jg 0x419812
push ebx
push 0x3d
call fcn.0040a027
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
cmp edi, ecx
jle 0x419823
push ebx
push 0x3f
call fcn.0040a027
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
mov esi, dword [esi]
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
sub ecx, 4
mov dword [ebp - 0x7c], ecx
push edi
push eax
lea ecx, [ebp - 0x658]
call fcn.00408356
lea ecx, [ebp - 0x658]
call fcn.00427f3b
cmp eax, esi
je 0x41985a
push ebx
push 0x3e
call fcn.0040a027
pop ecx
pop ecx
test dword [0x4d9960], 0x1000
je 0x419881
mov esi, 0x4d9b40
mov ecx, esi
call fcn.00422aee
lea eax, [ebp - 0x658]
push eax
push eax
mov ecx, esi
call fcn.00422986
mov eax, dword [0x4d9958]
and eax, 0x20
or eax, ebx
je 0x4198aa
push ebx
lea eax, [ebp - 0x658]
push eax
call fcn.00402d52
pop ecx
pop ecx
test al, al
jne 0x4198aa
push ebx
push 0x3c
call fcn.0040a027
pop ecx
pop ecx
lea eax, [ebp - 0x658]
push eax
lea ecx, [ebp - 0xbbc]
call fcn.00427442
mov esi, dword [ebp - 0x54]
add esi, edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x208], esi
mov eax, dword [ebp - 0x7c]
sub eax, edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x14c], eax
dec dword [ebp - 0x40]
lea ecx, [ebp - 0x658]
call fcn.00425c1b
lea ecx, [ebp - 0x220]
call fcn.00425c1b
jmp 0x41b030
mov eax, 0x49ab60
cmp dword [ebp - 0x220], 0
cmovne eax, dword [ebp - 0x220]
mov dword [0x4d9968], eax
call fcn.00409c67
imul eax, dword [ebp - 0x40], 0x3e
cdq
idiv dword [ebp - 0x170]
add eax, 0x1c
push eax
call fcn.0040fb63
pop ecx
call fcn.0041216a
push eax
lea ecx, [ebp - 0x1ac]
call fcn.00401a8c
cmp dword [ebp - 0x1a8], 0
jg 0x41994c
push ebx
push 0x46
call fcn.0040a027
pop ecx
pop ecx
call fcn.00412146
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.00412146
mov dword [ebp - 0x64], eax
call fcn.00412146
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x9f0], ebx
or dword [ebp - 0x9e8], 0xffffffff
lea eax, [ebp - 0x9f4]
push eax
call fcn.00407c12
pop ecx
call fcn.0041216a
push eax
lea ecx, [ebp - 0xc8]
call fcn.00401a8c
lea ecx, [ebp - 0x2f4]
call fcn.004282a8
mov eax, dword [ebp - 0x64]
and eax, 3
mov dword [ebp - 0x3b0], eax
je 0x4199c3
call fcn.00412185
push closesocket
push eax
lea ecx, [ebp - 0x2f4]
call fcn.0042f491
call fcn.0041216a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00401a8c
call fcn.00412185
push eax
lea ecx, [ebp - 0x110]
call fcn.00408375
call fcn.0041216a
push eax
lea ecx, [ebp - 0x390]
call fcn.00401a8c
cmp esi, 0xb
jne 0x419a13
call fcn.00412146
cmp byte [0x4d9976], 0
push 2
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x94], eax
mov ecx, dword [0x4ce2f4]
mov eax, dword [ecx + 0x88]
push dword [ebp - 0x40]
mov ecx, 0x4ce2f4
call eax
mov esi, dword [eax]
mov dword [ebp - 0x200], esi
test esi, esi
jns 0x419a3f
push ebx
push 0x47
call fcn.0040a027
pop ecx
pop ecx
cmp esi, 0x40000000
jle 0x419a51
push ebx
push 0x48
call fcn.0040a027
pop ecx
pop ecx
mov eax, dword [0x4d9968]
mov dword [ebp - 0x204], eax
add eax, esi
mov dword [0x4d9968], eax
call fcn.00412146
mov esi, eax
push dword [ebp - 0x200]
push dword [ebp - 0x204]
call fcn.00427f48
pop ecx
pop ecx
cmp eax, esi
je 0x419a8b
push ebx
push 0x64
call fcn.0040a027
pop ecx
pop ecx
call fcn.0046329e
lea ecx, [ebp - 0xa4]
call fcn.004282a8
push ebx
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.004457ea
add esp, 0xc
cmp dword [ebp - 0x10c], 0
jle 0x419af6
push 0x5c
lea ecx, [ebp - 0x110]
call fcn.0042525f
test al, al
jne 0x419af6
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00424f5b
push 0xffffffffffffffff
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00444adb
add esp, 0xc
mov esi, dword [ebp - 0x44]
cmp esi, 1
jne 0x419b88
cmp byte [0x4d9977], 0
je 0x419b88
cmp dword [ebp - 0x264], 0
jle 0x419b88
cmp dword [ebp - 0x10c], 0
jle 0x419b7d
push 0x5c
lea ecx, [ebp - 0x110]
call fcn.0042525f
test al, al
je 0x419b7d
mov eax, edi
cmp dword [ebp - 0x110], 0
cmovne eax, dword [ebp - 0x110]
push eax
call fcn.00444d76
pop ecx
test al, al
jne 0x419b7d
lea ecx, [ebp - 0x110]
call fcn.00425c1b
mov byte [ebp + 0xb], bl
lea ecx, [ebp - 0x74]
call fcn.004282a8
cmp dword [ebp - 0x10c], 0
jle 0x419c51
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x74]
call fcn.004230bc
lea eax, [ebp - 0x74]
push eax
call fcn.0040b512
mov dword [esp], closesocket
push 0x49dc8c
lea ecx, [ebp - 0x74]
call fcn.004266fe
test al, al
je 0x419bda
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.004240d6
mov eax, 0x4d9aec
cmp esi, 1
mov ecx, 0x4d9abc
cmovne eax, ecx
push ebx
sub esp, 0xc
mov ecx, esp
push eax
call fcn.004082dd
lea eax, [ebp - 0x74]
push eax
call fcn.004450f3
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.0041244f
test al, al
je 0x419e18
mov eax, edi
cmp dword [ebp - 0xa4], 0
cmovne eax, dword [ebp - 0xa4]
push eax
lea eax, [ebp - 0xf54]
push eax
call fcn.00444950
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
lea eax, [ebp - 0x74]
push eax
call fcn.0044439e
add esp, 0x10
lea ecx, [ebp - 0xf54]
jmp 0x419e13
test byte [ebp - 0x64], 0x40
je 0x419ca0
mov edx, edi
cmp dword [ebp - 0xa4], 0
cmovne edx, dword [ebp - 0xa4]
mov ecx, edi
mov eax, dword [0x4dad28]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf60]
push eax
call fcn.004444c6
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.00424f5b
lea ecx, [ebp - 0xf60]
call fcn.00425c1b
mov byte [ebp + 0xb], bl
jmp 0x419e7e
cmp esi, 5
jg 0x419dcd
je 0x419dd7
mov eax, esi
sub eax, ebx
je 0x419dd7
cmp esi, 8
jle 0x419e2a
cmp esi, 0xc
jg 0x419e1e
mov edx, edi
cmp dword [ebp - 0xa4], 0
cmovne edx, dword [ebp - 0xa4]
mov ecx, edi
mov eax, dword [0x4d9abc]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0xf90]
push eax
call fcn.004444c6
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.00424f5b
lea ecx, [ebp - 0xf90]
call fcn.00425c1b
mov byte [ebp + 0xb], 1
jmp 0x419e7e
mov esi, edi
cmp dword [ebp - 0xa4], 0
cmovne esi, dword [ebp - 0xa4]
lea eax, [ebp - 0xfa8]
push eax
call fcn.0046630a
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push esi
push ecx
lea eax, [ebp - 0xf9c]
push eax
call fcn.004444c6
add esp, 0x10
push eax
lea ecx, [ebp - 0x74]
call fcn.00424f5b
lea ecx, [ebp - 0xf9c]
call fcn.00425c1b
lea ecx, [ebp - 0xfa8]
call fcn.00425c1b
lea ecx, [ebp - 0x50]
call fcn.004282a8
push 0xffffffffffffffff
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00444adb
add esp, 0xc
lea ecx, [ebp - 0x384]
call fcn.004282a8
mov esi, edi
cmp dword [ebp - 0x74], 0
cmovne esi, dword [ebp - 0x74]
mov eax, edi
cmp dword [ebp - 0xa4], 0
cmovne eax, dword [ebp - 0xa4]
push eax
lea eax, [ebp - 0xfb4]
push eax
call fcn.00444950
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
push esi
push 0x49f310
push ecx
lea eax, [ebp - 0x384]
push eax
call fcn.00423a24
add esp, 0x1c
lea ecx, [ebp - 0xfb4]
call fcn.00425c1b
mov ecx, dword [0x4d995c]
and ecx, 0x20000
mov eax, ebx
or eax, ecx
jne 0x419f2d
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, 0x49ab64
jmp 0x4197b7
cmp dword [ebp - 0x7c], 0
je 0x41b056
push ebx
push 0x50
call fcn.0040a027
pop ecx
pop ecx
lea ecx, [ebp - 0xbbc]
call fcn.00426912
test al, al
jne 0x41b06f
push ebx
push 0x53
call fcn.0040a027
pop ecx
pop ecx
push 0x5b
call fcn.0040fb63
push 0x36
lea eax, [ebp - 0x105c]
push eax
call fcn.00408bf7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ecx
call fcn.0041233d
add esp, 0x10
lea ecx, [ebp - 0x105c]
call fcn.00425c1b
cmp byte [ebp - 0x7e], 0
je 0x41b0ab
call fcn.0046358a
lea eax, [ebp - 0x15f4]
push eax
call fcn.0040a1b1
push 0x5c
call fcn.0040fb63
pop ecx
pop ecx
mov eax, dword [0x4d9958]
push 4
pop esi
and eax, esi
or eax, ebx
je 0x41b3f9
cmp byte [0x4d9977], 0
jne 0x41b3f9
lea ecx, [ebp - 0x16b0]
call fcn.004081a9
call fcn.00457a0a
push 0x2000f
push ebx
call fcn.00464dc4
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x16b0]
call fcn.0045d21a
test eax, eax
jne 0x41b1be
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 - 0x1080]
push eax
call fcn.00456560
mov ebx, edi
cmp dword [eax], 0
cmovne ebx, dword [eax]
push esi
lea eax, [ebp - 0x1074]
push eax
call fcn.004577da
cmp dword [eax], 0
cmovne edi, dword [eax]
push esi
lea eax, [ebp - 0x1068]
push eax
call fcn.004579d8
mov esi, 0x49ab64
cmp dword [eax], 0
cmovne esi, dword [eax]
call fcn.00464dca
push 0
push dword [ebp + 8]
push ebx
push str._r_nOS:
push edi
push 0x49e224
push esi
push str._r_nCode
push eax
push str.Registry_error:_unable_to_increment_shared_file_reference_counts._r_nHKLM_
push 0x4dac90
call fcn.00423a24
add esp, 0x44
lea ecx, [ebp - 0x1068]
call fcn.00425c1b
lea ecx, [ebp - 0x1074]
call fcn.00425c1b
lea ecx, [ebp - 0x1080]
call fcn.00425c1b
xor ebx, ebx
mov edi, 0x49ab64
jmp 0x41b3eb
lea eax, [ebp - 0xb64]
push eax
lea ecx, [ebp - 0xc94]
call fcn.0040253a
lea ecx, [ebp - 0xc94]
call fcn.0040259f
test al, al
je 0x41b3e0
mov esi, 0x49ab60
lea ecx, [ebp - 0x67c]
call fcn.004282a8
mov eax, dword [ebp - 0xc80]
mov ecx, esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
push ebx
mov eax, 0x49f61c
push eax
push ecx
push eax
lea eax, [ebp - 0x67c]
push eax
call fcn.0042f0bf
add esp, 0x14
mov eax, esi
cmp dword [ebp - 0x67c], 0
cmovne eax, dword [ebp - 0x67c]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.00409e4f
test al, al
jne 0x41b3c2
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0xc94]
call fcn.00408967
push 0x5e
lea ecx, [ebp - 0x300]
call fcn.004265ac
push 0x20
lea ecx, [ebp - 0x300]
call fcn.004265ac
push 0xffffffffffffffa9
lea ecx, [ebp - 0x300]
call fcn.004265ac
push 0x7c
lea ecx, [ebp - 0x300]
call fcn.0040f6ec
test al, al
jne 0x41b2c6
mov eax, esi
cmp dword [ebp - 0x300], 0
cmovne eax, dword [ebp - 0x300]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x16b0]
call fcn.0045c835
inc eax
mov ecx, esi
cmp dword [ebp - 0x300], 0
cmovne ecx, dword [ebp - 0x300]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x16b0]
call fcn.0045dc05
jmp 0x41b336
lea ecx, [ebp - 0x670]
call fcn.004282a8
push ebx
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.004457ea
add esp, 0xc
mov eax, edi
cmp dword [ebp - 0x670], 0
cmovne eax, dword [ebp - 0x670]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x16b0]
call fcn.0045c879
inc eax
mov ecx, edi
cmp dword [ebp - 0x670], 0
cmovne ecx, dword [ebp - 0x670]
push ebx
push eax
push ecx
lea ecx, [ebp - 0x16b0]
call fcn.0045e1bf
mov byte [ebp + 0xb], al
lea ecx, [ebp - 0x670]
call fcn.00425c1b
mov al, byte [ebp + 0xb]
test al, al
jne 0x41b38f
mov esi, dword [0x4ce39c]
lea eax, [ebp - 0x108c]
push eax
call fcn.004577c2
mov edx, 0x49ab60
mov ecx, edx
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edx
cmp dword [ebp - 0x300], 0
cmovne eax, dword [ebp - 0x300]
push ebx
push esi
push ecx
push 0x49f804
push eax
push str.Failed_to_increment_reference_count_of_shared_file__
call fcn.0040e9b9
add esp, 0x1c
lea ecx, [ebp - 0x108c]
call fcn.00425c1b
mov esi, 0x49ab60
cmp dword [ebp - 0x5b8], 0
jle 0x41b3a5
push 0x3b
lea ecx, [ebp - 0x5bc]
call fcn.00408987
lea eax, [ebp - 0x67c]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.00423848
lea ecx, [ebp - 0x300]
call fcn.00425c1b
lea ecx, [ebp - 0x67c]
call fcn.00425c1b
lea ecx, [ebp - 0xc94]
call fcn.0040259f
test al, al
jne 0x41b1e8
lea ecx, [ebp - 0x16b0]
call fcn.0045bb7d
lea ecx, [ebp - 0x16b0]
call fcn.00408577
push 4
pop esi
push 0x5d
call fcn.0040fb63
pop ecx
cmp dword [ebp - 0xb44], 0
jne 0x41b417
cmp dword [ebp - 0xb34], 0
je 0x41b829
lea eax, [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1654]
call fcn.0040253a
lea ecx, [ebp - 0x1654]
call fcn.0040259f
test al, al
je 0x41b656
mov eax, dword [ebp - 0x1640]
mov esi, 0x49ab60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x510]
call fcn.004282a8
push esi
lea ecx, [ebp - 0xbc8]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0xbc8]
push eax
call fcn.004457ea
add esp, 0xc
lea ecx, [ebp - 0xbc8]
call fcn.00425c1b
mov eax, edi
cmp dword [ebp - 0x510], 0
cmovne eax, dword [ebp - 0x510]
push eax
push str.Registering_COM_File___s_...
call fcn.0040e981
push 0x4d
lea eax, [ebp - 0x868]
push eax
call fcn.00408bf7
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x510]
push eax
push str._file_
lea ecx, [ebp - 0x868]
call fcn.0042e58e
mov eax, edi
cmp dword [ebp - 0x868], 0
cmovne eax, dword [ebp - 0x868]
push eax
call fcn.0041233d
pop ecx
mov dword [ebp - 4], 2
wait
lea eax, [ebp - 0x10a4]
push eax
call fcn.0046630a
pop ecx
mov esi, dword [eax]
test esi, esi
jne 0x41b505
mov esi, edi
mov eax, dword [ebp - 0x510]
test eax, eax
jne 0x41b511
mov eax, edi
push ebx
push 0x49e0d8
push eax
push str.regsvr32.exe__s__
lea eax, [ebp - 0x1098]
push eax
call fcn.0042faa0
add esp, 0x14
mov eax, dword [eax]
test eax, eax
jne 0x41b534
mov eax, edi
push ebx
push esi
push 0x11
push eax
call fcn.00456843
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x7e8], esi
lea ecx, [ebp - 0x1098]
call fcn.00425c1b
lea ecx, [ebp - 0x10a4]
call fcn.00425c1b
test esi, esi
je 0x41b5b3
mov eax, dword [ebp - 0x510]
test eax, eax
jne 0x41b56f
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp + 8], eax
cmp eax, 0x20
jb 0x41b5a1
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41b598
call eax
mov esi, ebx
mov dword [ebp - 0x7e8], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x41b5b3
push esi
push str.FAILED__code__d_r_n
call fcn.0040e949
pop ecx
jmp 0x41b5bd
push 0x49dbe4
call fcn.0040ea15
pop ecx
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41b638
push 4
pop esi
lea ecx, [ebp - 0x868]
call fcn.00425c1b
lea ecx, [ebp - 0x510]
call fcn.00425c1b
jmp 0x41b429
lea eax, [ebp - 0xb38]
push eax
lea ecx, [ebp - 0x166c]
call fcn.0040253a
lea ecx, [ebp - 0x166c]
call fcn.0040259f
test al, al
je 0x41b818
mov eax, dword [ebp - 0x1658]
mov esi, 0x49ab60
cmp dword [eax], 0
cmovne esi, dword [eax]
lea ecx, [ebp - 0x5c8]
call fcn.004282a8
push esi
lea ecx, [ebp - 0xbd4]
call fcn.00401a8c
push ebx
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp - 0xbd4]
push eax
call fcn.004457ea
add esp, 0xc
lea ecx, [ebp - 0xbd4]
call fcn.00425c1b
mov eax, edi
cmp dword [ebp - 0x5c8], 0
cmovne eax, dword [ebp - 0x5c8]
push eax
push str.Registering_Type_Library___s_...
call fcn.0040e981
push 0x4d
lea eax, [ebp - 0x874]
push eax
call fcn.00408bf7
add esp, 0x10
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x5c8]
push eax
push str._file_
lea ecx, [ebp - 0x874]
call fcn.0042e58e
mov eax, edi
cmp dword [ebp - 0x874], 0
cmovne eax, dword [ebp - 0x874]
push eax
call fcn.0041233d
pop ecx
mov dword [ebp - 4], 4
wait
push esi
call fcn.0045b67f
pop ecx
test al, al
je 0x41b747
push 0x49dbe4
call fcn.0040ea15
pop ecx
jmp 0x41b780
mov esi, dword [0x4ce39c]
lea eax, [ebp - 0x10bc]
push eax
call fcn.004577c2
pop ecx
mov eax, dword [eax]
test eax, eax
jne 0x41b765
mov eax, 0x49ab60
push ebx
push esi
push eax
push str.FAILED_r_n
call fcn.0040e9b9
add esp, 0x10
lea ecx, [ebp - 0x10bc]
call fcn.00425c1b
wait
or dword [ebp - 4], 0xffffffff
jmp 0x41b7fa
push 4
pop esi
lea ecx, [ebp - 0x874]
call fcn.00425c1b
lea ecx, [ebp - 0x5c8]
call fcn.00425c1b
jmp 0x41b668
call fcn.0046336e
push dword [0x4d9948]
call fcn.004625ed
pop ecx
cmp dword [ebp - 0xb24], 0
je 0x41b8aa
mov dword [ebp - 0x598], ebx
mov dword [ebp - fcn.004337b5], 0x49ae28
mov dword [ebp - 0x690], ebx
mov dword [ebp - 0x68c], ebx
push 1
push str.Setupapi.dll
lea ecx, [ebp - 0x694]
call fcn.004339fe
test al, al
jne 0x41b86b
push str.Cannot_install_INF_files...unable_to_open_Setupapi.dll_r_n
jmp 0x41b88f
lea eax, [ebp - 0x598]
push eax
push str.SetupCopyOEMInfW
lea ecx, [ebp - 0x694]
call fcn.00433992
test al, al
jne 0x41ba17
push str.Cannot_install_INF_files...unable_to_link_to_SetupCopyOEMInf___r_n
call fcn.0040ea15
pop ecx
mov dword [ebp - fcn.004337b5], 0x49ae28
lea ecx, [ebp - 0x694]
call fcn.00433786
movzx eax, word [ebp - 0x5c]
push eax
call fcn.0040f1cc
push 0x1a
call fcn.00409c32
push 0x5f
call fcn.0040fb63
add esp, 0xc
lea ecx, [ebp - 0x488]
call fcn.004282a8
lea ecx, [ebp - 0xec]
call fcn.004282a8
lea ecx, [ebp - 0x494]
call fcn.004282a8
lea ecx, [ebp - 0x244]
call fcn.004282a8
mov eax, dword [0x4d9958]
and eax, esi
or eax, ebx
je 0x41beeb
mov edx, edi
cmp dword [ebp - 0x3bc], 0
cmovne edx, dword [ebp - 0x3bc]
mov ecx, edi
mov eax, dword [0x4dad28]
test eax, eax
cmovne ecx, eax
push edx
push ecx
lea eax, [ebp - 0x10e0]
push eax
call fcn.004444c6
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
call fcn.0040887d
lea ecx, [ebp - 0x10e0]
call fcn.00425c1b
push 0xffffffffffffffff
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.00444adb
mov eax, edi
cmp dword [ebp - 0xbc], 0
cmovne eax, dword [ebp - 0xbc]
push ebx
push 0x49e0d8
push eax
push str._u:_
lea eax, [ebp - 0x494]
push eax
call fcn.0042f13c
add esp, 0x20
cmp dword [ebp - 0x60c], 0
jle 0x41bd0a
mov ecx, edi
mov eax, dword [0x4dad28]
test eax, eax
cmovne ecx, eax
push str.uninstall.ico
push ecx
lea eax, [ebp - 0x10ec]
push eax
call fcn.004444c6
add esp, 0xc
push eax
lea ecx, [ebp - 0x244]
call fcn.00424f5b
lea ecx, [ebp - 0x10ec]
call fcn.00425c1b
mov eax, edi
cmp dword [ebp - 0x244], 0
cmovne eax, dword [ebp - 0x244]
lea ecx, [ebp - 0x610]
push ecx
push eax
call fcn.00443175
mov esi, eax
push esi
call fcn.00437dac
add esp, 0xc
test al, al
jne 0x41bc95
mov eax, edi
cmp dword [ebp - 0x244], 0
cmovne eax, dword [ebp - 0x244]
push ebx
push eax
call fcn.004090de
pop ecx
pop ecx
jmp 0x41bd0a
push dword [0x4ce39c]
call fcn.0040ea15
pop ecx
lea eax, [ebp - 0xb28]
push eax
lea ecx, [ebp - 0x160c]
call fcn.0040253a
lea ecx, [ebp - 0x160c]
call fcn.0040259f
test al, al
je 0x41b895
lea ecx, [ebp - 0x688]
call fcn.004282a8
push ebx
lea eax, [ebp - 0x688]
push eax
push dword [ebp - 0x15f8]
call fcn.004457ea
push 0x4d
lea eax, [ebp - 0x88c]
push eax
call fcn.00408bf7
add esp, 0x14
push ebx
push closesocket
push ebx
push ebx
lea eax, [ebp - 0x688]
push eax
push str._file_
lea ecx, [ebp - 0x88c]
call fcn.0042e58e
mov eax, edi
cmp dword [ebp - 0x88c], 0
cmovne eax, dword [ebp - 0x88c]
push eax
call fcn.0041233d
mov eax, edi
cmp dword [ebp - 0x688], 0
cmovne eax, dword [ebp - 0x688]
push ebx
push 0x49db98
push eax
push str.Installing_driver__
call fcn.0040e9e7
add esp, 0x14
xor eax, eax
mov word [ebp - 0x1b64], ax
mov dword [ebp - 4], 6
wait
call fcn.00457a0a
mov eax, dword [ebp - 0x688]
test eax, eax
jne 0x41baf2
mov eax, edi
push ebx
push ebx
push 0x104
lea ecx, [ebp - 0x1b64]
push ecx
push ebx
push 1
push ebx
push eax
call dword [ebp - 0x598]
test eax, eax
jne 0x41bbb6
call sub.KERNEL32.dll_GetLastError
mov esi, eax
push esi
lea eax, [ebp - 0x880]
push eax
call fcn.00457784
pop ecx
pop ecx
cmp dword [ebp - 0x87c], 0
jg 0x41bb4a
lea eax, [ebp - 0x1b64]
push eax
call fcn.004319c9
pop ecx
test al, al
je 0x41bbd4
lea ecx, [ebp - 0xbec]
call fcn.004282a8
push 0xffffffffffffffff
lea eax, [ebp - 0xbec]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00444adb
push esi
lea eax, [ebp - 0x10f8]
push eax
call fcn.00443ec7
mov ecx, edi
cmp dword [eax], 0
cmovne ecx, dword [eax]
mov eax, edi
cmp dword [ebp - 0x244], 0
cmovne eax, dword [ebp - 0x244]
push ecx
push eax
push str.Failed_to_install_uninstaller_icon_to__s_r_n_s_r_n
call fcn.0040e981
add esp, 0x20
lea ecx, [ebp - 0x10f8]
call fcn.00425c1b
lea ecx, [ebp - 0x244]
call fcn.00425c1b
lea ecx, [ebp - 0xbec]
call fcn.00425c1b
mov eax, dword [0x4d9958]
and eax, 2
or eax, ebx
je 0x41bd7d
push ebx
mov ecx, 0x4d99c0
call fcn.004092cf
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.004230bc
lea eax, [ebp - 0x494]
push eax
lea ecx, [edi + 0x2c]
call fcn.004230bc
push 0x21
lea eax, [ebp - 0x1104]
push eax
call fcn.00408bf7
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00424f5b
lea ecx, [ebp - 0x1104]
call fcn.00425c1b
lea eax, [ebp - 0x244]
push eax
lea ecx, [edi + 0x20]
call fcn.004230bc
mov ecx, dword [0x4d995c]
and ecx, 2
mov eax, ebx
or eax, ecx
je 0x41bdf2
push ebx
mov ecx, 0x4d99c0
call fcn.004092cf
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.004230bc
lea eax, [ebp - 0x494]
push eax
lea ecx, [edi + 0x2c]
call fcn.004230bc
push 0x21
lea eax, [ebp - 0x1110]
push eax
call fcn.00408bf7
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00424f5b
lea ecx, [ebp - 0x1110]
call fcn.00425c1b
lea eax, [ebp - 0x244]
push eax
lea ecx, [edi + 0x20]
call fcn.004230bc
mov ecx, dword [0x4d995c]
and ecx, 0x40
mov eax, ebx
or eax, ecx
je 0x41be70
push ebx
mov ecx, 0x4d99c0
call fcn.004092cf
mov edi, eax
mov byte [edi + 5], 1
lea eax, [ebp - 0xec]
push eax
lea ecx, [edi + 8]
call fcn.004230bc
lea eax, [ebp - 0x494]
push eax
lea ecx, [edi + 0x2c]
call fcn.004230bc
push 0x21
lea eax, [ebp - 0x111c]
push eax
call fcn.00408bf7
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00424f5b
lea ecx, [ebp - 0x111c]
call fcn.00425c1b
push 0x4dab9c
lea ecx, [edi + 0x44]
call fcn.004230bc
lea eax, [ebp - 0x244]
push eax
lea ecx, [edi + 0x20]
call fcn.004230bc
test dword [0x4d9960], 0x200000
je 0x41beeb
mov ecx, dword [0x4d995c]
and ecx, 0x8000000
mov eax, ebx
or eax, ecx
je 0x41bf53
push ebx
mov ecx, 0x4d99c0
call fcn.004092cf
mov edi, eax
mov byte [edi + 1], 1
lea eax, [ebp - 0x1134]
push eax
call fcn.0040c234
pop ecx
push eax
lea ecx, [edi + 8]
call fcn.00424f5b
lea ecx, [ebp - 0x1134]
call fcn.00425c1b
push 0x56
lea eax, [ebp - 0x1140]
push eax
call fcn.00408bf7
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x14]
call fcn.00424f5b
lea ecx, [ebp - 0x1140]
call fcn.00425c1b
test dword [0x4d9960], 0x800
je 0x41bf6c
cmp byte [0x4d9977], 0
jne 0x41ce5a
cmp dword [0x4d99c4], 0
je 0x41ce5a
mov byte [ebp + 0xb], 1
push 0x4d99c0
lea ecx, [ebp - 0x104]
call fcn.0040253a
jmp 0x41ce47
lea ecx, [ebp - 0x104]
call fcn.0040259f
test al, al
jne 0x41bf92
cmp dword [ebp - 0x28c], 0
jle 0x41cfdb
cmp byte [0x4d9977], 0
je 0x41cfdb
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x24c], 0
jle 0x41d344
lea ecx, [ebp - 0x3d4]
call fcn.00425c1b
lea ecx, [ebp - 0x25c]
call fcn.00425c1b
lea ecx, [ebp - 0xb0]
call fcn.00425c1b
lea ecx, [ebp - 0x268]
call fcn.00425c1b
lea ecx, [ebp - 0x24]
call fcn.00425c1b
lea ecx, [ebp - 0xd74]
call fcn.00401af4
lea ecx, [ebp - 0x188]
call fcn.00425c1b
lea ecx, [ebp - 0x2a8]
call fcn.00425c1b
lea ecx, [ebp - 0x2b4]
call fcn.00425c1b
lea ecx, [ebp - 0x2c0]
call fcn.00425c1b
lea ecx, [ebp - 0xbc]
call fcn.00425c1b
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.0042c00c
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042c00c
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0xc9]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
movzx eax, byte [ebp - 0xc9]
mov dword [esi + 0x24], eax
push ebx
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x3e8
push 0
pop ebx
jle 0x416f4d
push ebx
push 0x29
call fcn.0040a027
pop ecx
pop ecx
jmp 0x416f4d
cmp dword [0x4ce2d0], 0x3e8
jle 0x42085a
push ebx
push 0x26
call fcn.0040a027
pop ecx
pop ecx
push ebx
mov ecx, 0x4ce2cc
call fcn.004065d3
mov esi, eax
lea eax, [ebp - 0x7c8]
push eax
mov ecx, esi
call fcn.004230bc
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.0042c00c
push 1
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call dword [eax]
lea ecx, [ebp - 0x7c8]
call fcn.00425c1b
jmp 0x416bfd