Function at 0x5082a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8ac
mov eax, dword [0x56bbe0]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x8ac], ecx
lea eax, [ebp - 0x610]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 0x824], eax
push str.cpuz.ini
push 0x200
lea ecx, [ebp - 0x610]
push ecx
call fcn.004a9476
add esp, 0xc
push str.rt_ccsUNICODE
lea edx, [ebp - 0x610]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.004a994f
add esp, 0xc
mov dword [ebp - 0x620], eax
cmp dword [ebp - 0x20c], 0
jne 0x508319
jmp 0x50971d
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x20c]
push ecx
push 0xff
lea edx, [ebp - 0x820]
push edx
call fcn.004a9eaa
add esp, 0xc
mov dword [ebp - 0x618], eax
push str._CPU_Z_
lea eax, [ebp - 0x820]
push eax
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508368
mov dword [ebp - 0x210], 1
jmp 0x50837a
cmp dword [ebp - 0x618], 0
je 0x50837a
cmp dword [ebp - 0x210], 0
je 0x508323
cmp dword [ebp - 0x210], 0
jne 0x508397
mov ecx, dword [ebp - 0x20c]
push ecx
call fcn.004a9a19
add esp, 4
jmp 0x50971d
mov edx, dword [ebp - 0x20c]
push edx
push 0xff
lea eax, [ebp - 0x820]
push eax
call fcn.004a9eaa
add esp, 0xc
mov dword [ebp - 0x618], eax
cmp dword [ebp - 0x618], 0
je 0x50970e
push str.TextFontName
lea ecx, [ebp - 0x820]
push ecx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5084ef
lea edx, [ebp - 0x820]
push edx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea eax, [ebp - 0x820]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x828], 0
mov ecx, dword [ebp - 0x828]
cmp ecx, dword [ebp - 0x614]
jge 0x50844a
mov edx, dword [ebp - 0x82c]
movzx eax, word [edx]
cmp eax, 0x3d
jne 0x50842a
jmp 0x50844a
mov ecx, dword [ebp - 0x82c]
add ecx, 2
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x828]
add edx, 1
mov dword [ebp - 0x828], edx
jmp 0x50840c
mov dword [ebp - 0x830], 0
jmp 0x508465
mov eax, dword [ebp - 0x828]
add eax, 1
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x828]
cmp ecx, dword [ebp - 0x614]
jge 0x5084ba
mov edx, dword [ebp - 0x82c]
add edx, 2
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0x82c]
movzx ecx, word [eax]
cmp ecx, 0xa
jne 0x508492
jmp 0x5084ba
mov edx, dword [ebp - 0x830]
mov eax, dword [ebp - 0x82c]
mov cx, word [eax]
mov word [ebp + edx*2 - 0x208], cx
mov edx, dword [ebp - 0x830]
add edx, 1
mov dword [ebp - 0x830], edx
jmp 0x508456
xor eax, eax
mov ecx, dword [ebp - 0x830]
mov word [ebp + ecx*2 - 0x208], ax
lea edx, [ebp - 0x208]
push edx
push 0x100
mov eax, dword [ebp - 0x8ac]
add eax, 0x173c
push eax
call fcn.00404c6d
add esp, 0xc
jmp 0x5096e8
push str.LabelFontName
lea ecx, [ebp - 0x820]
push ecx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508619
lea edx, [ebp - 0x820]
push edx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea eax, [ebp - 0x820]
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x834], 0
mov ecx, dword [ebp - 0x834]
cmp ecx, dword [ebp - 0x614]
jge 0x508574
mov edx, dword [ebp - 0x838]
movzx eax, word [edx]
cmp eax, 0x3d
jne 0x508554
jmp 0x508574
mov ecx, dword [ebp - 0x838]
add ecx, 2
mov dword [ebp - 0x838], ecx
mov edx, dword [ebp - 0x834]
add edx, 1
mov dword [ebp - 0x834], edx
jmp 0x508536
mov dword [ebp - 0x83c], 0
jmp 0x50858f
mov eax, dword [ebp - 0x834]
add eax, 1
mov dword [ebp - 0x834], eax
mov ecx, dword [ebp - 0x834]
cmp ecx, dword [ebp - 0x614]
jge 0x5085e4
mov edx, dword [ebp - 0x838]
add edx, 2
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x838]
movzx ecx, word [eax]
cmp ecx, 0xa
jne 0x5085bc
jmp 0x5085e4
mov edx, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x838]
mov cx, word [eax]
mov word [ebp + edx*2 - 0x208], cx
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
jmp 0x508580
xor eax, eax
mov ecx, dword [ebp - 0x83c]
mov word [ebp + ecx*2 - 0x208], ax
lea edx, [ebp - 0x208]
push edx
push 0x100
mov eax, dword [ebp - 0x8ac]
add eax, 0x153c
push eax
call fcn.00404c6d
add esp, 0xc
jmp 0x5096e8
push str.TextFontSize
lea ecx, [ebp - 0x820]
push ecx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x50866c
lea edx, [ebp - 4]
push edx
push str.TextFontSize_d
lea eax, [ebp - 0x820]
push eax
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x508667
mov ecx, dword [ebp - 0x8ac]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x1940], edx
jmp 0x5096e8
push str.LabelFontSize
lea eax, [ebp - 0x820]
push eax
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5086bf
lea ecx, [ebp - 4]
push ecx
push str.LabelFontSize_d
lea edx, [ebp - 0x820]
push edx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x5086ba
mov eax, dword [ebp - 0x8ac]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x193c], ecx
jmp 0x5096e8
push str.TextFontColor
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508743
lea eax, [ebp - 4]
push eax
push str.TextFontColor_X
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x50873e
mov edx, dword [ebp - 4]
sar edx, 0x10
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 4]
sar ecx, 8
and ecx, 0xff
movzx edx, cl
shl edx, 8
or eax, edx
mov ecx, dword [ebp - 4]
and ecx, 0xff
movzx edx, cl
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1944], eax
jmp 0x5096e8
push str.ACPI
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5088e0
lea eax, [ebp - 4]
push eax
push str.ACPI_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x5087a0
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1948], edx
jmp 0x5088db
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x844], edx
mov dword [ebp - 0x840], 0
mov eax, dword [ebp - 0x840]
cmp eax, dword [ebp - 0x614]
jge 0x508809
mov ecx, dword [ebp - 0x844]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x5087e9
jmp 0x508809
mov eax, dword [ebp - 0x844]
add eax, 2
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
jmp 0x5087cb
mov dword [ebp - 0x848], 0
jmp 0x508824
mov edx, dword [ebp - 0x840]
add edx, 1
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x840]
cmp eax, dword [ebp - 0x614]
jge 0x508879
mov ecx, dword [ebp - 0x844]
add ecx, 2
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x844]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x508851
jmp 0x508879
mov ecx, dword [ebp - 0x848]
mov edx, dword [ebp - 0x844]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
jmp 0x508815
xor edx, edx
mov eax, dword [ebp - 0x848]
mov word [ebp + eax*2 - 0x208], dx
push 0x541d44
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5088b3
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1948], 1
jmp 0x5088db
push 0x541d4c
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5088db
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1948], 0
jmp 0x5096e8
push 0x541d54
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508a7d
lea eax, [ebp - 4]
push eax
push str.DMI_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x50893d
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x194c], edx
jmp 0x508a78
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x850], edx
mov dword [ebp - 0x84c], 0
mov eax, dword [ebp - 0x84c]
cmp eax, dword [ebp - 0x614]
jge 0x5089a6
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x508986
jmp 0x5089a6
mov eax, dword [ebp - 0x850]
add eax, 2
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
jmp 0x508968
mov dword [ebp - 0x854], 0
jmp 0x5089c1
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
mov eax, dword [ebp - 0x84c]
cmp eax, dword [ebp - 0x614]
jge 0x508a16
mov ecx, dword [ebp - 0x850]
add ecx, 2
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x5089ee
jmp 0x508a16
mov ecx, dword [ebp - 0x854]
mov edx, dword [ebp - 0x850]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
jmp 0x5089b2
xor edx, edx
mov eax, dword [ebp - 0x854]
mov word [ebp + eax*2 - 0x208], dx
push 0x541d6c
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508a50
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x194c], 1
jmp 0x508a78
push 0x541d74
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508a78
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x194c], 0
jmp 0x5096e8
push str.Sensor
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508c1a
lea eax, [ebp - 4]
push eax
push str.Sensor_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x508ada
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1954], edx
jmp 0x508c15
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x85c], edx
mov dword [ebp - 0x858], 0
mov eax, dword [ebp - 0x858]
cmp eax, dword [ebp - 0x614]
jge 0x508b43
mov ecx, dword [ebp - 0x85c]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x508b23
jmp 0x508b43
mov eax, dword [ebp - 0x85c]
add eax, 2
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
jmp 0x508b05
mov dword [ebp - 0x860], 0
jmp 0x508b5e
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
cmp eax, dword [ebp - 0x614]
jge 0x508bb3
mov ecx, dword [ebp - 0x85c]
add ecx, 2
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x85c]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x508b8b
jmp 0x508bb3
mov ecx, dword [ebp - 0x860]
mov edx, dword [ebp - 0x85c]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
jmp 0x508b4f
xor edx, edx
mov eax, dword [ebp - 0x860]
mov word [ebp + eax*2 - 0x208], dx
push 0x541da0
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508bed
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1954], 1
jmp 0x508c15
push 0x541da8
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508c15
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1954], 0
jmp 0x5096e8
push str.SMBus
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508db7
lea eax, [ebp - 4]
push eax
push str.SMBus_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x508c77
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1950], edx
jmp 0x508db2
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x868], edx
mov dword [ebp - 0x864], 0
mov eax, dword [ebp - 0x864]
cmp eax, dword [ebp - 0x614]
jge 0x508ce0
mov ecx, dword [ebp - 0x868]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x508cc0
jmp 0x508ce0
mov eax, dword [ebp - 0x868]
add eax, 2
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
jmp 0x508ca2
mov dword [ebp - 0x86c], 0
jmp 0x508cfb
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
mov eax, dword [ebp - 0x864]
cmp eax, dword [ebp - 0x614]
jge 0x508d50
mov ecx, dword [ebp - 0x868]
add ecx, 2
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x868]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x508d28
jmp 0x508d50
mov ecx, dword [ebp - 0x86c]
mov edx, dword [ebp - 0x868]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
jmp 0x508cec
xor edx, edx
mov eax, dword [ebp - 0x86c]
mov word [ebp + eax*2 - 0x208], dx
push 0x541dd0
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508d8a
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1950], 1
jmp 0x508db2
push 0x541dd8
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508db2
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1950], 0
jmp 0x5096e8
push str.Display
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x508f54
lea eax, [ebp - 4]
push eax
push str.Display_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x508e14
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1958], edx
jmp 0x508f4f
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x874], edx
mov dword [ebp - 0x870], 0
mov eax, dword [ebp - 0x870]
cmp eax, dword [ebp - 0x614]
jge 0x508e7d
mov ecx, dword [ebp - 0x874]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x508e5d
jmp 0x508e7d
mov eax, dword [ebp - 0x874]
add eax, 2
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x870]
add ecx, 1
mov dword [ebp - 0x870], ecx
jmp 0x508e3f
mov dword [ebp - 0x878], 0
jmp 0x508e98
mov edx, dword [ebp - 0x870]
add edx, 1
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x870]
cmp eax, dword [ebp - 0x614]
jge 0x508eed
mov ecx, dword [ebp - 0x874]
add ecx, 2
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x874]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x508ec5
jmp 0x508eed
mov ecx, dword [ebp - 0x878]
mov edx, dword [ebp - 0x874]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
jmp 0x508e89
xor edx, edx
mov eax, dword [ebp - 0x878]
mov word [ebp + eax*2 - 0x208], dx
push 0x541e0c
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508f27
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1958], 1
jmp 0x508f4f
push 0x541e14
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x508f4f
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1958], 0
jmp 0x5096e8
push str.UseDisplayAPI
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5090f1
lea eax, [ebp - 4]
push eax
push str.UseDisplayAPI_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x508fb1
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1964], edx
jmp 0x5090ec
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], 0
mov eax, dword [ebp - 0x87c]
cmp eax, dword [ebp - 0x614]
jge 0x50901a
mov ecx, dword [ebp - 0x880]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x508ffa
jmp 0x50901a
mov eax, dword [ebp - 0x880]
add eax, 2
mov dword [ebp - 0x880], eax
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
jmp 0x508fdc
mov dword [ebp - 0x884], 0
jmp 0x509035
mov edx, dword [ebp - 0x87c]
add edx, 1
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp - 0x87c]
cmp eax, dword [ebp - 0x614]
jge 0x50908a
mov ecx, dword [ebp - 0x880]
add ecx, 2
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x880]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x509062
jmp 0x50908a
mov ecx, dword [ebp - 0x884]
mov edx, dword [ebp - 0x880]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x884]
add ecx, 1
mov dword [ebp - 0x884], ecx
jmp 0x509026
xor edx, edx
mov eax, dword [ebp - 0x884]
mov word [ebp + eax*2 - 0x208], dx
push 0x541e5c
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5090c4
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1964], 1
jmp 0x5090ec
push 0x541e64
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5090ec
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1964], 0
jmp 0x5096e8
push str.RemoveService
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x50928e
lea eax, [ebp - 4]
push eax
push str.RemoveService_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x50914e
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x196c], edx
jmp 0x509289
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x88c], edx
mov dword [ebp - 0x888], 0
mov eax, dword [ebp - 0x888]
cmp eax, dword [ebp - 0x614]
jge 0x5091b7
mov ecx, dword [ebp - 0x88c]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x509197
jmp 0x5091b7
mov eax, dword [ebp - 0x88c]
add eax, 2
mov dword [ebp - 0x88c], eax
mov ecx, dword [ebp - 0x888]
add ecx, 1
mov dword [ebp - 0x888], ecx
jmp 0x509179
mov dword [ebp - 0x890], 0
jmp 0x5091d2
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x888]
cmp eax, dword [ebp - 0x614]
jge 0x509227
mov ecx, dword [ebp - 0x88c]
add ecx, 2
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x88c]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x5091ff
jmp 0x509227
mov ecx, dword [ebp - 0x890]
mov edx, dword [ebp - 0x88c]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x890]
add ecx, 1
mov dword [ebp - 0x890], ecx
jmp 0x5091c3
xor edx, edx
mov eax, dword [ebp - 0x890]
mov word [ebp + eax*2 - 0x208], dx
push 0x541eac
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x509261
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x196c], 1
jmp 0x509289
push 0x541eb4
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x509289
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x196c], 0
jmp 0x5096e8
push 0x541ebc
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x509463
lea eax, [ebp - 4]
push eax
push str.PCI_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x509323
mov edx, dword [ebp - 0x8ac]
mov eax, dword [ebp - 4]
mov dword [edx + 0x1974], eax
mov ecx, dword [ebp - 0x8ac]
cmp dword [ecx + 0x1974], 0
jge 0x5092ff
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1974], 0
mov eax, dword [ebp - 0x8ac]
cmp dword [eax + 0x1974], 2
jle 0x50931e
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1974], 2
jmp 0x50945e
lea edx, [ebp - 0x820]
push edx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea eax, [ebp - 0x820]
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x894], 0
mov ecx, dword [ebp - 0x894]
cmp ecx, dword [ebp - 0x614]
jge 0x50938c
mov edx, dword [ebp - 0x898]
movzx eax, word [edx]
cmp eax, 0x3d
jne 0x50936c
jmp 0x50938c
mov ecx, dword [ebp - 0x898]
add ecx, 2
mov dword [ebp - 0x898], ecx
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
jmp 0x50934e
mov dword [ebp - 0x89c], 0
jmp 0x5093a7
mov eax, dword [ebp - 0x894]
add eax, 1
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x894]
cmp ecx, dword [ebp - 0x614]
jge 0x5093fc
mov edx, dword [ebp - 0x898]
add edx, 2
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x898]
movzx ecx, word [eax]
cmp ecx, 0xa
jne 0x5093d4
jmp 0x5093fc
mov edx, dword [ebp - 0x89c]
mov eax, dword [ebp - 0x898]
mov cx, word [eax]
mov word [ebp + edx*2 - 0x208], cx
mov edx, dword [ebp - 0x89c]
add edx, 1
mov dword [ebp - 0x89c], edx
jmp 0x509398
xor eax, eax
mov ecx, dword [ebp - 0x89c]
mov word [ebp + ecx*2 - 0x208], ax
push 0x541ed4
lea edx, [ebp - 0x208]
push edx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x509436
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1974], 1
jmp 0x50945e
push 0x541edc
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x50945e
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1974], 0
jmp 0x5096e8
push str.MaxPCIBus
lea eax, [ebp - 0x820]
push eax
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5094f7
lea ecx, [ebp - 4]
push ecx
push str.MaxPCIBus_d
lea edx, [ebp - 0x820]
push edx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x5094f2
mov eax, dword [ebp - 0x8ac]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x1970], ecx
mov edx, dword [ebp - 0x8ac]
cmp dword [edx + 0x1970], 1
jge 0x5094d0
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x1970], 1
mov ecx, dword [ebp - 0x8ac]
cmp dword [ecx + 0x1970], 0x100
jle 0x5094f2
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x1970], 0x100
jmp 0x5096e8
push str.BusClock
lea eax, [ebp - 0x820]
push eax
call fcn.004029b0
add esp, 8
test eax, eax
je 0x509550
lea ecx, [ebp - 4]
push ecx
push str.BusClock_d
lea edx, [ebp - 0x820]
push edx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x50954b
xor eax, eax
cmp dword [ebp - 4], 0
setne al
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x1968], eax
jmp 0x5096e8
push str.Chipset
lea edx, [ebp - 0x820]
push edx
call fcn.004029b0
add esp, 8
test eax, eax
je 0x5096e8
lea eax, [ebp - 4]
push eax
push str.Chipset_d
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a9e88
add esp, 0xc
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x5095ad
xor edx, edx
cmp dword [ebp - 4], 0
setne dl
mov eax, dword [ebp - 0x8ac]
mov dword [eax + 0x195c], edx
jmp 0x5096e8
lea ecx, [ebp - 0x820]
push ecx
call fcn.004a94f3
add esp, 4
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x820]
mov dword [ebp - 0x8a4], edx
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a0]
cmp eax, dword [ebp - 0x614]
jge 0x509616
mov ecx, dword [ebp - 0x8a4]
movzx edx, word [ecx]
cmp edx, 0x3d
jne 0x5095f6
jmp 0x509616
mov eax, dword [ebp - 0x8a4]
add eax, 2
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a0]
add ecx, 1
mov dword [ebp - 0x8a0], ecx
jmp 0x5095d8
mov dword [ebp - 0x8a8], 0
jmp 0x509631
mov edx, dword [ebp - 0x8a0]
add edx, 1
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x8a0]
cmp eax, dword [ebp - 0x614]
jge 0x509686
mov ecx, dword [ebp - 0x8a4]
add ecx, 2
mov dword [ebp - 0x8a4], ecx
mov edx, dword [ebp - 0x8a4]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x50965e
jmp 0x509686
mov ecx, dword [ebp - 0x8a8]
mov edx, dword [ebp - 0x8a4]
mov ax, word [edx]
mov word [ebp + ecx*2 - 0x208], ax
mov ecx, dword [ebp - 0x8a8]
add ecx, 1
mov dword [ebp - 0x8a8], ecx
jmp 0x509622
xor edx, edx
mov eax, dword [ebp - 0x8a8]
mov word [ebp + eax*2 - 0x208], dx
push 0x541f6c
lea ecx, [ebp - 0x208]
push ecx
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5096c0
mov edx, dword [ebp - 0x8ac]
mov dword [edx + 0x195c], 1
jmp 0x5096e8
push 0x541f74
lea eax, [ebp - 0x208]
push eax
call fcn.004a9f6b
add esp, 8
test eax, eax
jne 0x5096e8
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx + 0x195c], 0
mov edx, dword [ebp - 0x20c]
push edx
push 0xff
lea eax, [ebp - 0x820]
push eax
call fcn.004a9eaa
add esp, 0xc
mov dword [ebp - 0x618], eax
jmp 0x5083b8
mov ecx, dword [ebp - 0x20c]
push ecx
call fcn.004a9a19
add esp, 4
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004a9399
mov esp, ebp
pop ebp
ret