Function at 0x4355a0
Capabilities:
Access peb ldr_data
Inspect section memory permissions
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d4e63
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x200
mov eax, dword [0x510008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x144], 0
mov dword [ebp - 4], 0
lea eax, [ecx + 0x30]
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.updater_type
call fcn.00409af0
mov byte [ebp - 4], 0
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x13c], 1
call fcn.00409e70
mov byte [ebp - 4], 2
lea eax, [ebp - 0x208]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43566b
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435673
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x208]
call fcn.00403cf0
mov edi, 1
mov dword [ebp - 0x13c], edi
and edi, 0xfffffffe
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x1bc]
mov eax, dword [ebp - 0x1d8]
add eax, 0x48
mov dword [ebp - 0x1c0], str.updater_auto
push eax
call fcn.00409af0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1c0]
or edi, 2
lea ecx, [ebp - 0x174]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 8
lea eax, [ebp - 0x174]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43571d
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435725
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x174]
call fcn.00403cf0
and edi, 0xfffffffd
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov eax, dword [ebp - 0x1d8]
cmp dword [eax + 0x70], 0
je 0x435815
mov dword [ebp - 4], 0xc
add eax, 0x60
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.client_ver
call fcn.00409af0
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x160]
or edi, 4
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4357ce
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4357d6
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xfffffffb
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x1d8]
cmp dword [eax + 0x88], 0
je 0x4358c3
mov dword [ebp - 4], 0x12
add eax, 0x78
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.main_exe_ver
call fcn.00409af0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x160]
or edi, 8
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435882
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43588a
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xfffffff7
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x10], 0
je 0x435977
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x160], str.main_ver
call fcn.00409af0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x160]
or edi, 0x10
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435930
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435938
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xffffffef
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x28], 0
je 0x435a28
mov dword [ebp - 4], 0x1e
add eax, 0x18
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.build_ver
call fcn.00409af0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x160]
or edi, 0x20
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4359e1
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4359e9
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xffffffdf
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x40], 0
je 0x435ad9
mov dword [ebp - 4], 0x24
add eax, 0x30
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.action_type
call fcn.00409af0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x160]
or edi, 0x40
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435a92
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435a9a
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xffffffbf
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x58], 0
je 0x435b90
mov dword [ebp - 4], 0x2a
add eax, 0x48
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.special_ver
call fcn.00409af0
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x160]
or edi, 0x80
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435b46
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435b4e
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xffffff7f
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x70], 0
je 0x435c47
mov dword [ebp - 4], 0x30
add eax, 0x60
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.special_id
call fcn.00409af0
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x160]
or edi, 0x100
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435bfd
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435c05
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xfffffeff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x88], 0
je 0x435d01
mov dword [ebp - 4], 0x36
add eax, 0x78
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.os_ver
call fcn.00409af0
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x160]
or edi, 0x200
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435cb7
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435cbf
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xfffffdff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0xa0], 0
je 0x435db7
mov dword [ebp - 4], 0x3c
add eax, 0x90
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.sp_ver
call fcn.00409af0
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x160]
or edi, 0x400
lea ecx, [ebp - 0x1d4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435d73
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435d7b
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x1d4]
call fcn.00403cf0
and edi, 0xfffffbff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
push 0x118
lea eax, [ebp - 0x134]
mov dword [ebp - 0x138], 0x11c
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x138]
call fcn.00490080
test al, al
je 0x4366a2
mov eax, dword [ebp - 0x134]
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x800
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x43
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1c0], str.os_major_version
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x1ac], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x1c0]
or edi, 0x1000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435ea3
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435eab
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffefff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
and edi, 0xfffff7ff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 4], 0x49
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x2000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x4a
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x160], str.os_minor_version
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x14c], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x160]
or edi, 0x4000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x435fbb
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x435fc3
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffbfff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
and edi, 0xffffdfff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 4], 0x50
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x8000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x51
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1c0], str.os_build_number
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x1ac], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x51
lea eax, [ebp - 0x1c0]
or edi, 0x10000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4360d3
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4360db
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfffeffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
and edi, 0xffff7fff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 4], 0x57
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x20000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x58
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x160], str.os_platform_id
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x14c], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x58
lea eax, [ebp - 0x160]
or edi, 0x40000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4361eb
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4361f3
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfffbffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
and edi, 0xfffdffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
movzx eax, word [ebp - 0x24]
mov dword [ebp - 4], 0x5e
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x80000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x5f
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1c0], str.os_service_pack_major
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x1ac], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x1c0]
or edi, 0x100000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x61
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436301
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436309
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffefffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
and edi, 0xfff7ffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
movzx eax, word [ebp - 0x22]
mov dword [ebp - 4], 0x65
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x200000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x66
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x160], str.os_service_pack_minor
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x14c], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x160]
or edi, 0x400000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436417
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43641f
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffbfffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
and edi, 0xffdfffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
movzx eax, word [ebp - 0x20]
mov dword [ebp - 4], 0x6c
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x800000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x6d
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1c0], str.os_suite_mask
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x1ac], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x6d
lea eax, [ebp - 0x1c0]
or edi, 0x1000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43652d
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436535
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfeffffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x1bc]
call fcn.00403cf0
and edi, 0xff7fffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
movzx eax, byte [ebp - 0x1e]
mov dword [ebp - 4], 0x73
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.00483880
or edi, 0x2000000
add esp, 8
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x74
xor ecx, ecx
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x160], str.os_product_type
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x14c], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x74
lea eax, [ebp - 0x160]
or edi, 0x4000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x76
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436643
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43664b
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfbffffff
mov dword [ebp - 0x13c], edi
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
and edi, 0xfdffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0xb8], 0
je 0x436764
mov dword [ebp - 4], 0x7a
add eax, 0xa8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.os_bits
call fcn.00409af0
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0x160]
or edi, 0x8000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x7c
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43671a
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436722
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xf7ffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0xd0], 0
je 0x436820
mov dword [ebp - 4], 0x80
add eax, 0xc0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.local_acp
call fcn.00409af0
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x160]
or edi, 0x10000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x82
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4367d6
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4367de
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x80
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xefffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0xe8], 0
je 0x4368dc
mov dword [ebp - 4], 0x86
add eax, 0xd8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.install_days
call fcn.00409af0
mov byte [ebp - 4], 0x86
lea eax, [ebp - 0x160]
or edi, 0x20000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x88
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436892
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43689a
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xdfffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x100], 0
je 0x436998
mov dword [ebp - 4], 0x8c
add eax, 0xf0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.active_days
call fcn.00409af0
mov byte [ebp - 4], 0x8c
lea eax, [ebp - 0x160]
or edi, 0x40000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x8e
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43694e
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436956
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xbfffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x130], 0
je 0x436a4b
mov dword [ebp - 4], 0x92
add eax, 0x120
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.last_file_flag
call fcn.00409af0
mov byte [ebp - 4], 0x92
lea eax, [ebp - 0x160]
or edi, 0x80000000
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x13c], edi
call fcn.00409e70
mov byte [ebp - 4], 0x94
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436a0a
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436a12
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x95
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0x7fffffff
mov dword [ebp - 0x13c], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
jmp 0x436abc
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], str.last_file_flag
push eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x20c], 0x4e7004
call fcn.00409da0
mov dword [ebp - 4], 0x98
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436a95
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436a9d
push edx
mov ecx, esi
call fcn.0040a010
mov dword [ebp - 4], 0x99
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x118], 0
je 0x436b8b
mov dword [ebp - 4], 0x9b
add eax, 0x108
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.mem_size
call fcn.00409af0
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x144], 1
call fcn.00409e70
mov byte [ebp - 4], 0x9d
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436b37
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436b3f
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
mov edi, 1
mov dword [ebp - 0x144], edi
and edi, 0xfffffffe
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
jmp 0x436b91
mov edi, dword [ebp - 0x144]
cmp dword [eax + 0x148], 0
je 0x436c47
mov dword [ebp - 4], 0xa1
add eax, 0x138
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.uuid
call fcn.00409af0
mov byte [ebp - 4], 0xa1
lea eax, [ebp - 0x160]
or edi, 2
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xa3
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436c00
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436c08
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xa4
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfffffffd
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x160], 0
je 0x436cfd
mov dword [ebp - 4], 0xa7
add eax, 0x150
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], 0x4eea24
call fcn.00409af0
mov byte [ebp - 4], 0xa7
lea eax, [ebp - 0x160]
or edi, 4
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xa9
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436cb6
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436cbe
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfffffffb
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x178], 0
je 0x436db3
mov dword [ebp - 4], 0xad
add eax, 0x168
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.competitors
call fcn.00409af0
mov byte [ebp - 4], 0xad
lea eax, [ebp - 0x160]
or edi, 8
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xaf
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436d6c
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436d74
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xad
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xfffffff7
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x190], 0
je 0x436e69
mov dword [ebp - 4], 0xb3
add eax, 0x180
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.has_uac
call fcn.00409af0
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x160]
or edi, 0x10
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xb5
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436e22
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436e2a
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xb3
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffffef
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x220], 0
je 0x436f1f
mov dword [ebp - 4], 0xb9
add eax, 0x210
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.is_admin
call fcn.00409af0
mov byte [ebp - 4], 0xb9
lea eax, [ebp - 0x160]
or edi, 0x20
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xbb
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436ed8
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436ee0
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xbc
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xb9
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffffdf
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x1f0], 0
je 0x436fd5
mov dword [ebp - 4], 0xbf
add eax, 0x1e0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.net_bar
call fcn.00409af0
mov byte [ebp - 4], 0xbf
lea eax, [ebp - 0x160]
or edi, 0x40
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xc1
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x436f8e
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x436f96
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xbf
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffffbf
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x208], 0
je 0x43708b
mov dword [ebp - 4], 0xc5
add eax, 0x1f8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.domain
call fcn.00409af0
mov byte [ebp - 4], 0xc5
lea eax, [ebp - 0x160]
or edi, 0x80
lea ecx, [ebp - 0x1a4]
push eax
mov dword [ebp - 0x144], edi
call fcn.00409e70
mov byte [ebp - 4], 0xc7
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x437047
call fcn.00409f70
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43704f
push edx
mov ecx, esi
call fcn.0040a010
mov byte [ebp - 4], 0xc8
lea ecx, [ebp - 0x18c]
call fcn.00403cf0
mov byte [ebp - 4], 0xc5
lea ecx, [ebp - 0x1a4]
call fcn.00403cf0
and edi, 0xffffff7f
mov dword [ebp - 0x144], edi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403cf0
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 0x90]
cmp eax, dword [ecx + 0x94]
je 0x4370b6
push dword [ebp - 0x1d8]
push dword [ecx + 0x94]
mov ecx, esi
push eax
push dword [esi + 4]
call fcn.00437850
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004c9d53
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc