Function at 0x44f250
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Inspect section memory permissions

Disassembly:
push ebp
lea ebp, [esp - 0x120]
sub esp, 0x120
push 0xffffffffffffffff
push 0x566a08
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x5a800c]
xor eax, ebp
mov dword [ebp + 0x11c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x128]
xor edi, edi
mov eax, dword [ebp + 0x12c]
mov ebx, dword [ebp + 0x130]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], edi
add ecx, 0x30
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.updater_type
call fcn.00402430
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], 1
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 4
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00402400
mov esi, 1
mov dword [ebp - 0x10], esi
and esi, 0xfffffffe
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x98]
add ecx, 0x48
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.updater_auto
call fcn.00402430
mov byte [ebp - 4], 8
or esi, 2
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffffd
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x98]
add ecx, 0x60
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f47b
mov dword [ebp - 4], 0x10
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], 0x581c14
call fcn.00402430
mov byte [ebp - 4], 0x10
or esi, 4
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffffb
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x98]
add ecx, 0x78
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f51e
mov dword [ebp - 4], 0x18
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.main_exe_ver
call fcn.00402430
mov byte [ebp - 4], 0x18
or esi, 8
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffff7
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f5be
mov dword [ebp - 4], 0x20
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.main_ver
call fcn.00402430
mov byte [ebp - 4], 0x20
or esi, 0x10
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xffffffef
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x18
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f65b
mov dword [ebp - 4], 0x28
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.build_ver
call fcn.00402430
mov byte [ebp - 4], 0x28
or esi, 0x20
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xffffffdf
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x30
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f6fb
mov dword [ebp - 4], 0x30
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.action_type
call fcn.00402430
mov byte [ebp - 4], 0x30
or esi, 0x40
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xffffffbf
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x48
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f7a1
mov dword [ebp - 4], 0x38
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.special_ver
call fcn.00402430
mov byte [ebp - 4], 0x38
or esi, 0x80
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xffffff7f
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x60
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f847
mov dword [ebp - 4], 0x40
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.special_id
call fcn.00402430
mov byte [ebp - 4], 0x40
or esi, 0x100
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffeff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x78
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f8ed
mov dword [ebp - 4], 0x48
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.os_ver
call fcn.00402430
mov byte [ebp - 4], 0x48
or esi, 0x200
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffdff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x90
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x44f996
mov dword [ebp - 4], 0x50
call fcn.00402520
push eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x64], str.sp_ver
call fcn.00402430
mov byte [ebp - 4], 0x50
or esi, 0x400
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x48]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x60]
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x30]
call fcn.00402400
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x48]
call fcn.00402400
and esi, 0xfffffbff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
push 0x118
lea eax, [ebp + 4]
mov dword [ebp], 0x11c
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp]
call fcn.00420fc0
test al, al
je 0x450078
mov eax, dword [ebp + 4]
mov dword [ebp - 4], 0x58
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x800
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x59
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_major_version
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x59
or esi, 0x1000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x5d
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xffffefff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xfffff7ff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 0x61
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x2000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x62
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_minor_version
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x62
or esi, 0x4000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xffffbfff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xffffdfff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], 0x6a
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x8000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x6b
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_build_number
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x6b
or esi, 0x10000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xfffeffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xffff7fff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], 0x73
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x20000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x74
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_platform_id
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x74
or esi, 0x40000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x78
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xfffbffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xfffdffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
movzx eax, word [ebp + 0x114]
mov dword [ebp - 4], 0x7c
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x80000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x7d
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_service_pack_major
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x7d
or esi, 0x100000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x81
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xffefffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xfff7ffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
movzx eax, word [ebp + 0x116]
mov dword [ebp - 4], 0x85
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
add esp, 8
or esi, 0x200000
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x86
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_service_pack_minor
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x86
or esi, 0x400000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x8a
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xffbfffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xffdfffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
movzx eax, word [ebp + 0x118]
mov dword [ebp - 4], 0x8e
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x800000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x8f
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_suite_mask
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x8f
or esi, 0x1000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x94]
call fcn.00404ba0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x93
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xfeffffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xff7fffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
movzx eax, byte [ebp + 0x11a]
mov dword [ebp - 4], 0x97
lea ecx, [ebp - 0x60]
push 0
push eax
call fcn.00418c00
or esi, 0x2000000
add esp, 8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x98
mov ecx, eax
call fcn.00402520
mov ecx, eax
mov dword [ebp - 0x34], str.os_product_type
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
call fcn.00405080
mov byte [ebp - 4], 0x98
or esi, 0x4000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0x9a
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0x9c
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0x9d
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0x98
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xfbffffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x97
lea ecx, [ebp - 0x30]
call fcn.00402400
and esi, 0xfdffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0xa8
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45012a
mov dword [ebp - 4], 0xa0
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.os_bits
call fcn.00402430
mov byte [ebp - 4], 0xa0
or esi, 0x8000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xa4
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xa0
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xf7ffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0xc0
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4501dc
mov dword [ebp - 4], 0xa8
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.local_acp
call fcn.00402430
mov byte [ebp - 4], 0xa8
or esi, 0x10000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xac
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xad
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xefffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0xd8
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45028e
mov dword [ebp - 4], 0xb0
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.install_days
call fcn.00402430
mov byte [ebp - 4], 0xb0
or esi, 0x20000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xb4
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xdfffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0xf0
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x450340
mov dword [ebp - 4], 0xb8
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.active_days
call fcn.00402430
mov byte [ebp - 4], 0xb8
or esi, 0x40000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xba
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xbc
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xbd
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xb8
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0xbfffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
mov ecx, dword [ebp - 0x18]
add ecx, 0x120
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4503ef
mov dword [ebp - 4], 0xc0
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.last_file_flag
call fcn.00402430
mov byte [ebp - 4], 0xc0
or esi, 0x80000000
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], esi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xc4
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xc5
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xc0
lea ecx, [ebp - 0x94]
call fcn.00402400
and esi, 0x7fffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
jmp 0x45046a
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], str.last_file_flag
mov dword [ebp - 0x9c], 0x573c38
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov dword [ebp - 4], 0xc8
lea ecx, [ebp - 0x9c]
call fcn.00402520
lea ecx, [ebp - 0x7c]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov dword [ebp - 4], 0xca
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov dword [ebp - 4], 0xcb
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00402400
mov esi, dword [ebp - 0x18]
lea ecx, [esi + 0x108]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x450524
mov dword [ebp - 4], 0xcd
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.mem_size
call fcn.00402430
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], 1
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xcf
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xd1
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xd2
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x94]
call fcn.00402400
mov edi, 1
mov dword [ebp - 0x14], edi
and edi, 0xfffffffe
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x138]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4505cd
mov dword [ebp - 4], 0xd5
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.uuid
call fcn.00402430
mov byte [ebp - 4], 0xd5
or edi, 2
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xd9
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xda
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xd5
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xfffffffd
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x150]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x450676
mov dword [ebp - 4], 0xdd
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], 0x581f80
call fcn.00402430
mov byte [ebp - 4], 0xdd
or edi, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xdf
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xe1
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xe2
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xfffffffb
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x168]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45071f
mov dword [ebp - 4], 0xe5
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.competitors
call fcn.00402430
mov byte [ebp - 4], 0xe5
or edi, 8
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xe7
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xe9
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xea
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xe5
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xfffffff7
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x180]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4507c8
mov dword [ebp - 4], 0xed
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.has_uac
call fcn.00402430
mov byte [ebp - 4], 0xed
or edi, 0x10
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xef
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xf1
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xf2
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xed
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xffffffef
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x210]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x450871
mov dword [ebp - 4], 0xf5
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.is_admin
call fcn.00402430
mov byte [ebp - 4], 0xf5
or edi, 0x20
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xf7
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 0xf9
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xfa
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 0xf5
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xffffffdf
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x1e0]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x450923
mov dword [ebp - 4], 0xfd
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.net_bar
call fcn.00402430
mov byte [ebp - 4], 0xfd
or edi, 0x40
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 0xff
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov dword [ebp - 4], 0x101
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov dword [ebp - 4], 0x102
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov dword [ebp - 4], 0xfd
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xffffffbf
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
lea ecx, [esi + 0x1f8]
call fcn.00402520
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4509d2
mov dword [ebp - 4], 0x105
call fcn.00402520
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.domain
call fcn.00402430
mov byte [ebp - 4], 5
or edi, 0x80
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], edi
call fcn.00402520
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push eax
call fcn.00404ba0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x30]
call fcn.00402520
push eax
lea ecx, [ebp - 0x7c]
call fcn.00405080
mov byte [ebp - 4], 9
lea eax, [ebp - 0x94]
push eax
mov ecx, ebx
call fcn.00415b10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x7c]
call fcn.00402400
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x94]
call fcn.00402400
and edi, 0xffffff7f
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00402400
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x90]
cmp ecx, dword [eax + 0x94]
je 0x4509fd
push dword [ebp - 0x98]
push dword [eax + 0x94]
push ecx
push dword [ebx + 4]
mov ecx, ebx
call fcn.00451150
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x11c]
xor ecx, ebp
call fcn.0055929f
lea esp, [ebp + 0x120]
pop ebp
ret 0xc