Function at 0x454d70
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5efdc3
mov eax, dword fs:[0]
push eax
sub esp, 0xb00
mov eax, dword [0x677010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x324], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x310], 0
lea ecx, [ebp - 0x300]
call fcn.00407a4a
mov dword [ebp - 4], 0
mov byte [ebp - 0x304], 0
push str.srl::SetupLib::GetGpuInfo
lea ecx, [ebp - 0x300]
call fcn.00414ef0
mov dword [ebp - 4], 1
call fcn.0041db40
cmp dword [eax + 4], 4
jl 0x454e03
push ecx
lea ecx, [ebp - 0x304]
call fcn.00412cf0
cmp byte [esi + 0x1c], 0
je 0x456da0
mov byte [ebp - 4], 2
mov dword [ebp - 0x320], 0
lea eax, [ebp - 0x320]
push eax
push 0x601e50
mov ecx, esi
call fcn.0045a1f0
test al, al
je 0x456dd2
xor ecx, ecx
mov dword [ebp - 0x328], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x2d0], xmm0
movq qword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2d0], 0x1c
mov byte [ebp - 0x311], cl
mov edi, dword [ebp - 0x320]
movsd xmm0, qword [0x644330]
movsd qword [ebp - 0x344], xmm0
nop dword [eax]
lea eax, [ebp - 0x2d0]
push eax
push ecx
push edi
mov eax, dword [esi + 0x28]
call eax
test eax, eax
je 0x456d93
cmp byte [ebp - 0x311], 0
jne 0x456d93
inc dword [ebp - 0x328]
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x32c]
push eax
push edi
lea eax, [ebp - 0x2d0]
push eax
mov ecx, esi
call fcn.004594e0
test al, al
jne 0x454ed9
mov byte [ebp - 0x311], 1
mov ecx, dword [ebp - 0x328]
jmp 0x454e80
mov edi, dword [ebp - 0x32c]
mov dword [ebp - 0x374], edi
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x31c]
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x360], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x450]
call fcn.00424220
mov byte [ebp - 4], 5
call fcn.0040cc25
mov ecx, eax
test ecx, ecx
jne 0x454f45
push 0x80004005
call fcn.004022e2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454f5a
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x454f5c
call edx
add eax, 0x10
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x308]
push eax
push 0
push dword [ebp - 0x320]
lea eax, [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00459a50
test al, al
je 0x454f9a
mov eax, dword [ebp - 0x308]
cmp dword [eax - 0xc], 0
jne 0x454fd2
lea eax, [ebp - 0x308]
push eax
push str.DeviceDesc
push 0
push edi
call fcn.004596a0
test al, al
je 0x454fbe
mov eax, dword [ebp - 0x308]
cmp dword [eax - 0xc], 0
jne 0x454fd2
lea eax, [ebp - 0x308]
push eax
push str.DeviceDesc
push 0
push esi
call fcn.004596a0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x44c]
call fcn.00410610
lea eax, [ebp - 0x308]
push eax
push 0x64221c
push 0
push esi
call fcn.004596a0
test al, al
je 0x455008
mov eax, dword [ebp - 0x308]
cmp dword [eax - 0xc], 0
jne 0x45501c
lea eax, [ebp - 0x308]
push eax
push str.DriverVersion
push 0
push esi
call fcn.004596a0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x424]
call fcn.00410610
lea eax, [ebp - 0x308]
push eax
push str.ChipType
push str.info
push esi
call fcn.004596a0
test al, al
je 0x455055
mov eax, dword [ebp - 0x308]
cmp dword [eax - 0xc], 0
jne 0x455069
lea eax, [ebp - 0x308]
push eax
push str.HardwareInformation.ChipType
push 0
push esi
call fcn.004596a0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x444]
call fcn.00410610
lea eax, [ebp - 0x308]
push eax
push str.DACType
push str.info
push esi
call fcn.004596a0
test al, al
jne 0x4550aa
lea eax, [ebp - 0x308]
push eax
push str.HardwareInformation.DacType
push 0
push esi
call fcn.004596a0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x434]
call fcn.00410610
lea eax, [ebp - 0x308]
push eax
push str.DriverDesc
push 0
push esi
call fcn.004596a0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00410610
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x4556cb
call fcn.0041db40
mov edi, eax
mov dword [ebp - 0x30c], edi
sub esp, 8
lea ecx, [ebp - 0x84c]
call fcn.00415be0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b4]
call fcn.00407a4a
mov byte [ebp - 4], 8
push str.TRACE
lea ecx, [ebp - 0x2b4]
call fcn.00414ef0
lea ecx, [ebp - 0x104]
call fcn.00407a4a
mov byte [ebp - 4], 9
xor esi, esi
mov dword [ebp - 0x330], esi
cmp esi, dword [edi + 0xc]
jge 0x4551d1
cmp esi, 0xa
jge 0x4551d1
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x4551aa
lea edi, [ecx + 2]
mov dword [ebp - 0xf4], edi
lea esi, [ebp - 0x104]
cmp edx, 8
cmovae esi, dword [ebp - 0x104]
push 4
push 0x63e4c4
lea eax, [esi + ecx*2]
push eax
call fcn.005bfc60
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
mov esi, dword [ebp - 0x330]
mov edi, dword [ebp - 0x30c]
inc esi
jmp 0x455140
mov byte [ebp - 0x350], 0
push 2
push 0x63e4c4
push dword [ebp - 0x350]
push 2
lea ecx, [ebp - 0x104]
call fcn.0041ea00
inc esi
jmp 0x455140
lea ecx, [ebp - 0x14c]
call fcn.00407a4a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8c]
call fcn.00407a4a
mov byte [ebp - 4], 0xb
call fcn.005c8926
push 0xb
lea eax, [ebp - 0x2c]
push eax
call fcn.005c8a22
add esp, 8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00414ef0
sub esp, 8
lea ecx, [ebp - 0x8fc]
call fcn.00415be0
mov byte [ebp - 4], 0xc
cmp dword [edi + 0x10], 0
jne 0x455241
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x10], eax
push 0
lea ecx, [ebp - 0x8ec]
call fcn.004101b0
jmp 0x455271
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x10]
movd xmm0, eax
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x644390]
divsd xmm1, qword [ebp - 0x344]
lea ecx, [ebp - 0x8ec]
call fcn.0041e250
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x8e4]
call fcn.00416830
or dword [ebp - 0x310], 1
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x78]
cmp eax, 8
jb 0x4552e4
inc eax
mov ecx, dword [ebp - 0x8c]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x4552db
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
xor eax, eax
mov word [ebp - 0x8c], ax
movups xmm0, xmmword [ebp - 0x17c]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [ebp - 0x16c]
movq qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], 7
mov word [ebp - 0x17c], ax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x17c]
call fcn.004075ab
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x8fc]
call fcn.00415840
lea eax, [ebp - 0x104]
cmp dword [ebp - 0xf0], 8
cmovae eax, dword [ebp - 0x104]
mov dword [ebp - 0x30c], eax
push 0x2040
lea eax, [ebp - 0x47c]
push eax
call fcn.005be8d1
mov ecx, dword [ebp - 0x83c]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x83c]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x13c]
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x14c]
cmp dword [ebp - 0x138], 8
cmovae edx, dword [ebp - 0x14c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x83c]
call fcn.004137f0
mov esi, eax
push 0x10
lea eax, [ebp - 0x474]
push eax
call fcn.005be8d1
add esp, 0xc
mov edi, eax
mov edx, 0x63e114
mov ecx, esi
call fcn.00413320
mov esi, eax
test esi, esi
jne 0x4553f0
xor ecx, ecx
jmp 0x4553f7
call fcn.005c3f14
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x57c]
push eax
call fcn.005be8ff
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x4fc]
push eax
call fcn.005be8e5
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov ecx, dword [ebp - 0x7c]
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
cmovae edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xb
push ecx
mov ecx, eax
call fcn.004137f0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x56c]
push eax
call fcn.005be8ff
mov esi, eax
mov edx, 0x63e114
mov ecx, edi
call fcn.00413320
mov edx, esi
mov ecx, eax
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x4cc]
push eax
call fcn.005be8d1
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x2a4]
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x2b4]
cmp dword [ebp - 0x2a0], 8
cmovae edx, dword [ebp - 0x2b4]
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.004137f0
add esp, 4
mov edx, 0x63e504
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x30c]
mov ecx, eax
call fcn.00413320
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6835d0]
cmp eax, dword [ecx + 4]
jle 0x455555
push 0x6835d0
call fcn.005bcd79
add esp, 4
cmp dword [0x6835d0], 0xffffffff
jne 0x455555
mov ecx, 0x6835d4
call fcn.00407a4a
push 0x5ff870
call fcn.005bc9d9
push 0x6835d0
call fcn.005bcd3a
add esp, 8
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x834]
call fcn.00416830
or dword [ebp - 0x310], 2
mov byte [ebp - 4], 0x11
mov eax, dword [0x6835e8]
cmp eax, 8
jb 0x4555ca
inc eax
mov ecx, dword [0x6835d4]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x4555c1
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [0x6835e4], 0
mov dword [0x6835e8], 7
xor eax, eax
mov word [0x6835d4], ax
movups xmm0, xmmword [ebp - 0x164]
movups xmmword [0x6835d4], xmm0
movq xmm0, qword [ebp - 0x154]
movq qword [0x6835e4], xmm0
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], 7
mov word [ebp - 0x164], ax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x164]
call fcn.004075ab
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8c]
call fcn.004075ab
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x14c]
call fcn.004075ab
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x104]
call fcn.004075ab
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b4]
call fcn.004075ab
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x84c]
call fcn.00415840
call fcn.0041db40
mov ecx, dword [0x6835e4]
mov byte [ebp - 4], 0x12
mov edx, 0x6835d4
cmp dword [0x6835e8], 8
cmovae edx, dword [0x6835d4]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call fcn.004137f0
mov edx, str.DriverDesc:
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x308]
mov ecx, eax
call fcn.00413320
push eax
call fcn.00414850
add esp, 8
mov esi, dword [ebp - 0x31c]
lea eax, [ebp - 0x308]
push eax
push str.VideoMemory
push str.info
push esi
call fcn.004596a0
test al, al
je 0x45576e
push dword [ebp - 0x308]
lea ecx, [ebp - 0x2e8]
call fcn.004075e1
mov byte [ebp - 4], 0x13
call fcn.005c3fdd
mov edi, eax
lea esi, [ebp - 0x2e8]
cmp dword [ebp - 0x2d4], 8
cmovae esi, dword [ebp - 0x2e8]
mov dword [edi], 0
push 0xa
lea eax, [ebp - 0x34c]
push eax
push esi
call fcn.005c8eff
add esp, 0xc
cmp esi, dword [ebp - 0x34c]
jne 0x455744
push str.invalid_stoull_argument
call fcn.005bdc94
cmp dword [edi], 0x22
jne 0x455753
push str.stoull_argument_out_of_range
call fcn.005bdcd4
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2e8]
call fcn.004075ab
lea eax, [ebp - 0x308]
push eax
push 1
push dword [ebp - 0x320]
lea eax, [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00459a50
test al, al
je 0x4557a3
mov esi, dword [ebp - 0x308]
cmp dword [esi - 0xc], 5
jge 0x4563b5
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x455d86
call fcn.0041db40
mov edi, eax
mov dword [ebp - 0x30c], edi
sub esp, 8
lea ecx, [ebp - 0x63c]
call fcn.00415be0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x254]
call fcn.00407a4a
mov byte [ebp - 4], 0x15
push str.TRACE
lea ecx, [ebp - 0x254]
call fcn.00414ef0
lea ecx, [ebp - 0xec]
call fcn.00407a4a
mov byte [ebp - 4], 0x16
xor esi, esi
mov dword [ebp - 0x33c], esi
cmp esi, dword [edi + 0xc]
jge 0x455892
cmp esi, 0xa
jge 0x455892
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x45586b
lea edi, [ecx + 2]
mov dword [ebp - 0xdc], edi
lea esi, [ebp - 0xec]
cmp edx, 8
cmovae esi, dword [ebp - 0xec]
push 4
push 0x63e4c4
lea eax, [esi + ecx*2]
push eax
call fcn.005bfc60
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
mov esi, dword [ebp - 0x33c]
mov edi, dword [ebp - 0x30c]
inc esi
jmp 0x455801
mov byte [ebp - 0x348], 0
push 2
push 0x63e4c4
push dword [ebp - 0x348]
push 2
lea ecx, [ebp - 0xec]
call fcn.0041ea00
inc esi
jmp 0x455801
lea ecx, [ebp - 0x26c]
call fcn.00407a4a
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xa4]
call fcn.00407a4a
mov byte [ebp - 4], 0x18
call fcn.005c8926
push 0xb
lea eax, [ebp - 0x44]
push eax
call fcn.005c8a22
add esp, 8
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x26c]
call fcn.00414ef0
sub esp, 8
lea ecx, [ebp - 0x9ac]
call fcn.00415be0
mov byte [ebp - 4], 0x19
cmp dword [edi + 0x10], 0
jne 0x455902
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x10], eax
push 0
lea ecx, [ebp - 0x99c]
call fcn.004101b0
jmp 0x455932
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x10]
movd xmm0, eax
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x644390]
divsd xmm1, qword [ebp - 0x344]
lea ecx, [ebp - 0x99c]
call fcn.0041e250
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x994]
call fcn.00416830
or dword [ebp - 0x310], 4
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x90]
cmp eax, 8
jb 0x4559a8
inc eax
mov ecx, dword [ebp - 0xa4]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x45599f
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
xor eax, eax
mov word [ebp - 0xa4], ax
movups xmm0, xmmword [ebp - 0x1dc]
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [ebp - 0x1cc]
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], 7
mov word [ebp - 0x1dc], ax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1dc]
call fcn.004075ab
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x9ac]
call fcn.00415840
lea eax, [ebp - 0xec]
cmp dword [ebp - 0xd8], 8
cmovae eax, dword [ebp - 0xec]
mov dword [ebp - 0x30c], eax
push 0x2040
lea eax, [ebp - 0x4c4]
push eax
call fcn.005be8d1
mov ecx, dword [ebp - 0x62c]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x62c]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x25c]
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x26c]
cmp dword [ebp - 0x258], 8
cmovae edx, dword [ebp - 0x26c]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x62c]
call fcn.004137f0
mov esi, eax
push 0x10
lea eax, [ebp - 0x4bc]
push eax
call fcn.005be8d1
add esp, 0xc
mov edi, eax
mov edx, 0x63e114
mov ecx, esi
call fcn.00413320
mov esi, eax
test esi, esi
jne 0x455ab8
xor ecx, ecx
jmp 0x455abf
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x54c]
push eax
call fcn.005be8ff
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x53c]
push eax
call fcn.005be8e5
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov ecx, dword [ebp - 0x94]
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0xa4]
cmp dword [ebp - 0x90], 8
cmovae edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x18
push ecx
mov ecx, eax
call fcn.004137f0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x52c]
push eax
call fcn.005be8ff
mov esi, eax
mov edx, 0x63e114
mov ecx, edi
call fcn.00413320
mov edx, esi
mov ecx, eax
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x4b4]
push eax
call fcn.005be8d1
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x244]
mov byte [ebp - 4], 0x1d
lea edx, [ebp - 0x254]
cmp dword [ebp - 0x240], 8
cmovae edx, dword [ebp - 0x254]
mov byte [ebp - 4], 0x18
push eax
mov ecx, esi
call fcn.004137f0
add esp, 4
mov edx, 0x63e504
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x30c]
mov ecx, eax
call fcn.00413320
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6835d0]
cmp eax, dword [ecx + 4]
jle 0x455c23
push 0x6835d0
call fcn.005bcd79
add esp, 4
cmp dword [0x6835d0], 0xffffffff
jne 0x455c23
mov ecx, 0x6835d4
call fcn.00407a4a
push 0x5ff870
call fcn.005bc9d9
push 0x6835d0
call fcn.005bcd3a
add esp, 8
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x624]
call fcn.00416830
or dword [ebp - 0x310], 8
mov byte [ebp - 4], 0x1e
mov eax, dword [0x6835e8]
cmp eax, 8
jb 0x455c98
inc eax
mov ecx, dword [0x6835d4]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x455c8f
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [0x6835e4], 0
mov dword [0x6835e8], 7
xor eax, eax
mov word [0x6835d4], ax
movups xmm0, xmmword [ebp - 0x284]
movups xmmword [0x6835d4], xmm0
movq xmm0, qword [ebp - 0x274]
movq qword [0x6835e4], xmm0
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], 7
mov word [ebp - 0x284], ax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x284]
call fcn.004075ab
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xa4]
call fcn.004075ab
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x26c]
call fcn.004075ab
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xec]
call fcn.004075ab
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x254]
call fcn.004075ab
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x63c]
call fcn.00415840
call fcn.0041db40
mov ecx, dword [0x6835e4]
mov byte [ebp - 4], 0x1f
mov edx, 0x6835d4
cmp dword [0x6835e8], 8
cmovae edx, dword [0x6835d4]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call fcn.004137f0
mov edx, str.oops1
mov ecx, eax
call fcn.00411d70
push eax
call fcn.00414850
add esp, 8
lea eax, [ebp - 0x308]
push eax
push str.MatchingDeviceID
push 0
push dword [ebp - 0x32c]
call fcn.004596a0
test al, al
je 0x455db3
mov esi, dword [ebp - 0x308]
cmp dword [esi - 0xc], 0
jne 0x4563b5
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x456396
call fcn.0041db40
mov edi, eax
mov dword [ebp - 0x30c], edi
sub esp, 8
lea ecx, [ebp - 0x6ec]
call fcn.00415be0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x1ac]
call fcn.00407a4a
mov byte [ebp - 4], 0x21
push str.TRACE
lea ecx, [ebp - 0x1ac]
call fcn.00414ef0
lea ecx, [ebp - 0x134]
call fcn.00407a4a
mov byte [ebp - 4], 0x22
xor esi, esi
mov dword [ebp - 0x338], esi
cmp esi, dword [edi + 0xc]
jge 0x455ea2
cmp esi, 0xa
jge 0x455ea2
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x120]
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x455e7b
lea edi, [ecx + 2]
mov dword [ebp - 0x124], edi
lea esi, [ebp - 0x134]
cmp edx, 8
cmovae esi, dword [ebp - 0x134]
push 4
push 0x63e4c4
lea eax, [esi + ecx*2]
push eax
call fcn.005bfc60
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
mov esi, dword [ebp - 0x338]
mov edi, dword [ebp - 0x30c]
inc esi
jmp 0x455e11
mov byte [ebp - 0x35c], 0
push 2
push 0x63e4c4
push dword [ebp - 0x35c]
push 2
lea ecx, [ebp - 0x134]
call fcn.0041ea00
inc esi
jmp 0x455e11
lea ecx, [ebp - 0x194]
call fcn.00407a4a
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xbc]
call fcn.00407a4a
mov byte [ebp - 4], 0x24
call fcn.005c8926
push 0xb
lea eax, [ebp - 0x5c]
push eax
call fcn.005c8a22
add esp, 8
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x194]
call fcn.00414ef0
sub esp, 8
lea ecx, [ebp - 0xa5c]
call fcn.00415be0
mov byte [ebp - 4], 0x25
cmp dword [edi + 0x10], 0
jne 0x455f12
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x10], eax
push 0
lea ecx, [ebp - 0xa4c]
call fcn.004101b0
jmp 0x455f42
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x10]
movd xmm0, eax
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x644390]
divsd xmm1, qword [ebp - 0x344]
lea ecx, [ebp - 0xa4c]
call fcn.0041e250
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0xa44]
call fcn.00416830
or dword [ebp - 0x310], 0x10
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0xa8]
cmp eax, 8
jb 0x455fb8
inc eax
mov ecx, dword [ebp - 0xbc]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x455faf
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
xor eax, eax
mov word [ebp - 0xbc], ax
movups xmm0, xmmword [ebp - 0x23c]
movups xmmword [ebp - 0xbc], xmm0
movq xmm0, qword [ebp - 0x22c]
movq qword [ebp - 0xac], xmm0
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x23c]
call fcn.004075ab
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xa5c]
call fcn.00415840
lea eax, [ebp - 0x134]
cmp dword [ebp - 0x120], 8
cmovae eax, dword [ebp - 0x134]
mov dword [ebp - 0x30c], eax
push 0x2040
lea eax, [ebp - 0x4ac]
push eax
call fcn.005be8d1
mov ecx, dword [ebp - 0x6dc]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x6dc]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x184]
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x194]
cmp dword [ebp - 0x180], 8
cmovae edx, dword [ebp - 0x194]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x6dc]
call fcn.004137f0
mov esi, eax
push 0x10
lea eax, [ebp - 0x4a4]
push eax
call fcn.005be8d1
add esp, 0xc
mov edi, eax
mov edx, 0x63e114
mov ecx, esi
call fcn.00413320
mov esi, eax
test esi, esi
jne 0x4560c8
xor ecx, ecx
jmp 0x4560cf
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x51c]
push eax
call fcn.005be8ff
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x50c]
push eax
call fcn.005be8e5
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e9d0
mov ecx, dword [ebp - 0xac]
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0xbc]
cmp dword [ebp - 0xa8], 8
cmovae edx, dword [ebp - 0xbc]
mov byte [ebp - 4], 0x24
push ecx
mov ecx, eax
call fcn.004137f0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x58c]
push eax
call fcn.005be8ff
mov esi, eax
mov edx, 0x63e114
mov ecx, edi
call fcn.00413320
mov edx, esi
mov ecx, eax
call fcn.0041e9d0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x49c]
push eax
call fcn.005be8d1
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x19c]
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x1ac]
cmp dword [ebp - 0x198], 8
cmovae edx, dword [ebp - 0x1ac]
mov byte [ebp - 4], 0x24
push eax
mov ecx, esi
call fcn.004137f0
add esp, 4
mov edx, 0x63e504
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x30c]
mov ecx, eax
call fcn.00413320
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6835d0]
cmp eax, dword [ecx + 4]
jle 0x456233
push 0x6835d0
call fcn.005bcd79
add esp, 4
cmp dword [0x6835d0], 0xffffffff
jne 0x456233
mov ecx, 0x6835d4
call fcn.00407a4a
push 0x5ff870
call fcn.005bc9d9
push 0x6835d0
call fcn.005bcd3a
add esp, 8
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.00416830
or dword [ebp - 0x310], 0x20
mov byte [ebp - 4], 0x2a
mov eax, dword [0x6835e8]
cmp eax, 8
jb 0x4562a8
inc eax
mov ecx, dword [0x6835d4]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x45629f
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [0x6835e4], 0
mov dword [0x6835e8], 7
xor eax, eax
mov word [0x6835d4], ax
movups xmm0, xmmword [ebp - 0x224]
movups xmmword [0x6835d4], xmm0
movq xmm0, qword [ebp - 0x214]
movq qword [0x6835e4], xmm0
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], 7
mov word [ebp - 0x224], ax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x224]
call fcn.004075ab
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xbc]
call fcn.004075ab
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x194]
call fcn.004075ab
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x134]
call fcn.004075ab
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x1ac]
call fcn.004075ab
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x6ec]
call fcn.00415840
call fcn.0041db40
mov ecx, dword [0x6835e4]
mov byte [ebp - 4], 0x2b
mov edx, 0x6835d4
cmp dword [0x6835e8], 8
cmovae edx, dword [0x6835d4]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call fcn.004137f0
mov edx, str.oops2
mov ecx, eax
call fcn.00411d70
push eax
call fcn.00414850
add esp, 8
lea eax, [ebp - 0x308]
push eax
push str.MatchingDeviceID
push 0
push dword [ebp - 0x31c]
call fcn.004596a0
mov esi, dword [ebp - 0x308]
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x456991
call fcn.0041db40
mov dword [ebp - 0x30c], eax
sub esp, 8
lea ecx, [ebp - 0x79c]
call fcn.00415be0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x20c]
call fcn.00407a4a
mov byte [ebp - 4], 0x2d
push str.TRACE
lea ecx, [ebp - 0x20c]
call fcn.00414ef0
lea ecx, [ebp - 0x11c]
call fcn.00407a4a
mov byte [ebp - 4], 0x2e
xor edi, edi
mov dword [ebp - 0x334], edi
mov eax, dword [ebp - 0x30c]
cmp edi, dword [eax + 0xc]
jge 0x4564b3
cmp edi, 0xa
jge 0x4564b3
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x108]
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x45648c
lea eax, [ecx + 2]
mov dword [ebp - 0x10c], eax
lea edi, [ebp - 0x11c]
cmp edx, 8
cmovae edi, dword [ebp - 0x11c]
push 4
push 0x63e4c4
lea eax, [edi + ecx*2]
push eax
call fcn.005bfc60
add esp, 0xc
xor ecx, ecx
mov eax, dword [ebp - 0x318]
mov word [edi + eax*2 + 4], cx
mov edi, dword [ebp - 0x334]
inc edi
jmp 0x456411
mov byte [ebp - 0x358], 0
push 2
push 0x63e4c4
push dword [ebp - 0x358]
push 2
lea ecx, [ebp - 0x11c]
call fcn.0041ea00
inc edi
jmp 0x456411
lea ecx, [ebp - 0x1f4]
call fcn.00407a4a
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xd4]
call fcn.00407a4a
mov byte [ebp - 4], 0x30
call fcn.005c8926
push 0xb
lea eax, [ebp - 0x74]
push eax
call fcn.005c8a22
add esp, 8
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x1f4]
call fcn.00414ef0
sub esp, 8
lea ecx, [ebp - 0xb0c]
call fcn.00415be0
mov byte [ebp - 4], 0x31
mov edi, dword [ebp - 0x30c]
cmp dword [edi + 0x10], 0
jne 0x456529
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x10], eax
push 0
lea ecx, [ebp - 0xafc]
call fcn.004101b0
jmp 0x456559
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x10]
movd xmm0, eax
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x644390]
divsd xmm1, qword [ebp - 0x344]
lea ecx, [ebp - 0xafc]
call fcn.0041e250
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0xaf4]
call fcn.00416830
or dword [ebp - 0x310], 0x40
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xc0]
cmp eax, 8
jb 0x4565cf
inc eax
mov ecx, dword [ebp - 0xd4]
cmp eax, 0x7fffffff
ja 0x4553eb
add eax, eax
cmp eax, 0x1000
jb 0x4565c6
test cl, 0x1f
jne 0x4553eb
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4553eb
sub ecx, eax
cmp ecx, 4
jb 0x4553eb
cmp ecx, 0x23
ja 0x4553eb
mov ecx, eax
push ecx
call fcn.00476ee1
add esp, 4
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
xor eax, eax
mov word [ebp - 0xd4], ax
movups xmm0, xmmword [ebp - 0x29c]
movups xmmword [ebp - 0xd4], xmm0
movq xmm0, qword [ebp - 0x28c]
movq qword [ebp - 0xc4], xmm0
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], 7
mov word [ebp - 0x29c], ax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x29c]
call fcn.004075ab
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xb0c]
call fcn.00415840
lea eax, [ebp - 0x11c]
cmp dword [ebp - 0x108], 8
cmovae eax, dword [ebp - 0x11c]
mov dword [ebp - 0x30c], eax
push 0x2040
lea eax, [ebp - 0x494]
push eax
call fcn.005be8d1
mov ecx, dword [ebp - 0x78c]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x78c]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x1f4]
cmp dword [ebp - 0x1e0], 8
cmovae edx, dword [ebp - 0x1f4]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x78c]
call fcn.004137f0
mov edi, eax
push 0x10
lea eax, [ebp - 0x48c]
push eax
call fcn.005be8d1
add esp, 0xc
mov dword [ebp - 0x318], eax
mov edx, 0x63e114
mov ecx, edi
call fcn.00413320
mov edi, eax
test edi, edi
jne 0x4566e3
xor ecx, ecx
jmp 0x4566ea
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
mov eax, dword [ebp - 0x318]
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
push 0
push 6
lea eax, [ebp - 0x55c]
push eax
call fcn.005be8ff
mov edx, eax
mov ecx, edi
call fcn.0041e9d0
mov edi, eax
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + edi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x4dc]
push eax
call fcn.005be8e5
add esp, 0x20
mov edx, eax
mov ecx, edi
call fcn.0041e9d0
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 8
cmovae edx, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x30
push ecx
mov ecx, eax
call fcn.004137f0
mov dword [ebp - 0x318], eax
push 0
push 5
lea eax, [ebp - 0x4ec]
push eax
call fcn.005be8ff
mov edi, eax
mov edx, 0x63e114
mov ecx, dword [ebp - 0x318]
call fcn.00413320
mov edx, edi
mov ecx, eax
call fcn.0041e9d0
mov edi, eax
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + edi + 0x40], ax
push 0x40
lea eax, [ebp - 0x484]
push eax
call fcn.005be8d1
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x1fc]
mov byte [ebp - 4], 0x35
lea edx, [ebp - 0x20c]
cmp dword [ebp - 0x1f8], 8
cmovae edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x30
push eax
mov ecx, edi
call fcn.004137f0
add esp, 4
mov edx, 0x63e504
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x30c]
mov ecx, eax
call fcn.00413320
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6835d0]
cmp eax, dword [ecx + 4]
jle 0x45685c
push 0x6835d0
call fcn.005bcd79
add esp, 4
cmp dword [0x6835d0], 0xffffffff
jne 0x45685c
mov ecx, 0x6835d4
call fcn.00407a4a
push 0x5ff870
call fcn.005bc9d9
push 0x6835d0
call fcn.005bcd3a
add esp, 8
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x784]
call fcn.00416830
or dword [ebp - 0x310], 0x80
mov byte [ebp - 4], 0x36
mov eax, dword [0x6835e8]
cmp eax, 8
jb 0x456898
inc eax
push 2
push eax
push dword [0x6835d4]
call fcn.0040626d
add esp, 0xc
mov dword [0x6835e4], 0
mov dword [0x6835e8], 7
xor eax, eax
mov word [0x6835d4], ax
movups xmm0, xmmword [ebp - 0x1c4]
movups xmmword [0x6835d4], xmm0
movq xmm0, qword [ebp - 0x1b4]
movq qword [0x6835e4], xmm0
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], 7
mov word [ebp - 0x1c4], ax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1c4]
call fcn.004075ab
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xd4]
call fcn.004075ab
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1f4]
call fcn.004075ab
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x11c]
call fcn.004075ab
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x20c]
call fcn.004075ab
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x79c]
call fcn.00415840
call fcn.0041db40
mov ecx, dword [0x6835e4]
mov byte [ebp - 4], 0x37
mov edx, 0x6835d4
cmp dword [0x6835e8], 8
cmovae edx, dword [0x6835d4]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call fcn.004137f0
mov edx, str.Got_device_ID:
mov ecx, eax
call fcn.00413320
mov edi, eax
mov edx, esi
mov ecx, edi
call fcn.00413320
push edi
call fcn.00414850
add esp, 8
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x390]
call fcn.0045d280
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x3d4]
call fcn.00410610
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x3c0], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x390]
call fcn.0045d3e0
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x46c]
call fcn.0045d280
mov byte [ebp - 4], 0x39
cmp dword [ebp - 0x464], 0x8086
jne 0x456b68
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x456a7c
push 3
call fcn.0041db40
mov ecx, eax
call fcn.0041dca0
mov esi, eax
call fcn.0041db40
mov ecx, dword [esi + 0x10]
mov byte [ebp - 4], 0x3a
cmp dword [esi + 0x14], 8
jb 0x456a59
mov esi, dword [esi]
mov byte [ebp - 4], 0x39
push ecx
mov edx, esi
mov ecx, eax
call fcn.004137f0
mov edx, str.Is_Intel.
mov ecx, eax
call fcn.00413320
push eax
call fcn.00414850
add esp, 8
lea eax, [ebp - 0x308]
push eax
push str.InfPath
push 0
mov edi, dword [ebp - 0x31c]
push edi
call fcn.004596a0
test al, al
je 0x456bce
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x456aed
push 3
call fcn.0041db40
mov ecx, eax
call fcn.0041dca0
mov esi, eax
call fcn.0041db40
mov edx, esi
mov ecx, eax
call fcn.00413a60
mov edx, str.Inf_Path:
mov ecx, eax
call fcn.00413320
mov esi, dword [ebp - 0x308]
mov edx, esi
mov ecx, eax
call fcn.00413320
push eax
call fcn.00414850
add esp, 4
jmp 0x456af3
mov esi, dword [ebp - 0x308]
push esi
lea eax, [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0045a890
mov byte [ebp - 0x398], al
call fcn.0041db40
cmp dword [eax + 4], 3
jl 0x456b6e
lea ecx, [ebp - 0x39c]
call fcn.00446fa0
mov dword [ebp - 0x318], eax
push 3
call fcn.0041db40
mov ecx, eax
call fcn.0041dca0
mov edi, eax
call fcn.0041db40
mov edx, edi
mov ecx, eax
call fcn.00413a60
mov edx, str.Got_2ID:
mov ecx, eax
call fcn.00413320
mov edx, dword [ebp - 0x318]
mov ecx, eax
call fcn.00413320
push eax
call fcn.00414850
add esp, 4
mov edi, dword [ebp - 0x31c]
lea eax, [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x354]
call fcn.004264b0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x46c]
call fcn.0045d3e0
mov byte [ebp - 4], 5
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x456bd8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x456bd6
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x456bd6
push 0
push dword [ecx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x456bd8
mov esi, dword [ebp - 0x308]
jmp 0x456b6e
call edx
mov byte [ebp - 4], 0x3b
mov byte [ebp - 4], 0x3c
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 4], 0x3d
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x3e
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 4], 0x3f
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x40
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 4], 0x41
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x42
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 4], 0x43
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x44
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 4], 0x45
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x3d8]
call fcn.0045d3e0
mov byte [ebp - 4], 0x46
mov dword [ebp - method.srl::Speed.virtual_0], vtable.srl::Size.0
mov byte [ebp - 4], 0x47
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x48
mov dword [ebp - method.srl::Speed.virtual_0], vtable.srl::Size.0
mov byte [ebp - 4], 0x49
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x4a
mov dword [ebp - method.srl::Speed.virtual_0], vtable.srl::Size.0
mov byte [ebp - 4], 0x4b
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x410]
call fcn.0046de60
lea ecx, [ebp - 0x418]
call fcn.0046de60
lea ecx, [ebp - 0x420]
call fcn.004472a0
lea ecx, [ebp - 0x428]
call fcn.0046de60
lea ecx, [ebp - 0x430]
call fcn.0046de60
lea ecx, [ebp - 0x438]
call fcn.004472a0
lea ecx, [ebp - 0x440]
call fcn.004472a0
lea ecx, [ebp - 0x448]
call fcn.004472a0
lea ecx, [ebp - 0x450]
call fcn.004472a0
mov byte [ebp - 4], 3
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x456d4d
push edi
call esi
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x456d72
push eax
call esi
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0
mov esi, dword [ebp - 0x324]
mov edi, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x328]
jmp 0x454e80
push edi
mov eax, dword [esi + 0x4c]
call eax
mov dword [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.00414900
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005bc745
mov esp, ebp
pop ebp
ret 4
call fcn.0041db40
cmp dword [eax + 4], 2
jl 0x456d99
push 2
call fcn.0041db40
mov ecx, eax
call fcn.0041dca0
mov esi, eax
call fcn.0041db40
mov edx, esi
mov ecx, eax
call fcn.00413a60
mov edx, str.Failed_call_to_GetDeviceSet_for_GetGpuInfo
mov ecx, eax
call fcn.00413320
push eax
call fcn.00414850
add esp, 4
jmp 0x456d99