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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d7329
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x65afd4]
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 0x62995c
lea ecx, [ebp - 0x84]
call fcn.004128a0
mov dword [ebp - 4], ebx
call fcn.00419ac0
cmp dword [eax + 4], 4
jl 0x41e2e3
push ecx
lea ecx, [ebp - 0x84]
call fcn.00411500
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 [0x6655ac]
test eax, eax
jne 0x41e33e
push 0x50
call fcn.00462143
add esp, 4
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x41e333
mov ecx, eax
call fcn.0044d400
jmp 0x41e335
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x6655ac], eax
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
call fcn.0044e5a0
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e3ca
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e394
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_SetupLib.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
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 0x41e3fe
push str.From_Setup_Lib:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x1ac], esi
jmp 0x41e3e0
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 0x41e49d
cmp dword [esi + 0x84], 0
je 0x41e48f
cmp dword [esi + 0x80], 0
je 0x41e48f
push esi
cmp dword [ebp - 0x94], eax
je 0x41e47d
mov ecx, eax
call fcn.00421500
mov eax, dword [ebp - 0x98]
add eax, 0xc0
mov dword [ebp - 0x98], eax
add esi, 0xc0
mov dword [ebp - 0x1a8], esi
jmp 0x41e438
push eax
lea ecx, [ebp - 0x9c]
call fcn.00421270
mov eax, dword [ebp - 0x98]
add esi, 0xc0
mov dword [ebp - 0x1a8], esi
jmp 0x41e438
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e51b
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e4e5
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_after_the_filter.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
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 [0x6655a0]
test esi, esi
jne 0x41e596
push 0x28
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x41e58a
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
mov byte [ebp - 4], 7
mov dword [esi], vtable.srl::WMI.0
mov byte [esi + 0x1c], 0
mov ecx, esi
call fcn.00449f30
mov byte [ebp - 4], 6
jmp 0x41e58c
xor esi, esi
mov byte [ebp - 4], 5
mov dword [0x6655a0], esi
lea eax, [ebp - 0x104]
push eax
mov ecx, esi
call fcn.00448920
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e622
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e5ec
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_WMI.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0x104]
mov dword [ebp - 0x1a4], esi
mov edi, dword [ebp - 0x100]
cmp esi, edi
je 0x41e652
push str.From_WMI:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x1a4], esi
jmp 0x41e634
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 8
mov esi, dword [0x6655b0]
test esi, esi
jne 0x41e6cc
push 0x24
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x41e6c0
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
mov byte [ebp - 4], 0xa
mov dword [esi], vtable.srl::DXDiag.0
mov ecx, esi
call fcn.00456ab0
mov byte [esi + 0x20], al
mov byte [ebp - 4], 9
jmp 0x41e6c2
xor esi, esi
mov byte [ebp - 4], 8
mov dword [0x6655b0], esi
lea eax, [ebp - 0xf8]
push eax
mov ecx, esi
call fcn.00455610
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e758
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e722
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_DXDiag.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
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 0x41e78e
push str.From_DXDiag:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x1a0], esi
jmp 0x41e770
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0xb
mov esi, dword [0x6655b4]
test esi, esi
jne 0x41e817
push 0x28
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x41e80b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
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.00456ba0
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0xc
jmp 0x41e80d
xor esi, esi
mov byte [ebp - 4], 0xb
mov dword [0x6655b4], esi
lea eax, [ebp - 0xec]
push eax
mov ecx, esi
call fcn.00456d90
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e8a3
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e86d
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_DXGI.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x19c], esi
mov edi, dword [ebp - 0xe8]
cmp esi, edi
je 0x41e8d3
push str.From_DXGI:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x19c], esi
jmp 0x41e8b5
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 0xf
mov esi, dword [0x6655b8]
test esi, esi
jne 0x41e95c
push 0x28
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x10
test esi, esi
je 0x41e950
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
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.00457240
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0x10
jmp 0x41e952
xor esi, esi
mov byte [ebp - 4], 0xf
mov dword [0x6655b8], esi
lea eax, [ebp - 0x110]
push eax
mov ecx, esi
call fcn.00457410
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41e9e8
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41e9b2
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_DirectX_8.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
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 0x41ea1e
push str.From_DirectX8:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x194], esi
jmp 0x41ea00
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x13
mov esi, dword [0x6655bc]
test esi, esi
jne 0x41eaa7
push 0x28
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x41ea9b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
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.00457b80
mov byte [esi + 0x20], al
mov byte [ebp - 4], 0x14
jmp 0x41ea9d
xor esi, esi
mov byte [ebp - 4], 0x13
mov dword [0x6655bc], esi
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
call fcn.00457d50
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41eb33
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41eafd
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters_from_DirectX_9.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0xc4]
cmp esi, edi
je 0x41eb63
push str.From_DirectX9:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x190], esi
jmp 0x41eb45
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov byte [ebp - 4], 0x17
mov esi, dword [0x6655c0]
test esi, esi
jne 0x41ebf7
push 0x38
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x18
test esi, esi
je 0x41ebeb
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
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.00458530
mov byte [esi + 0x2c], al
mov byte [ebp - 4], 0x18
jmp 0x41ebed
xor esi, esi
mov byte [ebp - 4], 0x17
mov dword [0x6655c0], esi
lea eax, [ebp - 0xd4]
push eax
mov ecx, esi
call fcn.004587a0
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41ec83
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41ec4d
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x18c], esi
mov edi, dword [ebp - 0xd0]
cmp esi, edi
je 0x41ecb3
push str.From_DirectX10:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x18c], esi
jmp 0x41ec95
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov byte [ebp - 4], 0x1c
mov esi, dword [0x6655c4]
test esi, esi
jne 0x41ed47
push 0x30
call fcn.00462143
add esp, 4
mov esi, eax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 0x1d
test esi, esi
je 0x41ed3b
mov dword [esi], vtable.srl::Source.0
lea ecx, [esi + 4]
call fcn.00407bea
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.00459100
mov byte [esi + 0x24], al
mov byte [ebp - 4], 0x1d
jmp 0x41ed3d
xor esi, esi
mov byte [ebp - 4], 0x1c
mov dword [0x6655c4], esi
lea eax, [ebp - 0xe0]
push eax
mov ecx, esi
call fcn.00459350
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41edd3
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.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41ed9d
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Got
mov ecx, eax
call fcn.004115a0
mov ecx, eax
call fcn.0041de00
mov edx, str._adapters.
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x188], esi
mov edi, dword [ebp - 0xdc]
cmp esi, edi
je 0x41ee03
push str.From_DirectX11:
mov ecx, esi
call fcn.004208d0
add esi, 0xc0
mov dword [ebp - 0x188], esi
jmp 0x41ede5
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 0x41f14f
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ee98
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41ee7c
mov byte [ebp - 0x9d], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41ee84
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41ee84
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41ee84
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41ee84
mov byte [ebp - 0x9d], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ee40
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x180], edi
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ef08
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41eeec
mov byte [ebp - 0x9e], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41eef4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41eef4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41eef4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41eef4
mov byte [ebp - 0x9e], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x180], edi
mov eax, dword [ebp - 0x88]
jmp 0x41eeb0
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x174], edi
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41ef78
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41ef5c
mov byte [ebp - 0x9f], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41ef64
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41ef64
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41ef64
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41ef64
mov byte [ebp - 0x9f], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x174], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ef20
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x170], edi
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41efe8
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41efcc
mov byte [ebp - 0xa0], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41efd4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41efd4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41efd4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41efd4
mov byte [ebp - 0xa0], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x170], edi
mov eax, dword [ebp - 0x88]
jmp 0x41ef90
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x168], edi
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41f058
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41f03c
mov byte [ebp - 0xa1], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41f044
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41f044
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41f044
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41f044
mov byte [ebp - 0xa1], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x168], edi
mov eax, dword [ebp - 0x88]
jmp 0x41f000
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x160], edi
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41f0c8
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41f0ac
mov byte [ebp - 0xa2], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41f0b4
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41f0b4
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41f0b4
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41f0b4
mov byte [ebp - 0xa2], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x160], edi
mov eax, dword [ebp - 0x88]
jmp 0x41f070
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x41f138
lea ecx, [edi + 0x78]
lea edx, [esi + 0x78]
cmp edx, ecx
je 0x41f11c
mov byte [ebp - 0xa3], 0
mov eax, dword [edx + 0xc]
cmp eax, dword [ecx + 0xc]
jne 0x41f124
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 8]
jne 0x41f124
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x41f124
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x41f124
mov byte [ebp - 0xa3], 1
push edi
mov ecx, esi
call fcn.00420640
add edi, 0xc0
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x88]
jmp 0x41f0e0
add esi, 0xc0
mov dword [ebp - 0x158], esi
mov eax, dword [ebp - 0xb0]
jmp 0x41ee20
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x148], edx
mov edi, dword [ebp - 0x98]
cmp edx, edi
je 0x41f199
mov eax, dword [edx + 0x50]
mov ecx, dword [edx + 0x60]
or eax, dword [edx + 0x54]
jne 0x41f18b
or ecx, dword [edx + 0x64]
jne 0x41f18b
lea ecx, [edx + 0x68]
lea esi, [edx + 0x48]
cmp esi, ecx
je 0x41f18b
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 0x41f161
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb0], ecx
cmp edi, ecx
je 0x41f472
sub esp, 8
lea ecx, [ebp - 0x11c]
call fcn.0045b100
mov byte [ebp - 4], 0x21
or ebx, 1
mov dword [ebp - 0x90], ebx
push eax
lea ecx, [edi + 0x38]
call fcn.0045b870
test al, al
je 0x41f249
sub esp, 8
lea ecx, [ebp - 0xac]
call fcn.0045b100
mov dword [ebp - 4], 0x22
or ebx, 2
mov dword [ebp - 0x90], ebx
push eax
lea ecx, [edi + 0x40]
call fcn.0045b870
test al, al
je 0x41f249
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 0x41f249
mov eax, dword [edi + 0x74]
cmp eax, dword [ebp - 0x1c]
mov byte [ebp - 0x89], 1
je 0x41f250
mov byte [ebp - 0x89], 0
mov dword [ebp - 4], 0x22
test bl, 4
je 0x41f27e
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 0x41f2f9
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 0x41f2eb
mov edx, dword [ecx]
mov eax, dword [edx]
mov esi, dword [eax + 4]
push ecx
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x420219
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x420219
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 0x41f371
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 0x41f363
mov edx, dword [ecx]
mov eax, dword [edx]
mov esi, dword [eax + 4]
push ecx
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x420222
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x420222
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 0x41f435
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x140], esi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x88], eax
cmp esi, eax
je 0x41f42f
lea edx, [esi + 0x78]
lea ebx, [edi + 0x78]
cmp ebx, edx
je 0x41f41e
xor cl, cl
mov byte [ebp - 0xa4], cl
mov eax, dword [ebx + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x41f3df
mov eax, dword [ebx + 8]
cmp eax, dword [edx + 8]
jne 0x41f3df
mov eax, dword [ebx + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x41f3df
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 0x41f418
mov eax, dword [edi + 0x80]
cmp eax, dword [esi + 0x80]
jne 0x41f418
mov eax, dword [edi + 0x84]
xor eax, dword [esi + 0x84]
test eax, 0xff00
jne 0x41f418
push esi
mov ecx, edi
call fcn.00420640
mov byte [edi + 0xb0], 1
mov eax, dword [ebp - 0x88]
add esi, 0xc0
mov dword [ebp - 0x140], esi
jmp 0x41f396
mov ebx, dword [ebp - 0x90]
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x60]
or eax, dword [edi + 0x54]
jne 0x41f45b
or ecx, dword [edi + 0x64]
jne 0x41f45b
lea ecx, [edi + 0x68]
lea edx, [edi + 0x48]
cmp edx, ecx
je 0x41f45b
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 0x41f1b1
xor edi, edi
mov dword [ebp - 0x114], edi
mov eax, dword [0x66558c]
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x41f4bb
push 0x78
call fcn.00462143
add esp, 4
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0x27
test eax, eax
je 0x41f4aa
mov ecx, eax
call fcn.0040d790
jmp 0x41f4ac
xor eax, eax
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x1c
mov dword [0x66558c], 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 0x41fb69
push str.Final_GPU_values:
mov ecx, ebx
call fcn.004208d0
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41f57d
cmp dword [ebx + 0x80], 0x8086
sete byte [ebp - 0xb0]
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41f527
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
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.00410580
mov ecx, eax
call fcn.00421080
mov edx, str._from
mov ecx, eax
call fcn.00410580
mov edx, edi
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 4
mov edi, dword [ebp - 0x114]
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x41f5e5
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
jb 0x41f5a8
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
mov edi, eax
lea ecx, [ebx + 0x78]
call fcn.00454660
mov esi, eax
mov edx, str.GPU_final_value:
mov ecx, edi
call fcn.00410580
mov edx, esi
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
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.00417fd0
lea eax, [ebx + 8]
push eax
push edi
push 0x115c1
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x18]
push eax
push edi
push 0x1169f
mov ecx, esi
call fcn.00417fd0
lea esi, [ebx + 0x9c]
push esi
push edi
push 0x11677
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417fd0
push esi
push edi
push 0x115ad
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x94]
push eax
push edi
push 0x11676
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x68]
push eax
push edi
push 0x115af
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x58]
push eax
push edi
push 0x1167b
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x48]
push eax
push edi
push 0x11675
mov ecx, esi
call fcn.00417fd0
lea esi, [ebx + 0xa4]
push esi
push edi
push 0x1166e
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417fd0
push esi
push edi
push 0x11599
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x28]
push eax
push edi
push 0x116a8
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x30]
push eax
push edi
push 0x11770
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0x10]
push eax
push edi
push 0x116a0
mov ecx, esi
call fcn.00417fd0
lea esi, [ebx + 0x40]
push esi
push edi
push 0x1167c
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417fd0
push esi
push edi
push 0x115b1
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417fd0
lea esi, [ebx + 0x38]
push esi
push edi
push 0x1167a
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417fd0
push esi
push edi
push 0x115ae
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417fd0
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.00417fd0
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.00417fd0
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.00417fd0
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.00417fd0
lea ecx, [ebx + 0x78]
call fcn.00454820
push eax
push edi
push 0x11638
mov ecx, esi
call fcn.00417e80
sub esp, 8
lea ecx, [ebp - 0x27c]
call fcn.00413c70
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.005aafbc
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x26c]
call fcn.0041ad10
mov ecx, eax
call fcn.0041de00
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6658b4]
cmp eax, dword [ecx + 4]
jg 0x42022b
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x264]
call fcn.00414520
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 0x41f96b
mov edx, dword [ebp - 0x30]
test edx, edx
jne 0x41f96b
xor ecx, ecx
jmp 0x41f989
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x118], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f976
sub ecx, dword [ebp - 0x118]
sar ecx, 1
push ecx
push edx
mov ecx, 0x6658b8
call fcn.004020e5
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x30]
call fcn.004076c4
mov eax, dword [0x6658b8]
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x27c]
call fcn.004138a0
push dword [ebp - 0x118]
push edi
push 0x116a5
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417e80
lea ecx, [ebx + 0x78]
call fcn.00454660
push eax
push edi
push 0x11637
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx + 0x64]
call fcn.00417e80
sub esp, 8
lea ecx, [ebp - 0x32c]
call fcn.00413c70
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.005aafbc
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x31c]
call fcn.0041ad10
mov ecx, eax
call fcn.0041de00
mov eax, dword [0x6658ac]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx]
cmp eax, dword [ecx + 4]
jg 0x420297
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x314]
call fcn.00414520
or esi, 0x10
mov dword [ebp - 0x90], esi
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
jb 0x41fac8
mov edx, dword [ebp - 0x68]
test edx, edx
jne 0x41fac8
xor ecx, ecx
jmp 0x41fadf
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fad0
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x6658b0
call fcn.004020e5
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x68]
call fcn.004076c4
mov esi, dword [0x6658b0]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x32c]
call fcn.004138a0
push esi
push edi
push 0x116a6
mov esi, dword [ebp - 0x88]
add esi, 0x64
mov ecx, esi
call fcn.00417e80
lea eax, [ebx + 0xac]
push eax
push edi
push 0x11723
mov ecx, esi
call fcn.00417fd0
lea eax, [ebx + 0xb4]
push eax
push edi
push 0x116d2
mov ecx, esi
call fcn.00417fd0
inc edi
mov dword [ebp - 0x114], edi
add ebx, 0xc0
mov dword [ebp - 0x178], ebx
mov eax, dword [ebp - 0xa8]
jmp 0x41f4d3
mov byte [ebp - 4], 0x32
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x41fc1a
mov ebx, dword [ebp - 0xdc]
mov esi, edi
mov dword [ebp - 0x150], esi
nop dword [eax]
cmp esi, ebx
je 0x41fbaf
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x150], esi
mov edi, dword [ebp - 0xe0]
jmp 0x41fb90
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 0x41fbf2
add ecx, 0x23
mov dword [ebp - 0x50], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x41fcca
mov ebx, dword [ebp - 0xd0]
mov esi, edi
mov dword [ebp - 0x17c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fc5f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x17c], esi
mov edi, dword [ebp - 0xd4]
jmp 0x41fc40
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 0x41fca2
add ecx, 0x23
mov dword [ebp - 0x4c], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x41fd7a
mov ebx, dword [ebp - 0xc4]
mov esi, edi
mov dword [ebp - 0x13c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fd0f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x13c], esi
mov edi, dword [ebp - 0xc8]
jmp 0x41fcf0
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 0x41fd52
add ecx, 0x23
mov dword [ebp - 0x48], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x41fe2a
mov ebx, dword [ebp - 0x10c]
mov esi, edi
mov dword [ebp - 0x144], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fdbf
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x144], esi
mov edi, dword [ebp - 0x110]
jmp 0x41fda0
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 0x41fe02
add ecx, 0x23
mov dword [ebp - 0x44], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x41feda
mov ebx, dword [ebp - 0xe8]
mov esi, edi
mov dword [ebp - 0x14c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41fe6f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x14c], esi
mov edi, dword [ebp - 0xec]
jmp 0x41fe50
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 0x41feb2
add ecx, 0x23
mov dword [ebp - 0x3c], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x41ff8a
mov ebx, dword [ebp - 0xf4]
mov esi, edi
mov dword [ebp - 0x154], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41ff1f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x154], esi
mov edi, dword [ebp - 0xf8]
jmp 0x41ff00
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 0x41ff62
add ecx, 0x23
mov dword [ebp - 0x40], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x42003a
mov ebx, dword [ebp - 0x100]
mov esi, edi
mov dword [ebp - 0x15c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x41ffcf
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x15c], esi
mov edi, dword [ebp - 0x104]
jmp 0x41ffb0
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 0x420012
add ecx, 0x23
mov dword [ebp - 0x18], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x4200ea
mov ebx, dword [ebp - 0x98]
mov esi, edi
mov dword [ebp - 0x164], esi
nop word [eax + eax]
cmp esi, ebx
je 0x42007f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x164], esi
mov edi, dword [ebp - 0x9c]
jmp 0x420060
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 0x4200c2
add ecx, 0x23
mov dword [ebp - 0x34], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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 0x42019a
mov ebx, dword [ebp - 0xb8]
mov esi, edi
mov dword [ebp - 0x16c], esi
nop word [eax + eax]
cmp esi, ebx
je 0x42012f
mov ecx, esi
call fcn.00421730
add esi, 0xc0
mov dword [ebp - 0x16c], esi
mov edi, dword [ebp - 0xbc]
jmp 0x420110
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 0x420172
add ecx, 0x23
mov dword [ebp - 0x38], ecx
mov edx, dword [edi - 4]
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x420303
mov edi, edx
push ecx
push edi
call fcn.005a8d24
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.004127e0
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.005a8a56
mov esp, ebp
pop ebp
ret
mov ecx, edx
call esi
jmp 0x41f2eb
mov ecx, edx
call esi
jmp 0x41f363
push 0x6658b4
call fcn.005a8ed2
add esp, 4
cmp dword [0x6658b4], 0xffffffff
jne 0x41f935
call fcn.0040cce6
mov ecx, eax
test ecx, ecx
jne 0x42025a
push 0x80004005
call fcn.004022df
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x42026f
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x420273
call edx
jmp 0x420273
add eax, 0x10
mov dword [0x6658b8], eax
push 0x5e9d70
call fcn.005a8cec
push 0x6658b4
call fcn.005a8e88
add esp, 8
jmp 0x41f935
push 0x6658ac
call fcn.005a8ed2
add esp, 4
cmp dword [0x6658ac], 0xffffffff
jne 0x41fa98
call fcn.0040cce6
mov ecx, eax
test ecx, ecx
jne 0x4202c6
push 0x80004005
call fcn.004022df
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4202db
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x4202df
call edx
jmp 0x4202df
add eax, 0x10
mov dword [0x6658b0], eax
push 0x5e9d20
call fcn.005a8cec
push 0x6658ac
call fcn.005a8e88
add esp, 8
jmp 0x41fa98
call fcn.005b0079
int3