Function at 0x431850
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 0x4d3703
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x200
mov eax, dword [0x50e008]
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.00409b00
mov byte [ebp - 4], 0
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x13c], 1
call fcn.00409e80
mov byte [ebp - 4], 2
lea eax, [ebp - 0x208]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43191b
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431923
push edx
mov ecx, esi
call fcn.0040a020
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.00409b00
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.00409e80
mov byte [ebp - 4], 8
lea eax, [ebp - 0x174]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4319cd
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4319d5
push edx
mov ecx, esi
call fcn.0040a020
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 0x431ac5
mov dword [ebp - 4], 0xc
add eax, 0x60
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.client_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431a7e
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431a86
push edx
mov ecx, esi
call fcn.0040a020
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 0x431b73
mov dword [ebp - 4], 0x12
add eax, 0x78
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.main_exe_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431b32
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431b3a
push edx
mov ecx, esi
call fcn.0040a020
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 0x431c27
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x160], str.main_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431be0
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431be8
push edx
mov ecx, esi
call fcn.0040a020
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 0x431cd8
mov dword [ebp - 4], 0x1e
add eax, 0x18
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.build_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431c91
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431c99
push edx
mov ecx, esi
call fcn.0040a020
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 0x431d89
mov dword [ebp - 4], 0x24
add eax, 0x30
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.action_type
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431d42
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431d4a
push edx
mov ecx, esi
call fcn.0040a020
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 0x431e40
mov dword [ebp - 4], 0x2a
add eax, 0x48
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.special_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431df6
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431dfe
push edx
mov ecx, esi
call fcn.0040a020
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 0x431ef7
mov dword [ebp - 4], 0x30
add eax, 0x60
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.special_id
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431ead
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431eb5
push edx
mov ecx, esi
call fcn.0040a020
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 0x431fb1
mov dword [ebp - 4], 0x36
add eax, 0x78
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.os_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x431f67
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x431f6f
push edx
mov ecx, esi
call fcn.0040a020
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 0x432067
mov dword [ebp - 4], 0x3c
add eax, 0x90
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.sp_ver
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x1d4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432023
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43202b
push edx
mov ecx, esi
call fcn.0040a020
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.0048ab70
test al, al
je 0x432952
mov eax, dword [ebp - 0x134]
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0x1f0]
push 0
push eax
call fcn.0047e340
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.00409e80
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432153
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43215b
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43226b
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432273
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432383
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x43238b
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43249b
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4324a3
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x61
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4325b1
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4325b9
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4326c7
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4326cf
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4327dd
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4327e5
push edx
mov ecx, esi
call fcn.0040a020
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.0047e340
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.00409e80
mov byte [ebp - 4], 0x76
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4328f3
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4328fb
push edx
mov ecx, esi
call fcn.0040a020
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 0x432a14
mov dword [ebp - 4], 0x7a
add eax, 0xa8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.os_bits
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x7c
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4329ca
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4329d2
push edx
mov ecx, esi
call fcn.0040a020
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 0x432ad0
mov dword [ebp - 4], 0x80
add eax, 0xc0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.local_acp
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x82
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432a86
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432a8e
push edx
mov ecx, esi
call fcn.0040a020
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 0x432b8c
mov dword [ebp - 4], 0x86
add eax, 0xd8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.install_days
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x88
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432b42
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432b4a
push edx
mov ecx, esi
call fcn.0040a020
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 0x432c48
mov dword [ebp - 4], 0x8c
add eax, 0xf0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.active_days
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x8e
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432bfe
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432c06
push edx
mov ecx, esi
call fcn.0040a020
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 0x432cfb
mov dword [ebp - 4], 0x92
add eax, 0x120
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.last_file_flag
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0x94
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432cba
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432cc2
push edx
mov ecx, esi
call fcn.0040a020
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 0x432d6c
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], str.last_file_flag
push eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x20c], 0x4e60f4
call fcn.00409db0
mov dword [ebp - 4], 0x98
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432d45
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432d4d
push edx
mov ecx, esi
call fcn.0040a020
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 0x432e3b
mov dword [ebp - 4], 0x9b
add eax, 0x108
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.mem_size
call fcn.00409b00
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x144], 1
call fcn.00409e80
mov byte [ebp - 4], 0x9d
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432de7
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432def
push edx
mov ecx, esi
call fcn.0040a020
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 0x432e41
mov edi, dword [ebp - 0x144]
cmp dword [eax + 0x148], 0
je 0x432ef7
mov dword [ebp - 4], 0xa1
add eax, 0x138
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.uuid
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xa3
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432eb0
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432eb8
push edx
mov ecx, esi
call fcn.0040a020
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 0x432fad
mov dword [ebp - 4], 0xa7
add eax, 0x150
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], 0x4ecce0
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xa9
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x432f66
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x432f6e
push edx
mov ecx, esi
call fcn.0040a020
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 0x433063
mov dword [ebp - 4], 0xad
add eax, 0x168
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.competitors
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xaf
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43301c
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x433024
push edx
mov ecx, esi
call fcn.0040a020
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 0x433119
mov dword [ebp - 4], 0xb3
add eax, 0x180
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.has_uac
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xb5
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4330d2
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4330da
push edx
mov ecx, esi
call fcn.0040a020
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 0x4331cf
mov dword [ebp - 4], 0xb9
add eax, 0x210
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.is_admin
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xbb
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x433188
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x433190
push edx
mov ecx, esi
call fcn.0040a020
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 0x433285
mov dword [ebp - 4], 0xbf
add eax, 0x1e0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.net_bar
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xc1
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x43323e
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x433246
push edx
mov ecx, esi
call fcn.0040a020
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 0x43333b
mov dword [ebp - 4], 0xc5
add eax, 0x1f8
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], str.domain
call fcn.00409b00
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.00409e80
mov byte [ebp - 4], 0xc7
lea eax, [ebp - 0x1a4]
mov edx, dword [esi + 4]
push eax
cmp dword [esi + 8], edx
je 0x4332f7
call fcn.00409f80
add esp, 4
add dword [esi + 4], 0x30
jmp 0x4332ff
push edx
mov ecx, esi
call fcn.0040a020
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 0x433366
push dword [ebp - 0x1d8]
push dword [ecx + 0x94]
mov ecx, esi
push eax
push dword [esi + 4]
call fcn.00433ce0
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.004c4853
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc