Function at 0x41e1f0
Capabilities:
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d7999
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x65bfd4]
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
xor ebx, ebx
mov dword [ebp - 0x90], ebx
push 0x629a5c
lea ecx, [ebp - 0x84]
call fcn.00412820
mov dword [ebp - 4], ebx
call fcn.00419a30
cmp dword [eax + 4], 4
jl 0x41e253
push ecx
lea ecx, [ebp - 0x84]
call fcn.00411390
mov byte [ebp - 4], 1
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov byte [ebp - 4], 2
mov eax, dword [0x6665c4]
test eax, eax
jne 0x41e2ae
push 0x50
call fcn.004627a8
add esp, 4
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x41e2a3
mov ecx, eax
call fcn.0044d290
jmp 0x41e2a5
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x6665c4], eax
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
call fcn.0044e430
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e33a
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xbc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e304
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_SetupLib.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x1ac], esi
mov edi, dword [ebp - 0xb8]
nop dword [eax]
cmp esi, edi
je 0x41e36e
push str.From_Setup_Lib:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x1ac], esi
jmp 0x41e350
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x1a8], esi
mov edi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x98]
cmp esi, edi
je 0x41e40d
cmp dword [esi + 0x84], 0
je 0x41e3ff
cmp dword [esi + 0x80], 0
je 0x41e3ff
push esi
cmp dword [ebp - 0x94], eax
je 0x41e3ed
mov ecx, eax
call fcn.00421470
mov eax, dword [ebp - 0x98]
add eax, 0xc0
mov dword [ebp - 0x98], eax
add esi, 0xc0
mov dword [ebp - 0x1a8], esi
jmp 0x41e3a8
push eax
lea ecx, [ebp - 0x9c]
call fcn.004211e0
mov eax, dword [ebp - 0x98]
add esi, 0xc0
mov dword [ebp - 0x1a8], esi
jmp 0x41e3a8
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e48b
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0x9c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e455
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_after_the_filter.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
mov byte [ebp - 4], 5
mov esi, dword [0x6665b8]
test esi, esi
jne 0x41e506
push 0x28
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x41e4fa
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 7
mov dword [esi], vtable.srl::WMI.0
mov byte [esi + 0x1c], 0
mov ecx, esi
call fcn.00449db0
mov byte [ebp - 4], 6
jmp 0x41e4fc
xor esi, esi
mov byte [ebp - 4], 5
mov dword [0x6665b8], esi
lea eax, [ebp - 0x104]
push eax
mov ecx, esi
call fcn.004487a0
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e592
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e55c
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_WMI.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0x104]
mov dword [ebp - 0x1a4], esi
mov edi, dword [ebp - 0x100]
cmp esi, edi
je 0x41e5c2
push str.From_WMI:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x1a4], esi
jmp 0x41e5a4
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 8
mov esi, dword [0x6665c8]
test esi, esi
jne 0x41e63c
push 0x24
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x41e630
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0xa
mov dword [esi], vtable.srl::DXDiag.0
mov ecx, esi
call fcn.00456100
mov byte [esi + 0x20], al
mov byte [ebp - 4], 9
jmp 0x41e632
xor esi, esi
mov byte [ebp - 4], 8
mov dword [0x6665c8], esi
lea eax, [ebp - 0xf8]
push eax
mov ecx, esi
call fcn.00454c60
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e6c8
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xf8]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e692
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_DXDiag.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x1a0], esi
mov edi, dword [ebp - 0xf4]
nop word [eax + eax]
cmp esi, edi
je 0x41e6fe
push str.From_DXDiag:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x1a0], esi
jmp 0x41e6e0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0xb
mov esi, dword [0x6665cc]
test esi, esi
jne 0x41e787
push 0x28
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x41e77b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0xd
mov dword [esi], vtable.srl::DXGI.0
mov byte [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0xe
mov ecx, esi
call fcn.004561f0
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0xc
jmp 0x41e77d
xor esi, esi
mov byte [ebp - 4], 0xb
mov dword [0x6665cc], esi
lea eax, [ebp - 0xec]
push eax
mov ecx, esi
call fcn.004563c0
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e813
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xec]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e7dd
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_DXGI.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x19c], esi
mov edi, dword [ebp - 0xe8]
cmp esi, edi
je 0x41e843
push str.From_DXGI:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x19c], esi
jmp 0x41e825
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 0xf
mov esi, dword [0x6665d0]
test esi, esi
jne 0x41e8cc
push 0x28
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x10
test esi, esi
je 0x41e8c0
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0x11
mov dword [esi], vtable.srl::DirectX_8.0
mov byte [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0x12
mov ecx, esi
call fcn.00456870
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0x10
jmp 0x41e8c2
xor esi, esi
mov byte [ebp - 4], 0xf
mov dword [0x6665d0], esi
lea eax, [ebp - 0x110]
push eax
mov ecx, esi
call fcn.00456a40
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41e958
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x110]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e922
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_DirectX_8.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x194], esi
mov edi, dword [ebp - 0x10c]
nop word [eax + eax]
cmp esi, edi
je 0x41e98e
push str.From_DirectX8:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x194], esi
jmp 0x41e970
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x13
mov esi, dword [0x6665d4]
test esi, esi
jne 0x41ea17
push 0x28
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x41ea0b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0x15
mov dword [esi], vtable.srl::DirectX_9.0
mov byte [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0x16
mov ecx, esi
call fcn.004571b0
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0x14
jmp 0x41ea0d
xor esi, esi
mov byte [ebp - 4], 0x13
mov dword [0x6665d4], esi
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
call fcn.00457380
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41eaa3
mov ecx, dword [ebp - 0xc4]
sub ecx, dword [ebp - 0xc8]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41ea6d
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters_from_DirectX_9.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0xc4]
cmp esi, edi
je 0x41ead3
push str.From_DirectX9:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x190], esi
jmp 0x41eab5
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov byte [ebp - 4], 0x17
mov esi, dword [0x6665d8]
test esi, esi
jne 0x41eb67
push 0x38
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x18
test esi, esi
je 0x41eb5b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0x19
mov dword [esi], vtable.srl::DirectX_10.0
mov byte [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov byte [ebp - 4], 0x1a
mov dword [esi + 0x34], 0
mov byte [ebp - 4], 0x1b
mov ecx, esi
call fcn.00457b60
mov byte [esi + 0x2c], al
mov byte [ebp - 4], 0x18
jmp 0x41eb5d
xor esi, esi
mov byte [ebp - 4], 0x17
mov dword [0x6665d8], esi
lea eax, [ebp - 0xd4]
push eax
mov ecx, esi
call fcn.00457dd0
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41ebf3
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xd4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41ebbd
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x18c], esi
mov edi, dword [ebp - 0xd0]
cmp esi, edi
je 0x41ec23
push str.From_DirectX10:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x18c], esi
jmp 0x41ec05
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov byte [ebp - 4], 0x1c
mov esi, dword [0x6665dc]
test esi, esi
jne 0x41ecb7
push 0x30
call fcn.004627a8
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x1d
test esi, esi
je 0x41ecab
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.004079ab
mov byte [ebp - 4], 0x1e
mov dword [esi], vtable.srl::DirectX_11.0
mov byte [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov byte [ebp - 4], 0x1f
mov dword [esi + 0x2c], 0
mov byte [ebp - 4], 0x20
mov ecx, esi
call fcn.00458730
mov byte [esi + 0x24], al
mov byte [ebp - 4], 0x1d
jmp 0x41ecad
xor esi, esi
mov byte [ebp - 4], 0x1c
mov dword [0x6665dc], esi
lea eax, [ebp - 0xe0]
push eax
mov ecx, esi
call fcn.00458980
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41ed43
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [ebp - 0xe0]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41ed0d
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.00411430
mov ecx, eax
call fcn.0041dd70
mov edx, str._adapters.
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x188], esi
mov edi, dword [ebp - 0xdc]
cmp esi, edi
je 0x41ed73
push str.From_DirectX11:
mov ecx, esi
call fcn.00420840
add esi, 0xc0
mov dword [ebp - 0x188], esi
jmp 0x41ed55
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x158], esi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb0], eax
nop dword [eax + eax]
cmp esi, eax
je 0x41f0bf
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ee08
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41edec
mov byte [ebp - 0x9d], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41edf4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41edf4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41edf4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41edf4
mov byte [ebp - 0x9d], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x88]
jmp 0x41edb0
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x180], edi
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ee78
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41ee5c
mov byte [ebp - 0x9e], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41ee64
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41ee64
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41ee64
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41ee64
mov byte [ebp - 0x9e], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x180], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ee20
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x174], edi
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41eee8
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41eecc
mov byte [ebp - 0x9f], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41eed4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41eed4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41eed4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41eed4
mov byte [ebp - 0x9f], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x174], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ee90
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x170], edi
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ef58
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41ef3c
mov byte [ebp - 0xa0], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41ef44
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41ef44
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41ef44
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41ef44
mov byte [ebp - 0xa0], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x170], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ef00
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x168], edi
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41efc8
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41efac
mov byte [ebp - 0xa1], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41efb4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41efb4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41efb4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41efb4
mov byte [ebp - 0xa1], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x168], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ef70
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x160], edi
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41f038
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41f01c
mov byte [ebp - 0xa2], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41f024
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41f024
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41f024
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41f024
mov byte [ebp - 0xa2], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x160], edi
mov eax, dword [ebp - 0x88]
jmp 0x41efe0
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41f0a8
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41f08c
mov byte [ebp - 0xa3], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41f094
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41f094
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41f094
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41f094
mov byte [ebp - 0xa3], 1
push edi
mov ecx, esi
call fcn.004205b0
add edi, 0xc0
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x88]
jmp 0x41f050
add esi, 0xc0
mov dword [ebp - 0x158], esi
mov eax, dword [ebp - 0xb0]
jmp 0x41ed90
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x148], edx
mov edi, dword [ebp - 0x98]
cmp edx, edi
je 0x41f109
mov eax, dword [edx + 0x50]
mov ecx, dword [edx + 0x60]
or eax, dword [edx + 0x54]
jne 0x41f0fb
or ecx, dword [edx + 0x64]
jne 0x41f0fb
lea ecx, [edx + 0x68]
lea esi, [edx + 0x48]
cmp esi, ecx
je 0x41f0fb
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
add edx, 0xc0
mov dword [ebp - 0x148], edx
jmp 0x41f0d1
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb0], ecx
cmp edi, ecx
je 0x41f3e2
sub esp, 8
lea ecx, [ebp - 0x11c]
call fcn.0045a730
mov byte [ebp - 4], 0x21
or ebx, 1
mov dword [ebp - 0x90], ebx
push eax
lea ecx, [edi + 0x38]
call fcn.0045aea0
test al, al
je 0x41f1b9
sub esp, 8
lea ecx, [ebp - 0xac]
call fcn.0045a730
mov dword [ebp - 4], 0x22
or ebx, 2
mov dword [ebp - 0x90], ebx
push eax
lea ecx, [edi + 0x40]
call fcn.0045aea0
test al, al
je 0x41f1b9
mov dword [ebp - 0x28], vtable.srl::Value.0
mov dword [ebp - 0x28], vtable.srl::Size.0
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 4], 0x23
or ebx, 4
mov dword [ebp - 0x90], ebx
mov eax, dword [edi + 0x70]
cmp eax, dword [ebp - 0x20]
jne 0x41f1b9
mov eax, dword [edi + 0x74]
cmp eax, dword [ebp - 0x1c]
mov byte [ebp - 0x89], 1
je 0x41f1c0
mov byte [ebp - 0x89], 0
mov dword [ebp - 4], 0x22
test bl, 4
je 0x41f1ee
and ebx, 0xfffffffb
mov dword [ebp - 0x90], ebx
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x28], vtable.srl::Size.0
mov dword [ebp - 0x28], vtable.srl::Value.0
mov byte [ebp - 4], 0x22
mov dword [ebp - 4], 0x21
test bl, 2
je 0x41f269
and ebx, 0xfffffffd
mov dword [ebp - 0x90], ebx
mov dword [ebp - 4], 0x25
mov dword [ebp - 0xac], vtable.srl::Version.0
mov ecx, dword [ebp - 0xa8]
add ecx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41f25b
mov edx, dword [ecx]
mov eax, dword [edx]
mov esi, dword [eax + 4]
push ecx
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x420189
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x420189
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0xac], vtable.srl::Value.0
mov byte [ebp - 4], 0x21
mov dword [ebp - 4], 0x1c
test bl, 1
je 0x41f2e1
and ebx, 0xfffffffe
mov dword [ebp - 0x90], ebx
mov byte [ebp - 4], 0x26
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
mov ecx, dword [ebp - 0x118]
add ecx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41f2d3
mov edx, dword [ecx]
mov eax, dword [edx]
mov esi, dword [eax + 4]
push ecx
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x420192
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x420192
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x1c
cmp byte [ebp - 0x89], 0
je 0x41f3a5
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x140], esi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x88], eax
cmp esi, eax
je 0x41f39f
lea edx, [esi + 0x78]
lea ebx, [edi + 0x78]
cmp ebx, edx
je 0x41f38e
xor cl, cl
mov byte [ebp - 0xa4], cl
mov eax, dword [ebx + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x41f34f
mov eax, dword [ebx + 8]
cmp eax, dword [edx + 8]
jne 0x41f34f
mov eax, dword [ebx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x41f34f
mov eax, dword [ebx + 0x10]
movzx ecx, cl
cmp eax, dword [edx + 0x10]
mov eax, 1
cmove ecx, eax
mov byte [ebp - 0xa4], cl
test cl, cl
sete al
test al, al
je 0x41f388
mov eax, dword [edi + 0x80]
cmp eax, dword [esi + 0x80]
jne 0x41f388
mov eax, dword [edi + 0x84]
xor eax, dword [esi + 0x84]
test eax, 0xff00
jne 0x41f388
push esi
mov ecx, edi
call fcn.004205b0
mov byte [edi + 0xb0], 1
mov eax, dword [ebp - 0x88]
add esi, 0xc0
mov dword [ebp - 0x140], esi
jmp 0x41f306
mov ebx, dword [ebp - 0x90]
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x60]
or eax, dword [edi + 0x54]
jne 0x41f3cb
or ecx, dword [edi + 0x64]
jne 0x41f3cb
lea ecx, [edi + 0x68]
lea edx, [edi + 0x48]
cmp edx, ecx
je 0x41f3cb
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
add edi, 0xc0
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0xb0]
jmp 0x41f121
xor edi, edi
mov dword [ebp - 0x114], edi
mov eax, dword [0x6665a4]
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x41f42b
push 0x78
call fcn.004627a8
add esp, 4
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0x27
test eax, eax
je 0x41f41a
mov ecx, eax
call fcn.0040d620
jmp 0x41f41c
xor eax, eax
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x1c
mov dword [0x6665a4], eax
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0x178], ebx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
cmp ebx, eax
je 0x41fad9
push str.Final_GPU_values:
mov ecx, ebx
call fcn.00420840
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41f4ed
cmp dword [ebx + 0x80], 0x8086
sete byte [ebp - 0xb0]
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41f497
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
mov esi, eax
lea ecx, [ebx + 0x78]
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
push dword [ebp - 0xb0]
mov edx, str.GPU_intel:
mov ecx, esi
call fcn.00410410
mov ecx, eax
call fcn.00420ff0
mov edx, str._from
mov ecx, eax
call fcn.00410410
mov edx, edi
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov edi, dword [ebp - 0x114]
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x41f555
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41f518
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
mov edi, eax
lea ecx, [ebx + 0x78]
call fcn.00454510
mov esi, eax
mov edx, str.GPU_final_value:
mov ecx, edi
call fcn.00410410
mov edx, esi
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 4
mov edi, dword [ebp - 0x114]
push ebx
push edi
push 0x11598
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 8]
push eax
push edi
push 0x115c1
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x18]
push eax
push edi
push 0x1169f
mov ecx, esi
call fcn.00417f30
lea esi, [ebx + 0x9c]
push esi
push edi
push 0x11677
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417f30
push esi
push edi
push 0x115ad
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x94]
push eax
push edi
push 0x11676
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x68]
push eax
push edi
push 0x115af
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x58]
push eax
push edi
push 0x1167b
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x48]
push eax
push edi
push 0x11675
mov ecx, esi
call fcn.00417f30
lea esi, [ebx + 0xa4]
push esi
push edi
push 0x1166e
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417f30
push esi
push edi
push 0x11599
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x28]
push eax
push edi
push 0x116a8
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x30]
push eax
push edi
push 0x11770
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0x10]
push eax
push edi
push 0x116a0
mov ecx, esi
call fcn.00417f30
lea esi, [ebx + 0x40]
push esi
push edi
push 0x1167c
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417f30
push esi
push edi
push 0x115b1
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417f30
lea esi, [ebx + 0x38]
push esi
push edi
push 0x1167a
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417f30
push esi
push edi
push 0x115ae
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417f30
cmp dword [ebx + 0x80], 0x1002
sete al
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x120], al
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x124]
push eax
push edi
push 0x1166d
mov ecx, esi
call fcn.00417f30
mov byte [ebp - 4], 0x29
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x1c
cmp dword [ebx + 0x80], 0x8086
sete al
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x128], al
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x12c]
push eax
push edi
push 0x11678
mov ecx, esi
call fcn.00417f30
mov byte [ebp - 4], 0x2b
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x1c
cmp dword [ebx + 0x80], 0x10de
sete al
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x130], al
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x134]
push eax
push edi
push 0x11679
mov ecx, esi
call fcn.00417f30
mov byte [ebp - 4], 0x2d
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x1c
lea eax, [ebx + 0x78]
push eax
push edi
push 0x1163f
mov ecx, esi
call fcn.00417f30
lea ecx, [ebx + 0x78]
call fcn.004546d0
push eax
push edi
push 0x11638
mov ecx, esi
call fcn.00417de0
sub esp, 8
lea ecx, [ebp - 0x27c]
call fcn.00413bf0
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x258]
add ecx, eax
mov eax, dword [ecx]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx], eax
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x258]
add ecx, eax
mov eax, dword [ecx]
or eax, 4
mov dword [ecx], eax
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
mov ecx, 0x30
mov word [ebp + eax - 0x22c], cx
push dword [ebx + 0x8c]
push 0
push 4
lea eax, [ebp - 0x1bc]
push eax
call fcn.005ab5fc
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x26c]
call fcn.0041ac80
mov ecx, eax
call fcn.0041dd70
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6668c4]
cmp eax, dword [ecx + 4]
jg 0x42019b
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x264]
call fcn.00414480
mov esi, dword [ebp - 0x90]
or esi, 8
mov dword [ebp - 0x90], esi
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
jb 0x41f8db
mov edx, dword [ebp - 0x30]
test edx, edx
jne 0x41f8db
xor ecx, ecx
jmp 0x41f8f9
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x118], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f8e6
sub ecx, dword [ebp - 0x118]
sar ecx, 1
push ecx
push edx
mov ecx, 0x6668c8
call fcn.004020e5
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x30]
call fcn.00407500
mov eax, dword [0x6668c8]
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x27c]
call fcn.00413820
push dword [ebp - 0x118]
push edi
push 0x116a5
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417de0
lea ecx, [ebx + 0x78]
call fcn.00454510
push eax
push edi
push 0x11637
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417de0
sub esp, 8
lea ecx, [ebp - 0x32c]
call fcn.00413bf0
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x31c]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x308]
add ecx, eax
mov eax, dword [ecx]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx], eax
mov eax, dword [ebp - 0x31c]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x308]
add ecx, eax
mov eax, dword [ecx]
or eax, 4
mov dword [ecx], eax
mov eax, dword [ebp - 0x31c]
mov eax, dword [eax + 4]
mov ecx, 0x30
mov word [ebp + eax - 0x2dc], cx
push dword [ebx + 0x88]
push 0
push 4
lea eax, [ebp - 0x1cc]
push eax
call fcn.005ab5fc
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x31c]
call fcn.0041ac80
mov ecx, eax
call fcn.0041dd70
mov eax, dword [0x6668bc]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx]
cmp eax, dword [ecx + 4]
jg 0x420207
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x314]
call fcn.00414480
or esi, 0x10
mov dword [ebp - 0x90], esi
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
jb 0x41fa38
mov edx, dword [ebp - 0x68]
test edx, edx
jne 0x41fa38
xor ecx, ecx
jmp 0x41fa4f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fa40
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x6668c0
call fcn.004020e5
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x68]
call fcn.00407500
mov esi, dword [0x6668c0]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x32c]
call fcn.00413820
push esi
push edi
push 0x116a6
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417de0
lea eax, [ebx + 0xac]
push eax
push edi
push 0x11723
mov ecx, esi
call fcn.00417f30
lea eax, [ebx + 0xb4]
push eax
push edi
push 0x116d2
mov ecx, esi
call fcn.00417f30
inc edi
mov dword [ebp - 0x114], edi
add ebx, 0xc0
mov dword [ebp - 0x178], ebx
mov eax, dword [ebp - 0xa8]
jmp 0x41f443
mov byte [ebp - 4], 0x32
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x41fb8a
mov ebx, dword [ebp - 0xdc]
mov esi, edi
mov dword [ebp - 0x150], esi
nop dword [eax]
cmp esi, ebx
je 0x41fb1f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x150], esi
mov edi, dword [ebp - 0xe0]
jmp 0x41fb00
mov ecx, dword [ebp - 0xd8]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x50], ecx
cmp ecx, 0x1000
jb 0x41fb62
add ecx, 0x23
mov dword [ebp - 0x50], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov byte [ebp - 4], 0x33
mov edi, dword [ebp - 0xd4]
test edi, edi
je 0x41fc3a
mov ebx, dword [ebp - 0xd0]
mov esi, edi
mov dword [ebp - 0x17c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fbcf
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x17c], esi
mov edi, dword [ebp - 0xd4]
jmp 0x41fbb0
mov ecx, dword [ebp - 0xcc]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1000
jb 0x41fc12
add ecx, 0x23
mov dword [ebp - 0x4c], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov byte [ebp - 4], 0x34
mov edi, dword [ebp - 0xc8]
test edi, edi
je 0x41fcea
mov ebx, dword [ebp - 0xc4]
mov esi, edi
mov dword [ebp - 0x13c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fc7f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x13c], esi
mov edi, dword [ebp - 0xc8]
jmp 0x41fc60
mov ecx, dword [ebp - 0xc0]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x48], ecx
cmp ecx, 0x1000
jb 0x41fcc2
add ecx, 0x23
mov dword [ebp - 0x48], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x35
mov edi, dword [ebp - 0x110]
test edi, edi
je 0x41fd9a
mov ebx, dword [ebp - 0x10c]
mov esi, edi
mov dword [ebp - 0x144], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fd2f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x144], esi
mov edi, dword [ebp - 0x110]
jmp 0x41fd10
mov ecx, dword [ebp - 0x108]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x44], ecx
cmp ecx, 0x1000
jb 0x41fd72
add ecx, 0x23
mov dword [ebp - 0x44], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 0x36
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x41fe4a
mov ebx, dword [ebp - 0xe8]
mov esi, edi
mov dword [ebp - 0x14c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fddf
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x14c], esi
mov edi, dword [ebp - 0xec]
jmp 0x41fdc0
mov ecx, dword [ebp - 0xe4]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x1000
jb 0x41fe22
add ecx, 0x23
mov dword [ebp - 0x3c], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0x37
mov edi, dword [ebp - 0xf8]
test edi, edi
je 0x41fefa
mov ebx, dword [ebp - 0xf4]
mov esi, edi
mov dword [ebp - 0x154], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fe8f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x154], esi
mov edi, dword [ebp - 0xf8]
jmp 0x41fe70
mov ecx, dword [ebp - 0xf0]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x40], ecx
cmp ecx, 0x1000
jb 0x41fed2
add ecx, 0x23
mov dword [ebp - 0x40], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 0x38
mov edi, dword [ebp - 0x104]
test edi, edi
je 0x41ffaa
mov ebx, dword [ebp - 0x100]
mov esi, edi
mov dword [ebp - 0x15c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41ff3f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x15c], esi
mov edi, dword [ebp - 0x104]
jmp 0x41ff20
mov ecx, dword [ebp - 0xfc]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x18], ecx
cmp ecx, 0x1000
jb 0x41ff82
add ecx, 0x23
mov dword [ebp - 0x18], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
mov byte [ebp - 4], 0x39
mov edi, dword [ebp - 0x9c]
test edi, edi
je 0x42005a
mov ebx, dword [ebp - 0x98]
mov esi, edi
mov dword [ebp - 0x164], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41ffef
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x164], esi
mov edi, dword [ebp - 0x9c]
jmp 0x41ffd0
mov ecx, dword [ebp - 0x94]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x34], ecx
cmp ecx, 0x1000
jb 0x420032
add ecx, 0x23
mov dword [ebp - 0x34], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 0x3a
mov edi, dword [ebp - 0xbc]
test edi, edi
je 0x42010a
mov ebx, dword [ebp - 0xb8]
mov esi, edi
mov dword [ebp - 0x16c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x42009f
mov ecx, esi
call fcn.004216a0
add esi, 0xc0
mov dword [ebp - 0x16c], esi
mov edi, dword [ebp - 0xbc]
jmp 0x420080
mov ecx, dword [ebp - 0xb4]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 6
mov dword [ebp - 0x38], ecx
cmp ecx, 0x1000
jb 0x4200e2
add ecx, 0x23
mov dword [ebp - 0x38], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420273
mov edi, edx
push ecx
push edi
call fcn.005a9369
add esp, 8
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.00412760
mov al, 1
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.005a909b
mov esp, ebp
pop ebp
ret
mov ecx, edx
call esi
jmp 0x41f25b
mov ecx, edx
call esi
jmp 0x41f2d3
push 0x6668c4
call fcn.005a9712
add esp, 4
cmp dword [0x6668c4], 0xffffffff
jne 0x41f8a5
call fcn.0040cb60
mov ecx, eax
test ecx, ecx
jne 0x4201ca
push 0x80004005
call fcn.004022df
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4201df
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x4201e3
call edx
jmp 0x4201e3
add eax, 0x10
mov dword [0x6668c8], eax
push 0x5ea550
call fcn.005a9331
push 0x6668c4
call fcn.005a96c8
add esp, 8
jmp 0x41f8a5
push 0x6668bc
call fcn.005a9712
add esp, 4
cmp dword [0x6668bc], 0xffffffff
jne 0x41fa08
call fcn.0040cb60
mov ecx, eax
test ecx, ecx
jne 0x420236
push 0x80004005
call fcn.004022df
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x42024b
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x42024f
call edx
jmp 0x42024f
add eax, 0x10
mov dword [0x6668c0], eax
push 0x5ea500
call fcn.005a9331
push 0x6668bc
call fcn.005a96c8
add esp, 8
jmp 0x41fa08
call fcn.005b06b9
int3