Function at 0x5273c0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x612ded
mov eax, dword fs:[0]
push eax
sub esp, 0x424
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x420], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x67f864]
xor eax, esp
push eax
lea eax, [esp + 0x438]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x44c]
mov ebp, dword [esp + 0x448]
mov edi, dword [ebp + 0xb0]
mov eax, dword [edi]
add eax, 8
mov dword [ebp + 0xd8], eax
mov ecx, dword [edi]
mov eax, dword [ebp + 0x90]
test eax, eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], edx
jne 0x527487
push 0xc0
call fcn.0056bad1
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
mov dword [esp + 0x440], 0
je 0x527466
mov eax, dword [edi]
call fcn.00522c40
mov esi, eax
jmp 0x527468
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
mov dword [esi + 0x88], 7
jmp 0x5274ad
jg 0x52748e
call fcn.00574b84
mov eax, dword [ebp + 0x8c]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x5274a6
call fcn.00574b84
push 0
call fcn.0056e473
test ebx, ebx
jne 0x5274b5
mov dword [esp + 0x18], ebx
cmp dword [edi + 4], 0
mov dword [esp + 0x14], 1
je 0x527584
push 0xb0
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
mov dword [esp + 0x440], 1
je 0x527554
mov ebx, dword [edi + 4]
push 0x34
push 0
push 0xa9
mov ecx, esi
call fcn.0057dcfb
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x44c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 5
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], 0
mov dword [esi], vtable.PropLabelPage.0
jmp 0x527556
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 1
mov dword [esi + 0x88], 8
jne 0x52757c
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 2
cmp dword [edi + 8], 0
je 0x527671
push 0xb0
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 2
je 0x527640
mov ebx, dword [edi + 8]
mov dl, byte [ebx + 4]
and dl, 2
neg dl
push 0x34
push 0
mov ecx, esi
sbb edx, edx
and edx, 0xfffffff7
add edx, 0x12e
mov ebp, edx
push ebp
call fcn.0057dcfb
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebp, 0x125
mov ebp, dword [esp + 0x30]
setne al
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0x8c], 2
mov dword [esi + 0x90], 5
mov dword [esi + 0x98], ecx
add eax, 0x6c0
mov dword [esi + 0xac], eax
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], 0
mov dword [esi], vtable.CPropMarkerPage.0
jmp 0x527642
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 2
mov dword [esi + 0x88], 0x16
jne 0x52766c
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0xc], 0
je 0x52773d
push 0xb4
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 3
je 0x52770c
mov ebx, dword [edi + 0xc]
push 0x34
push 0
push 0x11d
mov ecx, esi
call fcn.0057dcfb
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x98], eax
xor eax, eax
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x6b6
mov dword [esi + 0x8c], 3
mov dword [esi + 0x90], 2
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], eax
mov dword [esi], vtable.PropLayerPage.0
mov dword [esi + 0xb0], eax
jmp 0x52770e
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 3
mov dword [esi + 0x88], 0x14
jne 0x527738
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
add dword [esp + 0x14], 1
mov eax, dword [edi + 0x10]
test eax, eax
je 0x5277cc
test byte [eax + 0x4c], 1
mov esi, 0xa8
je 0x527768
mov dl, byte [eax + 0x7c]
and dl, 1
neg dl
sbb edx, edx
and edx, 0xffffff9a
add edx, 0x11b
mov esi, edx
push 0xc0
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 4
je 0x52779b
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x10]
push eax
mov eax, esi
call fcn.00523d30
mov esi, eax
jmp 0x52779d
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 4
mov dword [esi + 0x88], 9
jne 0x5277c7
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
add dword [esp + 0x14], 1
cmp dword [edi + 0x14], 0
je 0x527895
push 0xb4
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 5
je 0x527864
mov ebx, dword [edi + 0x14]
push 0x34
push 0
push 0xaa
mov ecx, esi
call fcn.0057dcfb
mov ecx, dword [esp + 0x1c]
mov eax, 5
mov dword [esi + 0x8c], eax
mov dword [esi + 0x90], eax
xor eax, eax
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x50a
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], eax
mov dword [esi], vtable.PropMeasurePage.0
mov dword [esi + 0xb0], eax
jmp 0x527866
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 5
mov dword [esi + 0x88], 0xa
jne 0x527890
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x18], 0
je 0x527905
push 0xd4
call fcn.0056bad1
mov ecx, eax
add esp, 4
mov dword [esp + 0x20], ecx
test ecx, ecx
mov dword [esp + 0x440], 6
je 0x5278d4
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi + 0x18]
call fcn.004cdcd0
mov ebx, dword [esp + 0x44c]
mov esi, eax
jmp 0x5278d6
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 6
mov dword [esi + 0x88], 0xb
jne 0x527900
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
add dword [esp + 0x14], 1
cmp dword [edi + 0x1c], 0
je 0x52796d
push 0xb0
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 7
je 0x52793c
mov ecx, dword [edi + 0x1c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00524ea0
mov esi, eax
jmp 0x52793e
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 7
mov dword [esi + 0x88], 0xc
jne 0x527968
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x20], 0
je 0x5279d5
push 0xb0
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 8
je 0x5279a4
mov ecx, dword [edi + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00524b90
mov esi, eax
jmp 0x5279a6
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 8
mov dword [esi + 0x88], 0xd
jne 0x5279d0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x2c], 0
je 0x527a3d
push 0xb8
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 9
je 0x527a0c
mov ecx, dword [edi + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00526250
mov esi, eax
jmp 0x527a0e
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xb
mov dword [esi + 0x88], 0x10
jne 0x527a38
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x24], 0
je 0x527aa5
push 0xb0
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 0xa
je 0x527a74
mov ecx, dword [edi + 0x24]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.005249d0
mov esi, eax
jmp 0x527a76
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 9
mov dword [esi + 0x88], 0xe
jne 0x527aa0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x28], 0
je 0x527b0d
push 0xc8
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 0xb
je 0x527adc
mov ecx, dword [edi + 0x28]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.005250c0
mov esi, eax
jmp 0x527ade
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xa
mov dword [esi + 0x88], 0xf
jne 0x527b08
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x30], 0
je 0x527bd5
push 0xb0
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 0xc
je 0x527ba4
mov ebx, dword [edi + 0x30]
push 0x34
push 0
push pe_nt_image_headers32
mov ecx, esi
call fcn.0057dcfb
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x510
mov dword [esi + 0x8c], 0xc
mov dword [esi + 0x90], 4
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], 0
mov dword [esi], vtable.PropIterationPage.0
jmp 0x527ba6
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xc
mov dword [esi + 0x88], 0x11
jne 0x527bd0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
add dword [esp + 0x14], 1
cmp dword [edi + 0x34], 0
je 0x527c3e
push 0xc4
call fcn.0056bad1
mov edx, eax
add esp, 4
mov dword [esp + 0x20], edx
test edx, edx
mov dword [esp + 0x440], 0xd
je 0x527c0d
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x34]
call fcn.005267f0
mov esi, eax
jmp 0x527c0f
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xd
mov dword [esi + 0x88], 0x12
jne 0x527c39
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
add dword [esp + 0x14], 1
cmp dword [edi + 0x38], 0
je 0x527d06
push 0xb0
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 0xe
je 0x527cd5
mov ebx, dword [edi + 0x38]
push 0x34
push 0
push 0x105
mov ecx, esi
call fcn.0057dcfb
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x487
mov dword [esi + 0x8c], 0xe
mov dword [esi + 0x90], 1
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], 0
mov dword [esi], vtable.PropTablePage.0
jmp 0x527cd7
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xe
mov dword [esi + 0x88], 0x13
jne 0x527d01
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
add dword [esp + 0x14], 1
cmp dword [edi + 0x3c], 0
je 0x527dce
push 0xb0
call fcn.0056bad1
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov dword [esp + 0x440], 0xf
je 0x527d9d
mov ebx, dword [edi + 0x3c]
push 0x34
push 0
push 0x11a
mov ecx, esi
call fcn.0057dcfb
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x94], ebx
mov ebx, dword [esp + 0x44c]
mov byte [esi + 0xa0], 0
mov dword [esi + 0xac], 0x6bc
mov dword [esi + 0x8c], 0xf
mov dword [esi + 0x90], 1
mov dword [esi + 0x98], edx
mov dword [esi + 0x9c], 0x522850
mov dword [esi + 0x88], 0
mov dword [esi], vtable.CPropAxisPage.0
jmp 0x527d9f
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0xf
mov dword [esi + 0x88], 0x15
jne 0x527dc9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
add dword [esp + 0x14], 1
cmp dword [edi + 0x40], 0
je 0x527e32
push 0x104
call fcn.0056bad1
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x440], 0x10
je 0x527e06
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [edi + 0x40]
push eax
call fcn.005239e0
mov esi, eax
jmp 0x527e08
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x444], 0xffffffff
call fcn.0057d982
cmp ebx, 0x10
mov dword [esi + 0x88], 0x17
jne 0x527e32
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, esi
jl 0x527e44
push eax
mov ecx, ebp
call fcn.0057cd5b
push 0x100
lea eax, [esp + 0x238]
push eax
push 0x13
push 3
call fcn.0051a1e0
mov ecx, dword [ebp + 0xd8]
mov edx, dword [ecx]
push 0x100
lea eax, [esp + 0x248]
mov dword [esp + 0x3c], edx
push 1
push eax
lea edx, [esp + 0x40]
lea ecx, [esp + 0x50]
mov dword [esp + 0x40], 3
mov dword [esp + 0x48], esi
call fcn.0047c700
lea eax, [esp + 0x50]
add esp, 0x1c
lea edx, [eax + 2]
jmp 0x527ea0
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x527ea0
sub eax, edx
sar eax, 1
cmp eax, 0x2d
jbe 0x527eeb
mov ecx, dword [ebp + 0xd8]
mov edx, dword [ecx]
push 0x100
lea eax, [esp + 0x238]
mov dword [esp + 0x2c], edx
push 1
push eax
lea edx, [esp + 0x30]
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], 4
mov dword [esp + 0x38], esi
call fcn.0047c700
add esp, 0xc
lea eax, [esp + 0x34]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x527ef2
sub eax, edx
sar eax, 1
cmp eax, 0x2d
jbe 0x527f31
mov ecx, dword [ebp + 0xd8]
mov edx, dword [ecx]
push esi
push esi
push edx
call fcn.0045b140
add esp, 0xc
lea edx, [esp + 0x34]
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, si
jne 0x527f20
push esi
lea eax, [esp + 0x38]
push eax
mov ecx, ebp
call fcn.0057e108
mov ecx, dword [esp + 0x438]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x420]
xor ecx, esp
call fcn.005ce60a
add esp, 0x430
ret 8