Function at 0x411790
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov eax, dword fs:[0x18]
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x5c]
push ebx
sub esp, 0x8c
mov eax, dword [eax + 0x24]
mov dword [0x43113c], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x400
call sub.d3dx10_38.dll_D3DX10CreateThreadPump
sub esp, 0xc
mov ebx, eax
mov eax, 0x9f9
call fcn.00401130
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x400
mov dword [esp], 0
call sub.d3dx10_38.dll_D3DX10CreateThreadPump
sub esp, 0xc
mov ebx, eax
mov eax, 0x9fb
call fcn.00401130
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
lea eax, [ebp - 0x30]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetSystemInfo]
sub esp, 4
cmp dword [ebp - 0x1c], 1
mov dword [esp + 8], esi
jbe 0x412a00
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.d3dx10_38.dll_D3DX10CreateThreadPump
sub esp, 0xc
mov ebx, eax
mov eax, 0xa02
lea edi, [ebp - 0x74]
lea esi, [ebp - 0x78]
call fcn.00401130
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 4
mov ebx, eax
mov eax, 0xa05
call fcn.00401130
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.GetWorkItemCount_returned__u._n
lea ebx, [ebp - 0x70]
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
mov eax, 0xa07
call fcn.00401130
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa08
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa09
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa0a
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0x80004001
call fcn.004032a0
mov esi, eax
xor eax, eax
call fcn.004032a0
lea ecx, [ebp - 0x64]
mov dword [0x431134], 1
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
lea ecx, [esi + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x10], 0
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x14
mov dword [ebp - 0x7c], eax
mov eax, 0xa12
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov edx, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [esp + 4], 0xffffffff
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [ebp - 0x84], edx
call edx
sub esp, 8
mov dword [ebp - 0x7c], eax
mov eax, 0xa14
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.WaitForSingleObject_returned__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa15
call fcn.00401130
mov eax, dword [0x431134]
mov dword [esp + 4], str.Got_unexpected_data_loader_load_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 4
mov dword [ebp - 0x7c], eax
mov eax, 0xa18
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.GetWorkItemCount_returned__u._n
cmp edx, 1
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov dword [ebp - 0x7c], eax
mov eax, 0xa1a
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa1b
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa1c
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa1d
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x80]
add ecx, 4
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x14
mov dword [ebp - 0x7c], eax
mov eax, 0xa21
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov dword [esp + 4], 0x32
mov eax, dword [esi + 8]
mov dword [esp], eax
mov edx, dword [ebp - 0x84]
call edx
sub esp, 8
mov dword [ebp - 0x7c], eax
mov eax, 0xa23
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.WaitForSingleObject_returned__lx._n
cmp edx, 0x102
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 4
mov dword [ebp - 0x7c], eax
mov eax, 0xa25
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.GetWorkItemCount_returned__u._n
cmp edx, 2
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov dword [ebp - 0x7c], eax
mov eax, 0xa27
call fcn.00401130
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa28
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa29
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa2a
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [esi + 0xc]
mov esi, dword [sym.imp.kernel32.dll_SetEvent]
mov dword [0x431134], 1
mov dword [0x43112c], 1
mov dword [0x431120], 1
mov dword [esp], eax
mov dword [ebp - 0x7c], esi
call esi
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 8]
mov dword [esp], eax
mov edx, dword [ebp - 0x84]
call edx
sub esp, 8
mov esi, eax
mov eax, 0xa31
call fcn.00401130
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.WaitForSingleObject_returned__lx._n
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa32
call fcn.00401130
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], str.Got_unexpected_work_item_hr__lx._n
cmp eax, 0x80004001
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa33
call fcn.00401130
mov eax, dword [0x43112c]
mov dword [esp + 4], str.Got_unexpected_data_loader_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa35
call fcn.00401130
mov eax, dword [0x431120]
mov dword [esp + 4], str.Got_unexpected_data_processor_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa37
call fcn.00401130
mov eax, dword [0x431134]
mov dword [esp + 4], str.Got_unexpected_data_loader_load_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov ecx, dword [ebp - 0x80]
mov dword [0x431130], 1
mov dword [0x431128], 1
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
mov esi, dword [ebp - 0x7c]
call esi
mov ecx, dword [ebp - 0x80]
sub esp, 4
mov eax, dword [ecx + 0x10]
mov dword [esp], eax
mov dword [ebp - 0x7c], esi
call esi
mov eax, dword [ebp - 0x5c]
mov dword [0x431124], 1
mov dword [0x43112c], 1
sub esp, 4
mov dword [0x431120], 1
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 4
mov esi, eax
mov eax, 0xa43
call fcn.00401130
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa44
call fcn.00401130
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], str.Got_unexpected_object__p._n
cmp eax, 0xdeadf00d
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa45
call fcn.00401130
mov eax, dword [0x431130]
mov dword [esp + 4], str.Got_unexpected_data_loader_decompress_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa47
call fcn.00401130
mov eax, dword [0x431128]
mov dword [esp + 4], str.Got_unexpected_data_processor_process_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa49
call fcn.00401130
mov eax, dword [0x431124]
mov dword [esp + 4], str.Got_unexpected_data_processor_create_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa4b
call fcn.00401130
mov eax, dword [0x43112c]
mov dword [esp + 4], str.Got_unexpected_data_loader_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa4d
call fcn.00401130
mov eax, dword [0x431120]
mov dword [esp + 4], str.Got_unexpected_data_processor_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
xor eax, eax
call fcn.004032a0
mov dword [ebp - 0x80], eax
xor eax, eax
call fcn.004032a0
mov ecx, dword [ebp - 0x80]
mov esi, eax
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
mov eax, dword [ebp - 0x7c]
call eax
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x7c]
call eax
mov eax, dword [esi + 0x10]
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x7c]
call eax
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov dword [0x431134], 2
mov dword [0x431130], 2
sub esp, 4
mov dword [0x431128], 1
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x80]
add ecx, 4
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x14
mov dword [ebp - 0x84], eax
mov eax, 0xa5b
call fcn.00401130
mov edx, dword [ebp - 0x84]
xor eax, eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
lea ecx, [esi + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x14
mov esi, eax
mov eax, 0xa5e
call fcn.00401130
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov esi, dword [sym.imp.kernel32.dll_Sleep]
jmp 0x4120ef
mov ecx, dword [ebp - 0x70]
test ecx, ecx
jne 0x4129f0
mov dword [esp], 1
call esi
sub esp, 4
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
test eax, eax
je 0x4120d8
mov edx, eax
xor esi, esi
mov eax, 0xa66
mov dword [ebp - 0x84], edx
call fcn.00401130
mov edx, dword [ebp - 0x84]
mov dword [esp], esi
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp + 8], edx
call fcn.00401db0
mov eax, 0xa67
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa68
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa69
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa6a
call fcn.00401130
mov eax, dword [0x431134]
mov dword [esp + 4], str.Got_unexpected_data_loader_load_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa6c
call fcn.00401130
mov eax, dword [0x431130]
mov dword [esp + 4], str.Got_unexpected_data_loader_decompress_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa6e
call fcn.00401130
mov eax, dword [0x431128]
mov dword [esp + 4], str.Got_unexpected_data_processor_process_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
mov esi, eax
mov eax, 0xa72
call fcn.00401130
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
lea esi, [ebp - 0x78]
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xa74
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, 0xa75
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa76
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa77
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov dword [0x431124], 1
mov dword [0x43112c], 1
mov dword [0x431120], 1
mov edx, dword [eax]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xa7d
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp + 8], edi
lea edi, [ebp - 0x78]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov ebx, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xa7f
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, 0xa80
call fcn.00401130
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], str.Got_unexpected_io_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa81
call fcn.00401130
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], str.Got_unexpected_process_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa82
call fcn.00401130
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str.Got_unexpected_device_count__u._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa83
call fcn.00401130
mov eax, dword [0x431124]
mov dword [esp + 4], str.Got_unexpected_data_processor_create_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa85
call fcn.00401130
mov eax, dword [0x43112c]
mov dword [esp + 4], str.Got_unexpected_data_loader_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xa87
mov eax, dword [0x431120]
mov dword [esp + 4], str.Got_unexpected_data_processor_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x80]
mov dword [0x431128], 1
mov dword [0x43112c], 1
mov dword [0x431120], 1
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [ebp - 0x7c]
call eax
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 4
mov ebx, eax
mov eax, 0xa8f
call fcn.00401130
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], eax
call fcn.00401db0
mov eax, 0xa91
mov dword [0x431128], 0
call fcn.00401130
mov eax, dword [0x43112c]
mov dword [esp + 4], str.Got_unexpected_data_loader_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xa93
mov eax, dword [0x431120]
mov dword [esp + 4], str.Got_unexpected_data_processor_destroy_count__ld._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
call fcn.00404280
test eax, eax
je 0x412a1e
mov dword [ebp - 0x84], eax
mov ebx, 0x41c560
xor edi, edi
jmp 0x412786
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.d3dx10_38.dll_D3DX10CreateAsyncMemoryLoader
sub esp, 0xc
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xab1
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
lea eax, [ebp - 0x6c]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.d3dx10_38.dll_D3DX10CreateAsyncTextureProcessor
sub esp, 0xc
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xab3
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x60]
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x64]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x14
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xab5
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 4
mov esi, eax
call fcn.00415b70
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xab7
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
call fcn.00415b70
mov edx, 1
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xab8
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x412740
xor edx, edx
cmp eax, 0x80004005
jne 0x412740
xor edx, edx
cmp dword [ebx + 0x2c], 0xc
sete dl
lea esi, [esi]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
mov dword [esp], edx
call fcn.00401db0
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x412938
call fcn.00415b70
mov edx, dword [eax + 0xbec]
test edx, edx
je 0x412777
sub edx, 1
mov dword [eax + 0xbec], edx
add edi, 1
add ebx, 0x30
cmp edi, 0x1f
je 0x412970
mov dword [esp + 4], edi
mov dword [esp], str.Test__u
call fcn.00401070
mov eax, dword [ebx + 4]
mov esi, dword [ebx]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x7c], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.d3dx10_38.dll_D3DX10CreateAsyncMemoryLoader
sub esp, 0xc
mov dword [ebp - 0x80], eax
call fcn.00415b70
mov edx, dword [ebp - 0x80]
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xaa3
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
lea eax, [ebp - 0x6c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x54]
mov dword [esp], eax
call sub.d3dx10_38.dll_D3DX10CreateAsyncTextureInfoProcessor
sub esp, 8
mov dword [ebp - 0x80], eax
call fcn.00415b70
mov edx, dword [ebp - 0x80]
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xaa5
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x14
mov dword [ebp - 0x80], eax
call fcn.00415b70
mov edx, dword [ebp - 0x80]
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xaa7
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 4
mov dword [ebp - 0x80], eax
call fcn.00415b70
mov edx, dword [ebp - 0x80]
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xaa9
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
call fcn.00415b70
mov edx, 1
mov dword [eax], 0x41a018
mov dword [eax + 4], 0xaaa
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x412900
xor edx, edx
cmp eax, 0x80004005
jne 0x412900
xor edx, edx
cmp dword [ebx + 0x2c], 0xc
sete dl
nop
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Got_unexpected_hr__lx._n
call fcn.00401db0
mov edx, dword [ebp - 0x64]
test edx, edx
jne 0x4125e0
mov ecx, 0xaae
mov edx, ebx
lea eax, [ebp - 0x54]
call fcn.00401dd0
jmp 0x4125e0
mov eax, dword [ebp - 0x60]
mov ecx, 0xabd
mov edx, ebx
call fcn.004111c0
mov eax, dword [ebp - 0x60]
mov ecx, 0xabe
mov edx, ebx
call fcn.004025c0
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x41275f
mov edx, dword [ebp - 0x84]
mov eax, 0xac5
mov dword [ebp - 0x7c], edx
call fcn.00401130
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx]
mov dword [esp], edx
call dword [eax + 8]
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], str.Got_unexpected_refcount._n
movzx eax, al
mov dword [esp], eax
call fcn.00401db0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xac8
call fcn.00401130
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_unexpected_refcount__lu._n
mov dword [esp], eax
call fcn.00401db0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, eax
mov esi, 1
jmp 0x412114
mov dword [esp + 4], 2
mov dword [esp], 0
call sub.d3dx10_38.dll_D3DX10CreateThreadPump
sub esp, 0xc
mov ebx, eax
jmp 0x41186f
mov eax, 0xa99
call fcn.00401130
mov dword [esp], str.Failed_to_create_device__skipping_tests._n
call fcn.004017f0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4129de