Function at 0x4328e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x57a915
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x60bd28]
xor eax, esp
mov dword [esp + 0x1c0], eax
push ebx
push esi
push edi
mov eax, dword [0x60bd28]
xor eax, esp
push eax
lea eax, [esp + 0x1d8]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
push 5
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x596192
mov dword [esp + 0x40], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x30], edi
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.StartHDReadinessInfo_begin_...
mov dword [esp + 0x1f0], 0
call fcn.00402a30
lea ecx, [esp + 0x88]
mov dword [esp + 0x1ec], 0xffffffff
call fcn.0043bcd0
lea ecx, [esp + 0x7c]
call fcn.0043a600
lea ecx, [esp + 0x94]
call fcn.005167d7
mov dword [esp + 0x1e0], 1
call fcn.005153ed
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x94]
push ecx
push eax
call fcn.00431690
add esp, 8
test eax, eax
jne 0x432a01
push 2
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x596192
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x59b2a8
mov byte [esp + 0x1f0], 2
call fcn.00402a30
lea ecx, [esp + 0x88]
mov byte [esp + 0x1ec], 1
call fcn.0043bcd0
lea ecx, [esp + 0x7c]
call fcn.0043a600
push 0x2350
push 0
push ebx
call fcn.0053fd60
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
mov dword [ebx + 8], edx
lea edx, [esp + 0xa0]
push edx
mov dword [ebx + 0xc], edi
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x38], 6
call fcn.00430620
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
add esp, 0x10
fmul qword [0x59b2a0]
call fcn.00542230
cmp dword [esi + 0x4530], eax
jl 0x432a5e
mov dword [ebx + 0x38], 1
cmp dword [edi + 4], 0
mov dword [esp + 0x18], 0
jle 0x432d1e
lea esi, [ebx + 0x224c]
add ebx, 0x40
mov dword [esp + 0x3c], ebx
add edi, 0x3d
mov ebx, 0x105
call fcn.00512f10
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x432f7d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ecx, [eax + 0x10]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx - 8]
mov edx, 1
sub edx, dword [ecx - 4]
sub eax, ebx
or eax, edx
mov byte [esp + 0x1e0], 3
jge 0x432ad0
push ebx
lea ecx, [esp + 0x18]
call fcn.00401b20
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 8], ebx
jl 0x432f87
lea eax, [edi + 8]
push eax
push edi
push 0x596192
mov dword [ecx - 0xc], ebx
mov edx, dword [esp + 0x20]
push str._s_.8s__.16s
push ecx
mov byte [edx + 0x105], 0
call fcn.00540420
add esp, 0x14
lea ecx, [esp + 0x14]
call fcn.0040c3f0
mov ecx, eax
call fcn.0040be60
mov eax, dword [esp + 0x14]
cmp dword [eax - 4], 1
jle 0x432b2a
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401870
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
push 0x104
push eax
push edx
call fcn.005405c0
mov eax, 6
mov dword [esi - 0x18c], eax
mov dword [esi - 0x10c], eax
xor eax, eax
mov dword [esi - 0x80], eax
mov dword [esi], eax
mov dword [esi + 0x80], eax
mov eax, dword [edi + 0x843a]
xor edx, edx
add esp, 0xc
mov ecx, eax
and ecx, 0x2000
cmp ecx, 0x2000
sete dl
xor ebx, ebx
mov ecx, eax
and ecx, 0x1000
cmp ecx, 0x1000
sete bl
mov ecx, eax
and ecx, 0x4000
or edx, ebx
xor ebx, ebx
cmp ecx, 0x4000
sete bl
mov ecx, edx
or ecx, ebx
mov dword [esi - 0x80], ecx
cmp dword [edi + 0x83e2], 0
jne 0x432bc2
cmp dword [edi + 0x83e6], 0
jne 0x432bc2
cmp dword [edi + 0x83ea], 0
jne 0x432bc2
xor edx, edx
jmp 0x432bc7
mov edx, 1
or ecx, edx
mov dword [esi - 0x80], ecx
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov edx, eax
and edx, 0x100000
cmp edx, 0x100000
sete cl
xor ebx, ebx
mov edx, eax
and edx, 0x80000
cmp edx, 0x80000
sete bl
mov edx, eax
and edx, 0x40000
or ecx, ebx
xor ebx, ebx
cmp edx, 0x40000
sete bl
mov edx, eax
and edx, 0x20000
or ecx, ebx
xor ebx, ebx
cmp edx, 0x20000
sete bl
mov edx, eax
and edx, 0x10000
or ecx, ebx
xor ebx, ebx
cmp edx, 0x10000
sete bl
and eax, 0x8000
xor edx, edx
or ecx, ebx
cmp eax, 0x8000
sete dl
mov eax, ecx
or eax, edx
mov dword [esi], eax
mov ecx, dword [edi + 0x83ee]
or ecx, eax
mov dword [esi], ecx
mov eax, dword [edi + 0x83f2]
or eax, ecx
mov dword [esi], eax
mov ecx, dword [edi + 0x83f6]
or ecx, eax
mov dword [esi], ecx
mov eax, dword [edi + 0x83fa]
or eax, ecx
mov dword [esi], eax
mov ecx, dword [edi + 0x83fe]
or ecx, eax
cmp dword [esp + 0x20], 0
mov dword [esi], ecx
mov edx, dword [edi + 0x8432]
mov dword [esi + 0x80], edx
je 0x432ca9
test edx, edx
mov dword [esi - 0x18c], 3
je 0x432ca9
mov dword [esi - 0x18c], 1
test ecx, ecx
je 0x432cc5
test edx, edx
mov dword [esi - 0x10c], 3
je 0x432cc5
mov dword [esi - 0x10c], 1
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x1e0], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432ced
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add dword [esp + 0x3c], 0x104
add eax, 1
add esi, 4
add edi, 0x8495
cmp eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
jl 0x432a80
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
push 5
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x596192
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.CheckNeroLicense_before
mov byte [esp + 0x1f0], 4
call fcn.00402a30
lea ecx, [esp + 0x88]
mov byte [esp + 0x1ec], 1
call fcn.0043bcd0
lea ecx, [esp + 0x7c]
call fcn.0043a600
push ebx
call fcn.00432390
add esp, 4
push 5
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x596192
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.CheckNeroLicense_after
mov byte [esp + 0x1f0], 5
call fcn.00402a30
lea ecx, [esp + 0x88]
mov byte [esp + 0x1ec], 1
call fcn.0043bcd0
lea ecx, [esp + 0x7c]
call fcn.0043a600
mov edi, 6
lea edx, [esi + 0x1c0]
push edx
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x34], edi
mov dword [ebx + 0x21c0], edi
mov dword [ebx + 0x21c4], edi
call fcn.00402a30
lea eax, [esi + 0x7c0]
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1e4], 6
call fcn.00402a30
lea ecx, [esp + 0x7c]
call fcn.0042fbb0
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x98]
push edx
mov byte [esp + 0x1e8], 8
call fcn.00430da0
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x88]
push ecx
mov dword [esp + 0x30], 0
call fcn.00431af0
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xfffffffb
add eax, edi
xor edi, edi
lea ecx, [esp + 0xa8]
mov dword [ebx + 0x3c], eax
mov dword [esp + 0x24], edi
call fcn.0042fc20
mov byte [esp + 0x1e0], 9
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x98]
push eax
call fcn.00431190
add esp, 8
cmp dword [esp + 0xb0], edi
mov dword [esp + 0x3c], edi
jle 0x4333fa
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x3c]
test eax, eax
jl 0x4333e8
cmp eax, dword [esp + 0xb0]
jge 0x4333e8
mov esi, dword [esp + 0x18]
mov ecx, 0x43
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x50]
call fcn.005167d7
push 0
push 0
lea edx, [esp + 0x58]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x59720c
mov byte [esp + 0x1f4], 0xa
call fcn.00402a30
push ecx
lea eax, [esp + 0xd0]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
mov byte [esp + 0x1f8], 0xb
call fcn.00402a30
mov byte [esp + 0x1f4], 0xa
call fcn.00426df0
mov eax, dword [esp + 0x6c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], 0
jle 0x4333ab
jmp 0x432f30
mov ecx, dword [esp + 0x14]
test ecx, ecx
jl 0x4333e8
cmp ecx, eax
jge 0x4333e8
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x58]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub esi, 0x10
mov dword [esp + 0x20], esp
mov ebx, esp
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x432f91
cmp eax, dword [esi]
jne 0x432f91
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x432fc7
push 0x80004005
call fcn.00401010
push 0x80070057
call fcn.00401010
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
mov esi, dword [esp + 0x4c]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1e8], 0xc
mov dword [esp + 0x18], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x433006
cmp eax, dword [esi]
jne 0x433006
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x43303c
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
mov byte [esp + 0x1e8], 0xa
call fcn.00427470
movzx edx, al
mov eax, dword [esp + 0x3c]
add esp, 8
or dword [eax + 0x14], edx
jne 0x433079
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x432f30
jmp 0x4333ab
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x58]
push 5
jge 0x4333e8
push ecx
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub esi, 0x10
mov dword [esp + 0x18], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4330be
cmp eax, dword [esi]
jne 0x4330be
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4330f4
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Cpu_found
mov byte [esp + 0x1f0], 0xd
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0xa
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
mov eax, dword [esp + 0x1c0]
push 5
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push edx
call fcn.0043a920
add esp, 4
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Cpu_clock
mov byte [esp + 0x1f0], 0xe
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0xa
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
cmp byte [esp + 0x1c4], 0
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x24], ecx
je 0x4333ab
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x59b254
call fcn.00402a30
mov esi, dword [esp + 0x50]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1ec], 0xf
mov dword [esp + 0x28], esp
mov ebx, esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4331de
cmp eax, dword [esi]
jne 0x4331de
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x433214
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
mov byte [esp + 0x1ec], 0xa
call fcn.0042a690
add esp, 0xc
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x59b250
mov ebx, eax
call fcn.00402a30
mov esi, dword [esp + 0x50]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1ec], 0x10
mov dword [esp + 0x28], esp
mov dword [esp + 0x20], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x43327a
cmp eax, dword [esi]
jne 0x43327a
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4332b0
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x20]
add edi, 0x10
mov dword [edx], edi
mov byte [esp + 0x1ec], 0xa
call fcn.0042a690
add esp, 0xc
test ebx, ebx
jl 0x4333ab
cmp eax, ebx
jle 0x4333ab
mov esi, dword [esp + 0x48]
push eax
push ebx
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov ebx, esp
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x43330d
cmp eax, dword [esi]
jne 0x43330d
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x433343
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
call fcn.004300f0
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + 0x452c]
add esp, 0xc
cmp eax, ecx
jg 0x433360
mov eax, ecx
push 5
push ecx
mov dword [edx + 0x452c], eax
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push edx
call fcn.0043a920
add esp, 4
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x59b240
mov byte [esp + 0x1f0], 0x11
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0xa
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x14], 0
mov byte [esp + 0x1e0], 9
lea ecx, [esp + 0x50]
jne 0x4333ed
call fcn.00516b0e
mov eax, dword [esp + 0x3c]
add dword [esp + 0x18], 0x10c
add eax, 1
cmp eax, dword [esp + 0xb0]
mov dword [esp + 0x3c], eax
jl 0x432e90
jmp 0x4333f2
jmp fcn.0050b21f
call fcn.00516b0e
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
cmp dword [ebx + 0x14], 0
je 0x4334ef
fild dword [esp + 0x24]
mov dword [ebx + 0x34], 3
fld qword [0x59b238]
mov ecx, dword [esi + 0x452c]
push 5
fmul st(1)
mov dword [esp + 0x1c], ecx
fst qword [esp + 0x40]
fxch st(1)
fmul qword [0x59b230]
fstp qword [esp + 0x28]
call fcn.00542230
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push edx
call fcn.0043a920
add esp, 4
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Cpu_clock_min
mov byte [esp + 0x1f0], 0x12
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 9
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
fld qword [esp + 0x24]
push 5
call fcn.00542230
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
push ecx
call fcn.0043a920
add esp, 4
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Cpu_clock_max
mov byte [esp + 0x1f0], 0x13
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 9
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
fild dword [esp + 0x18]
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 1
jne 0x4334df
mov eax, 1
jmp 0x4334e1
xor eax, eax
test eax, eax
mov dword [ebx + 0x18], eax
je 0x4334ef
mov dword [ebx + 0x34], 1
mov esi, dword [esp + 0x38]
push ecx
mov dword [ebx + 0x21c0], 6
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x14], esp
mov dword [esp + 0x28], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x43352d
cmp eax, dword [esi]
jne 0x43352d
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x433564
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x433546
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x28]
add edi, 0x10
mov dword [edx], edi
call fcn.00431de0
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi - 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x14], esp
mov dword [esp + 0x1c], esp
call edx
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4335a9
cmp eax, dword [esi]
jne 0x4335a9
mov edi, esi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4335e0
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x4335c2
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x1c]
add edi, 0x10
mov dword [edx], edi
call fcn.00431cf0
mov esi, eax
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], esi
call fcn.0042fb00
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x98]
push ecx
mov byte [esp + 0x1e8], 0x14
call fcn.00430790
add esp, 8
cmp dword [esp + 0x24], 0
jne 0x43362c
test esi, esi
jne 0x43362c
xor eax, eax
jmp 0x433631
mov eax, 1
mov edx, dword [esp + 0x54]
mov dword [ebx + 0x234c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edx
cmp dword [esp + 0x24], 0
jne 0x433654
test esi, esi
je 0x4337be
cmp eax, dword [esp + 0x58]
jge 0x4337be
test eax, eax
jl 0x4333e8
mov esi, dword [esp + 0x18]
mov ecx, 0x43
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
push ecx
lea eax, [esp + 0xc0]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00402a30
mov esi, dword [esp + 0x3c]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1e8], 0x15
mov dword [esp + 0x24], esp
mov dword [esp + 0x3c], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4336c8
cmp eax, dword [esi]
jne 0x4336c8
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4336fe
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x433541
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x3c]
add edi, 0x10
mov dword [edx], edi
mov byte [esp + 0x1e8], 0x14
call fcn.00427470
movzx eax, al
add esp, 8
or dword [ebx + 0x1c], eax
jne 0x433739
add dword [esp + 0x3c], 1
add dword [esp + 0x18], 0x10c
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
jmp 0x433645
cmp byte [esp + 0x1bd], 0
jne 0x43374f
mov dword [ebx + 0x21c0], 1
jmp 0x4337be
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5968c8
mov dword [ebx + 0x21c0], 5
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Info
mov byte [esp + 0x1ec], 0x16
call fcn.00402a30
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xbf
push ecx
mov byte [esp + 0x1f8], 0x17
call fcn.00426ad0
add esp, 8
push 8
mov byte [esp + 0x1f4], 0x14
call fcn.0043f9e0
add esp, 0x14
cmp eax, 7
jne 0x4337be
call fcn.00429cf0
mov esi, dword [esp + 0x38]
push 5
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x18], esp
mov dword [esp + 0x2c], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4337f4
cmp eax, dword [esi]
jne 0x4337f4
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x43382b
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x43380d
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x2c]
add edi, 0x10
mov dword [edx], edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.GraphCard_ID
mov byte [esp + 0x1f0], 0x18
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0x14
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
mov esi, dword [esp + 0x4c]
lea eax, [esi + 0xbc0]
push eax
lea ecx, [esp + 0x34]
call fcn.00402a30
push 5
push ecx
lea eax, [esi + 0x9c0]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
mov byte [esp + 0x1ec], 0x19
mov dword [esp + 0x24], eax
call fcn.00402a30
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.GraphCard_Driver_Version
mov byte [esp + 0x1f0], 0x1a
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0x19
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
mov esi, dword [esp + 0x30]
push 5
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x18], esp
mov dword [esp + 0x2c], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x433905
cmp eax, dword [esi]
jne 0x433905
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x43393c
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x43391e
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x2c]
add edi, 0x10
mov dword [edx], edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.GraphCard_Driver_Manf
mov byte [esp + 0x1f0], 0x1b
call fcn.00402a30
lea ecx, [esp + 0x70]
mov byte [esp + 0x1ec], 0x19
call fcn.0043bcd0
lea ecx, [esp + 0x64]
call fcn.0043a600
mov eax, dword [esp + 0x30]
cmp dword [eax - 0xc], 0
jg 0x433a40
mov edx, dword [esp + 0x38]
add eax, 0xfffffff0
lea esi, [edx - 0x10]
cmp esi, eax
mov dword [esp + 0x24], eax
je 0x433a40
cmp dword [eax + 0xc], 0
jl 0x433a32
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x433a32
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4339d1
cmp eax, dword [esi]
jne 0x4339d1
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x433a08
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x4339ea
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov eax, dword [esp + 0x24]
add eax, 0xc
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x433a29
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0x10
mov dword [esp + 0x30], edi
jmp 0x433a40
mov eax, dword [edx - 0xc]
push eax
push edx
lea ecx, [esp + 0x38]
call fcn.00402290
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.NVidia
call fcn.00402a30
mov esi, dword [esp + 0x34]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1e8], 0x1c
mov dword [esp + 0x24], esp
mov dword [esp + 0x2c], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x433a8d
cmp eax, dword [esi]
jne 0x433a8d
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x433ac4
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x433aa6
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x2c]
add edi, 0x10
mov dword [edx], edi
mov byte [esp + 0x1e8], 0x19
call fcn.00427470
add esp, 8
test al, al
je 0x433afa
cmp dword [esp + 0x20], 0
mov eax, 0x249b
je 0x433af2
mov eax, 0x2751
push 1
push eax
jmp 0x433c44
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.Radeon
call fcn.00402a30
mov esi, dword [esp + 0x34]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1e8], 0x1d
mov dword [esp + 0x24], esp
mov dword [esp + 0x28], esp
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x433b47
cmp eax, dword [esi]
jne 0x433b47
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x433b7e
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x433b60
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x28]
add edi, 0x10
mov dword [edx], edi
mov byte [esp + 0x1e8], 0x19
call fcn.00427470
add esp, 8
test al, al
jne 0x433c40
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.ATI_
call fcn.00402a30
mov esi, dword [esp + 0x34]
push ecx
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1e8], 0x1e
mov dword [esp + 0x24], esp
mov dword [esp + 0x28], esp
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x433bec
cmp eax, dword [esi]
jne 0x433bec
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x433c23
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x433c05
jmp fcn.00401200
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
add eax, 1
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0053fac1
add esp, 0x10
mov edx, dword [esp + 0x28]
add edi, 0x10
mov dword [edx], edi
mov byte [esp + 0x1e8], 0x19
call fcn.00427470
add esp, 8
test al, al
je 0x433c6f
push 0
push 0x48
mov eax, dword [esp + 0x20]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00402a30
call fcn.00432570
add esp, 0xc
test eax, eax
je 0x433c6f
mov eax, 1
mov dword [ebx + 0x21c4], eax
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x1e0], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x433c97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x50]
call fcn.0042fb90
lea ecx, [esp + 0xa8]
call fcn.0042fcb0
lea ecx, [esp + 0x7c]
call fcn.0042fc00
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x1e0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x433cdd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x1e0], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x433d05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x1e0], 0xffffffff
call fcn.00516b0e
mov ecx, dword [esp + 0x1d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c0]
xor ecx, esp
call fcn.0053fab2
mov esp, ebp
pop ebp
ret