Function at 0x489310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d025a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x690
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x6c]
call fcn.00492750
lea eax, [esp + 0x12]
xor ebx, ebx
push eax
lea ecx, [esp + 0x17]
push ebx
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x6b4], ebx
call fcn.0048f820
mov dl, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x6ac], 1
mov byte [esp + 0x18], dl
call fcn.00403b70
mov edi, 0x4f4f94
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4f4f94
lea ecx, [esp + 0x1c]
call fcn.0040dc30
mov esi, dword [esp + 0x6b4]
mov edi, dword [esp + 0x6b8]
cmp esi, ebx
mov byte [esp + 0x6a8], 2
je 0x4893b1
cmp edi, ebx
jle 0x4893b1
mov byte [esi + edi - 1], bl
mov byte [esi], bl
mov ecx, dword [str.ROOTCIMV2]
mov edx, dword [0x4d4a6c]
mov ebp, dword [esp + 0x6b0]
push ebx
push ebx
lea eax, [esp + 0x38]
push ecx
push edx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], eax
call fcn.00492a70
test eax, eax
jge 0x489442
cmp esi, ebx
je 0x489401
cmp edi, ebx
jle 0x489401
lea eax, [esp + 0xbc]
dec edi
push eax
push 0x4df9a8
push edi
push esi
call fcn.00466ca7
add esp, 0x10
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x6ac], 1
call fcn.00403b70
lea ecx, [esp + 0x30]
mov byte [esp + 0x6a8], bl
call fcn.0048f620
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6a8], 0xffffffff
call fcn.00492840
mov eax, 0x80000000
jmp 0x48a0d1
mov ecx, dword [str.Win32_Processor]
push ebp
push 0x48a1f0
push ecx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x48947f
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xbc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.0040dc30
mov eax, dword [str.Win32_PhysicalMemory]
push ebp
push 0x48a9f0
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x4894d9
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov eax, dword [0x4fccf4]
lea edx, [esp + 0x24]
push eax
push edx
mov ecx, 0x4fccf0
mov dword [0x4fce04], ebx
call fcn.0040d770
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push eax
push ecx
mov ecx, 0x4fccf0
call fcn.0040d9e0
mov eax, dword [str.Win32_LogicalDisk]
lea edx, [esp + 0x40]
push edx
push 0x48af90
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jl 0x4895ba
mov edx, dword [str.Win32_LogicalDiskToPartition]
lea ecx, [esp + 0x40]
push ecx
push 0x48b7b0
push edx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jl 0x4895ba
mov ecx, dword [str.Win32_DiskDriveToDiskPartition]
lea eax, [esp + 0x40]
push eax
push 0x48baf0
push ecx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jl 0x4895ba
mov eax, dword [str.Win32_DiskDrive]
lea edx, [esp + 0x40]
push edx
push 0x48be30
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x4895fb
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0xc0]
push ecx
jmp 0x4895f2
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xbc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov eax, dword [str.Win32_CDROMDrive]
push ebp
push 0x48c9d0
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x489655
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov edx, dword [str.Win32_NetworkAdapter]
push ebp
push 0x48cdd0
push edx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x4896b0
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xbc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov ecx, dword [str.Win32_SoundDevice]
push ebp
push 0x48d4c0
push ecx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x48970b
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xbc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00424e80
call fcn.004753b0
test eax, 0x10000
push ebp
je 0x48976e
mov eax, dword [str.Win32_VideoController]
push 0x48e180
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x4897c8
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0xc0]
push ecx
jmp 0x4897bf
mov edx, dword [str.Win32_VideoConfiguration]
push 0x48d8d0
push edx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x4897c8
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xbc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov ecx, dword [str.Win32_KeyBoard]
push ebp
push 0x48ea30
push ecx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x489823
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4ef53c
lea ecx, [esp + 0x1c]
call fcn.00424e80
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xbc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00424e80
mov eax, dword [str.Win32_PointingDevice]
push ebp
push 0x48ed20
push eax
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x489925
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [0x4d174c]
sub ecx, edx
cmp ecx, esi
ja 0x489866
call fcn.00463c83
cmp esi, ebx
jbe 0x4898b1
mov edx, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x18]
lea ebp, [edx + esi]
push ebp
call fcn.00404fd0
test al, al
je 0x4898aa
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push ebp
lea edi, [ecx + eax]
mov ecx, esi
mov edx, ecx
mov esi, 0x4ef53c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00404fb0
mov ebp, dword [esp + 0x6b0]
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x4d174c]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x4898d8
call fcn.00463c83
cmp esi, ebx
jbe 0x489925
mov eax, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x18]
lea ebp, [eax + esi]
push ebp
call fcn.00404fd0
test al, al
je 0x48991e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ebp
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
lea esi, [esp + 0xc0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00404fb0
mov ebp, dword [esp + 0x6b0]
mov ecx, dword [str.Win32_OperatingSystem]
push ebp
push 0x48f010
push ecx
lea ecx, [esp + 0x78]
call fcn.00493460
test eax, eax
jge 0x489a1a
mov edi, 0x4ef53c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4d174c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, esi
ja 0x489969
call fcn.00463c83
cmp esi, ebx
jbe 0x4899ad
mov eax, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x18]
lea ebp, [eax + esi]
push ebp
call fcn.00404fd0
test al, al
je 0x4899ad
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ebp
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
mov esi, 0x4ef53c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00404fb0
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x4d174c]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x4899d4
call fcn.00463c83
cmp esi, ebx
jbe 0x489a1a
mov ecx, dword [esp + 0x1c]
push ebx
lea ebp, [ecx + esi]
lea ecx, [esp + 0x18]
push ebp
call fcn.00404fd0
test al, al
je 0x489a1a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, esi
lea esi, [esp + 0xbc]
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00404fb0
lea ecx, [esp + 0x6c]
call fcn.00492f10
mov ebp, dword [esp + 0x6b0]
mov byte [esp + 0x2b], bl
mov byte [esp + 0x13], bl
mov eax, dword [ebp + 0x18]
mov edi, dword [eax]
cmp edi, eax
je 0x489b9e
mov ecx, dword [edi + 0x1c]
lea eax, [esp + 0x4c]
push eax
call fcn.004848a0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x489a58
mov eax, 0x4d1750
mov esi, dword [str.Processor]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x489a82
cmp cl, bl
je 0x489a7e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x489a82
add eax, 2
add esi, 2
cmp cl, bl
jne 0x489a5e
xor eax, eax
jmp 0x489a87
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x50]
cmp eax, ebx
sete byte [esp + 0x12]
cmp ecx, ebx
je 0x489ab1
mov al, byte [ecx - 1]
dec ecx
cmp al, bl
je 0x489aa8
cmp al, 0xff
je 0x489aa8
dec al
mov byte [ecx], al
jmp 0x489ab1
push ecx
call fcn.00463c78
add esp, 4
mov al, byte [esp + 0x12]
mov dword [esp + 0x50], ebx
cmp al, bl
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
je 0x489acf
mov byte [esp + 0x2b], 1
jmp 0x489b5a
mov ecx, dword [edi + 0x1c]
lea eax, [esp + 0x5c]
push eax
call fcn.004848a0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x489ae8
mov eax, 0x4d1750
mov esi, dword [str.Memory]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x489b12
cmp cl, bl
je 0x489b0e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x489b12
add eax, 2
add esi, 2
cmp cl, bl
jne 0x489aee
xor eax, eax
jmp 0x489b17
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x60]
cmp eax, ebx
sete byte [esp + 0x12]
cmp ecx, ebx
je 0x489b41
mov al, byte [ecx - 1]
dec ecx
cmp al, bl
je 0x489b38
cmp al, 0xff
je 0x489b38
dec al
mov byte [ecx], al
jmp 0x489b41
push ecx
call fcn.00463c78
add esp, 4
mov al, byte [esp + 0x12]
mov dword [esp + 0x60], ebx
cmp al, bl
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
je 0x489b5a
mov byte [esp + 0x13], 1
mov eax, dword [edi + 8]
mov ecx, dword [0x4f5064]
cmp eax, ecx
je 0x489b72
push eax
call fcn.00482a30
add esp, 4
jmp 0x489b89
mov eax, dword [edi + 4]
cmp edi, dword [eax + 8]
jne 0x489b84
mov edi, eax
mov eax, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x489b7a
cmp dword [edi + 8], eax
je 0x489b8b
mov edi, eax
cmp edi, dword [ebp + 0x18]
jne 0x489a3f
cmp byte [esp + 0x2b], bl
jne 0x489dd8
lea ecx, [esp + 0x4c0]
call fcn.004919c0
lea ecx, [esp + 0x4c0]
mov byte [esp + 0x6a8], 3
call fcn.00491b50
push 0x34
call fcn.00467824
mov ebp, eax
add esp, 4
mov dword [esp + 0x2c], ebp
cmp ebp, ebx
mov byte [esp + 0x6a8], 4
je 0x489c18
mov al, byte [esp + 0x12]
mov esi, dword [str.Processor]
sub esp, 0x10
mov edi, esi
mov edx, esp
or ecx, 0xffffffff
mov dword [esp + 0x34], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
mov ecx, edx
call fcn.0040dc30
mov ecx, ebp
call fcn.00483fa0
mov esi, eax
jmp 0x489c1a
xor esi, esi
mov cl, byte [esp + 0x12]
sub esp, 0x10
mov edx, esp
mov edi, str.CPU0
xor eax, eax
mov dword [esp + 0x3c], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
mov byte [esp + 0x6b8], 3
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.CPU0
mov ecx, edx
call fcn.0040dc30
mov ecx, esi
call fcn.00484750
mov al, byte [esp + 0x12]
sub esp, 0x10
mov edx, esp
lea edi, [esp + 0x520]
or ecx, 0xffffffff
mov dword [esp + 0x3c], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x524]
push ecx
mov ecx, edx
call fcn.0040dc30
mov eax, dword [str.Name]
sub esp, 0x10
lea edx, [esp + 0x32]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
push eax
mov byte [esp + 0x6d0], 5
call fcn.0040d2c0
mov ecx, esi
mov byte [esp + 0x6c8], 3
call fcn.00484570
mov cl, byte [esp + 0x12]
sub esp, 0x10
mov edx, esp
lea edi, [esp + 0x510]
xor eax, eax
mov dword [esp + 0x3c], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x510]
push ecx
push eax
mov ecx, edx
call fcn.0040dc30
mov eax, dword [str.Manufacturer]
sub esp, 0x10
lea edx, [esp + 0x32]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
mov byte [esp + 0x6cc], 6
push eax
call fcn.0040d2c0
mov ecx, esi
mov byte [esp + 0x6c8], 3
call fcn.00484570
mov ecx, dword [esp + 0x590]
lea edx, [esp + 0x59c]
push ecx
push 0x4e09ec
push edx
call fcn.00467d68
mov al, byte [esp + 0x1e]
push ecx
mov edx, esp
lea edi, [esp + 0x5ac]
or ecx, 0xffffffff
mov dword [esp + 0x3c], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x5b0]
push ecx
mov ecx, edx
call fcn.0040dc30
mov eax, dword [str.MaxClockSpeed]
sub esp, 0x10
lea edx, [esp + 0x32]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
push eax
mov byte [esp + 0x6d0], 7
call fcn.0040d2c0
mov ecx, esi
mov byte [esp + 0x6c8], 3
call fcn.00484570
mov ecx, dword [esp + 0x6b0]
push esi
call fcn.00480840
lea ecx, [esp + 0x4c0]
mov byte [esp + 0x6a8], 2
call fcn.00491a80
mov ebp, dword [esp + 0x6b0]
cmp byte [esp + 0x13], bl
jne 0x489f42
lea ecx, [esp + 0x4c]
call fcn.00491960
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6a8], 8
call fcn.004919a0
push 0x34
call fcn.00467824
mov ebp, eax
add esp, 4
mov dword [esp + 0x2c], ebp
cmp ebp, ebx
mov byte [esp + 0x6a8], 9
je 0x489e56
mov cl, byte [esp + 0x12]
mov esi, dword [str.Memory]
sub esp, 0x10
mov edi, esi
mov edx, esp
xor eax, eax
mov dword [esp + 0x34], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
mov ecx, edx
call fcn.0040dc30
mov ecx, ebp
call fcn.00483fa0
mov esi, eax
jmp 0x489e58
xor esi, esi
mov al, byte [esp + 0x12]
sub esp, 0x10
mov edx, esp
mov edi, str.PhysicalMemory
or ecx, 0xffffffff
mov dword [esp + 0x3c], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
mov byte [esp + 0x6b8], 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.PhysicalMemory
mov ecx, edx
call fcn.0040dc30
mov ecx, esi
call fcn.00484750
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x59c]
shr ecx, 0x14
inc ecx
push ecx
push 0x4e09ec
push edx
call fcn.00467d68
mov al, byte [esp + 0x1e]
push ecx
mov edx, esp
lea edi, [esp + 0x5ac]
or ecx, 0xffffffff
mov dword [esp + 0x3c], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x5b0]
push ecx
mov ecx, edx
call fcn.0040dc30
mov eax, dword [str.Capacity]
sub esp, 0x10
lea edx, [esp + 0x32]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
push eax
mov byte [esp + 0x6d0], 0xa
call fcn.0040d2c0
mov ecx, esi
mov byte [esp + 0x6c8], 8
call fcn.00484570
mov ecx, dword [esp + 0x6b0]
push esi
call fcn.00480840
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6a8], 2
call fcn.00491990
mov ebp, dword [esp + 0x6b0]
mov esi, 0x4d490c
mov dword [esp + 0x48], esi
push ebp
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6ac], 0xb
call fcn.00490980
mov ecx, dword [esp + 0x6b4]
cmp ecx, ebx
je 0x489f97
mov edx, dword [esp + 0x6b8]
cmp edx, ebx
jle 0x489f97
cmp dword [esp + 0x1c], ebx
jbe 0x489f97
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x489f86
mov eax, 0x4d1750
push eax
dec edx
push 0x4df9a8
push edx
push ecx
call fcn.00466ca7
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], esi
cmp eax, ebx
je 0x489fc0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x489fb7
cmp al, 0xff
je 0x489fb7
dec al
mov byte [ecx], al
jmp 0x489fc0
push ecx
call fcn.00463c78
add esp, 4
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov ecx, dword [eax]
cmp edx, ebx
mov byte [esp + 0x6a8], bl
mov edi, eax
mov dword [esp + 0x24], ecx
je 0x48a043
mov edx, ecx
cmp ecx, edx
jne 0x48a043
mov edi, dword [eax + 4]
mov ecx, dword [0x4fce14]
cmp edi, ecx
mov esi, edi
je 0x48a02d
mov ecx, dword [esi + 8]
push ecx
lea ecx, [esp + 0x34]
call fcn.0048ffb0
mov esi, dword [esi]
push ebx
lea ecx, [edi + 0xc]
call fcn.00490580
push edi
call fcn.00463c78
mov ecx, dword [0x4fce14]
add esp, 4
cmp esi, ecx
mov edi, esi
jne 0x489ffc
mov eax, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], ebx
mov dword [eax], eax
mov eax, dword [esp + 0x34]
mov dword [eax + 8], eax
jmp 0x48a069
cmp ecx, eax
je 0x48a06d
mov esi, ecx
lea ecx, [esp + 0x24]
call fcn.0048fac0
lea edx, [esp + 0x2c]
push esi
push edx
lea ecx, [esp + 0x38]
call fcn.0048fb30
mov ecx, dword [esp + 0x24]
cmp ecx, edi
jne 0x48a047
mov eax, dword [esp + 0x34]
push eax
call fcn.00463c78
add esp, 4
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebx
xor esi, esi
call fcn.00465cc3
mov eax, dword [0x4fce10]
dec eax
mov dword [0x4fce10], eax
jne 0x48a0a2
mov esi, dword [0x4fce14]
mov dword [0x4fce14], ebx
lea ecx, [esp + 0x24]
call fcn.00465d5f
cmp esi, ebx
je 0x48a0b8
push esi
call fcn.00463c78
add esp, 4
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6a8], 0xffffffff
call fcn.00492840
mov eax, 1
mov ecx, dword [esp + 0x6a0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x69c
ret