Function at 0x423f10
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e4b30
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x6e0
mov eax, dword [0x672014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x258], ecx
mov esi, dword [0x67e3a8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x25c], eax
test esi, esi
jne 0x423f9c
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x260], eax
mov dword [ebp - 4], esi
test eax, eax
je 0x423f8d
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x423f8f
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x424420
sub esp, 8
lea ecx, [ebp - 0x430]
call fcn.00415530
lea ecx, [ebp - 0x8c]
mov dword [ebp - 4], 2
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 3
call fcn.004075f5
lea ecx, [ebp - 0x1f4]
call fcn.00407dfc
xor edi, edi
mov byte [ebp - 4], 4
cmp dword [esi + 0xc], edi
jle 0x42400f
cmp edi, 0xa
jge 0x42400f
push 2
push 0x637484
lea ecx, [ebp - 0x1f4]
call fcn.0041df10
inc edi
cmp edi, dword [esi + 0xc]
jl 0x423ff2
lea ecx, [ebp - 0x2c]
call fcn.00407dfc
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 5
call fcn.00407dfc
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.0041d380
cmp dword [ebp - 0x1e0], 8
lea eax, [ebp - 0x1f4]
push 0x2040
cmovae eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x284]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x420]
lea edx, [ebp - 0x420]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 7
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x420]
push eax
cmovae edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.004130d0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x28c]
push 0x10
push eax
call fcn.005b7368
add esp, 8
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x4240d0
xor ecx, ecx
jmp 0x4240d7
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x380]
push 6
push eax
call fcn.005b7396
add esp, 0x14
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x370]
push eax
call fcn.005b737c
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x94]
mov byte [ebp - 4], 8
lea edx, [ebp - 0xa4]
cmp dword [ebp - 0x90], 8
push ecx
cmovae edx, dword [ebp - 0xa4]
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.004130d0
add esp, 4
mov edi, eax
lea eax, [ebp - 0x360]
push 0
push 5
push eax
call fcn.005b7396
add esp, 0xc
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x294]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 4], 9
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 6
call fcn.004130d0
add esp, 0x14
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x260]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x424242
push 0x67e5f8
call fcn.005b583c
add esp, 4
mov edi, 0x67e5fc
cmp dword [0x67e5f8], 0xffffffff
jne 0x424247
mov ecx, edi
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
add esp, 4
push 0x67e5f8
call fcn.005b57fd
add esp, 4
jmp 0x424247
mov edi, 0x67e5fc
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x430]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0xa
cmp esi, 0x67e5fc
je 0x42430c
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x4242cc
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x424288
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x4242c3
test byte [0x67e5fc], 0x1f
je 0x42429f
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x4242ab
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x4242b7
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x4242c1
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 6
call fcn.00407420
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 5
call fcn.00407420
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00407420
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 3
call fcn.00407420
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.00407420
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 4], 0xb
call fcn.00415410
mov byte [ebp - 4], 0xc
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x3c8]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x4243d8
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x260], eax
mov dword [ebp - 4], 0xe
test eax, eax
je 0x4243c9
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x4243cb
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov dword [ebp - 4], 0xf
mov edx, edi
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov edx, dword [ebp - 0x25c]
add esp, 4
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
mov esi, dword [0x67e3a8]
add esp, 4
test esi, esi
jne 0x42445a
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x10
test eax, eax
je 0x42444b
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x42444d
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x4248d5
sub esp, 8
lea ecx, [ebp - 0x4e0]
call fcn.00415530
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x12
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x13
call fcn.004075f5
lea ecx, [ebp - 0x1dc]
call fcn.00407dfc
xor edi, edi
mov byte [ebp - 4], 0x14
cmp dword [esi + 0xc], edi
jle 0x4244cd
nop word [eax + eax]
cmp edi, 0xa
jge 0x4244cd
push 2
push 0x637484
lea ecx, [ebp - 0x1dc]
call fcn.0041df10
inc edi
cmp edi, dword [esi + 0xc]
jl 0x4244b0
lea ecx, [ebp - 0x5c]
call fcn.00407dfc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x15
call fcn.00407dfc
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.0041d380
cmp dword [ebp - 0x1c8], 8
lea eax, [ebp - 0x1dc]
push 0x2040
cmovae eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x264]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x4d0]
lea edx, [ebp - 0x4d0]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
lea ecx, [ebp - 0x4d0]
push eax
cmovae edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x16
call fcn.004130d0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x2b0]
push 0x10
push eax
call fcn.005b7368
add esp, 8
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x424588
xor ecx, ecx
jmp 0x42458f
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x350]
push 6
push eax
call fcn.005b7396
add esp, 0x14
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x340]
push eax
call fcn.005b737c
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x74]
cmp dword [ebp - 0x60], 8
push ecx
cmovae edx, dword [ebp - 0x74]
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.004130d0
add esp, 4
mov edi, eax
lea eax, [ebp - 0x330]
push 0
push 5
push eax
call fcn.005b7396
add esp, 0xc
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x2f0]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x16
call fcn.004130d0
add esp, 0x14
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x25c]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x4246e4
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x4246e4
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
add esp, 4
push 0x67e5f8
call fcn.005b57fd
add esp, 4
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x1a
cmp esi, 0x67e5fc
je 0x4247a9
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x424769
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x424725
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x424760
test byte [0x67e5fc], 0x1f
je 0x42473c
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x424748
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x424754
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x42475e
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0x16
call fcn.00407420
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x15
call fcn.00407420
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x14
call fcn.00407420
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x13
call fcn.00407420
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.00407420
lea ecx, [ebp - 0x478]
mov dword [ebp - 4], 0x1b
call fcn.00415410
mov byte [ebp - 4], 0x1c
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x478]
mov byte [ebp - 4], 0x1d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x42486f
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x1e
test eax, eax
je 0x424860
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x424862
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov dword [ebp - 4], 0x1f
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x258]
mov ecx, eax
mov edx, dword [eax]
mov edx, dword [edx + 4]
call edx
mov edx, str.name:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
mov esi, dword [0x67e3a8]
add esp, 4
test esi, esi
jne 0x42490f
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x20
test eax, eax
je 0x424900
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x424902
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x424dc4
sub esp, 8
lea ecx, [ebp - 0x590]
call fcn.00415530
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0x22
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x23
call fcn.004075f5
lea ecx, [ebp - 0x1c4]
call fcn.00407dfc
xor edi, edi
mov byte [ebp - 4], 0x24
cmp dword [esi + 0xc], edi
jle 0x424982
cmp edi, 0xa
jge 0x424982
push 2
push 0x637484
lea ecx, [ebp - 0x1c4]
call fcn.0041df10
inc edi
cmp edi, dword [esi + 0xc]
jl 0x424965
lea ecx, [ebp - 0xbc]
call fcn.00407dfc
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x25
call fcn.00407dfc
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0xbc]
mov ecx, esi
push eax
call fcn.0041d380
cmp dword [ebp - 0x1b0], 8
lea eax, [ebp - 0x1c4]
push 0x2040
cmovae eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x580]
lea edx, [ebp - 0x580]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0xac]
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0xbc]
cmp dword [ebp - 0xa8], 8
lea ecx, [ebp - 0x580]
push eax
cmovae edx, dword [ebp - 0xbc]
mov byte [ebp - 4], 0x26
call fcn.004130d0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x2c0]
push 0x10
push eax
call fcn.005b7368
add esp, 8
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x424a55
xor ecx, ecx
jmp 0x424a5c
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x310]
push 6
push eax
call fcn.005b7396
add esp, 0x14
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x320]
push eax
call fcn.005b737c
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x16c]
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x17c]
cmp dword [ebp - 0x168], 8
push ecx
cmovae edx, dword [ebp - 0x17c]
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.004130d0
add esp, 4
mov edi, eax
lea eax, [ebp - 0x300]
push 0
push 5
push eax
call fcn.005b7396
add esp, 0xc
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x2b8]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x154]
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x164]
cmp dword [ebp - 0x150], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x164]
mov byte [ebp - 4], 0x26
call fcn.004130d0
add esp, 0x14
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x25c]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x424bc9
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x424bc9
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
add esp, 4
push 0x67e5f8
call fcn.005b57fd
add esp, 4
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x590]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x2a
cmp esi, 0x67e5fc
je 0x424c8e
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x424c4e
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x424c0a
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x424c45
test byte [0x67e5fc], 0x1f
je 0x424c21
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x424c2d
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x424c39
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x424c43
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x26
call fcn.00407420
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x25
call fcn.00407420
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x24
call fcn.00407420
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x23
call fcn.00407420
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x22
call fcn.00407420
lea ecx, [ebp - 0x528]
mov dword [ebp - 4], 0x2b
call fcn.00415410
mov byte [ebp - 4], 0x2c
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x528]
mov byte [ebp - 4], 0x2d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x424d5d
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x2e
test eax, eax
je 0x424d4e
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x424d50
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov dword [ebp - 4], 0x2f
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x78
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.deviceID:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
mov esi, dword [0x67e3a8]
add esp, 4
test esi, esi
jne 0x424dfe
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x30
test eax, eax
je 0x424def
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x424df1
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x4252b3
sub esp, 8
lea ecx, [ebp - 0x640]
call fcn.00415530
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0x32
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x33
call fcn.004075f5
lea ecx, [ebp - 0x1ac]
call fcn.00407dfc
xor edi, edi
mov byte [ebp - 4], 0x34
cmp dword [esi + 0xc], edi
jle 0x424e71
cmp edi, 0xa
jge 0x424e71
push 2
push 0x637484
lea ecx, [ebp - 0x1ac]
call fcn.0041df10
inc edi
cmp edi, dword [esi + 0xc]
jl 0x424e54
lea ecx, [ebp - 0x134]
call fcn.00407dfc
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x35
call fcn.00407dfc
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0x134]
mov ecx, esi
push eax
call fcn.0041d380
cmp dword [ebp - 0x198], 8
lea eax, [ebp - 0x1ac]
push 0x2040
cmovae eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x274]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x630]
lea edx, [ebp - 0x630]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x124]
mov byte [ebp - 4], 0x37
lea edx, [ebp - 0x134]
cmp dword [ebp - 0x120], 8
lea ecx, [ebp - 0x630]
push eax
cmovae edx, dword [ebp - 0x134]
mov byte [ebp - 4], 0x36
call fcn.004130d0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x27c]
push 0x10
push eax
call fcn.005b7368
add esp, 8
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x424f44
xor ecx, ecx
jmp 0x424f4b
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x2a8]
push 6
push eax
call fcn.005b7396
add esp, 0x14
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x2e8]
push eax
call fcn.005b737c
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x13c]
mov byte [ebp - 4], 0x38
lea edx, [ebp - 0x14c]
cmp dword [ebp - 0x138], 8
push ecx
cmovae edx, dword [ebp - 0x14c]
mov ecx, eax
mov byte [ebp - 4], 0x36
call fcn.004130d0
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2d8]
push 0
push 5
push eax
call fcn.005b7396
add esp, 0xc
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x26c]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x39
lea edx, [ebp - 0x11c]
cmp dword [ebp - 0x108], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x11c]
mov byte [ebp - 4], 0x36
call fcn.004130d0
add esp, 0x14
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x25c]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x4250b8
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x4250b8
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
add esp, 4
push 0x67e5f8
call fcn.005b57fd
add esp, 4
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x640]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x3a
cmp esi, 0x67e5fc
je 0x42517d
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x42513d
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x4250f9
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x425134
test byte [0x67e5fc], 0x1f
je 0x425110
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x42511c
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x425128
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x425132
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x36
call fcn.00407420
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x35
call fcn.00407420
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x34
call fcn.00407420
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x33
call fcn.00407420
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x32
call fcn.00407420
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 4], 0x3b
call fcn.00415410
mov byte [ebp - 4], 0x3c
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x5d8]
mov byte [ebp - 4], 0x3d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x42524c
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x3e
test eax, eax
je 0x42523d
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x42523f
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov dword [ebp - 4], 0x3f
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x20
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.directXVersion:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
mov esi, dword [0x67e3a8]
add esp, 4
test esi, esi
jne 0x4252ed
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], 0x40
test eax, eax
je 0x4252de
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x4252e0
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x42576a
sub esp, 8
lea ecx, [ebp - 0x6f0]
call fcn.00415530
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x42
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x43
call fcn.004075f5
lea ecx, [ebp - 0x194]
call fcn.00407dfc
xor edi, edi
mov byte [ebp - 4], 0x44
cmp dword [esi + 0xc], edi
jle 0x425360
cmp edi, 0xa
jge 0x425360
push 2
push 0x637484
lea ecx, [ebp - 0x194]
call fcn.0041df10
inc edi
cmp edi, dword [esi + 0xc]
jl 0x425343
lea ecx, [ebp - 0xec]
call fcn.00407dfc
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x45
call fcn.00407dfc
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0xec]
mov ecx, esi
push eax
call fcn.0041d380
cmp dword [ebp - 0x180], 8
lea eax, [ebp - 0x194]
push 0x2040
cmovae eax, dword [ebp - 0x194]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x26c]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x6e0]
lea edx, [ebp - 0x6e0]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0xdc]
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0xec]
cmp dword [ebp - 0xd8], 8
lea ecx, [ebp - 0x6e0]
push eax
cmovae edx, dword [ebp - 0xec]
mov byte [ebp - 4], 0x46
call fcn.004130d0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x27c]
push 0x10
push eax
call fcn.005b7368
add esp, 8
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x425433
xor ecx, ecx
jmp 0x42543a
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x2d8]
push 6
push eax
call fcn.005b7396
add esp, 0x14
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x2e8]
push eax
call fcn.005b737c
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0xf4]
mov byte [ebp - 4], 0x48
lea edx, [ebp - 0x104]
cmp dword [ebp - 0xf0], 8
push ecx
cmovae edx, dword [ebp - 0x104]
mov ecx, eax
mov byte [ebp - 4], 0x46
call fcn.004130d0
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2a8]
push 0
push 5
push eax
call fcn.005b7396
add esp, 0xc
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x274]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 4], 0x49
lea edx, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0xd4]
mov byte [ebp - 4], 0x46
call fcn.004130d0
add esp, 0x14
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x25c]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x4255ab
push 0x67e5f8
call fcn.005b583c
add esp, 4
mov edi, 0x67e5fc
cmp dword [0x67e5f8], 0xffffffff
jne 0x4255b0
mov ecx, edi
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
add esp, 4
push 0x67e5f8
call fcn.005b57fd
add esp, 4
jmp 0x4255b0
mov edi, 0x67e5fc
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x6f0]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x4a
cmp esi, 0x67e5fc
je 0x425675
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x425635
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x4255f1
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x42562c
test byte [0x67e5fc], 0x1f
je 0x425608
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x425614
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x425620
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x42562a
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x46
call fcn.00407420
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x45
call fcn.00407420
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x44
call fcn.00407420
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x43
call fcn.00407420
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x42
call fcn.00407420
lea ecx, [ebp - 0x688]
mov dword [ebp - 4], 0x4b
call fcn.00415410
mov byte [ebp - 4], 0x4c
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x688]
mov byte [ebp - 4], 0x4d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.0041d300
mov ecx, dword [0x67e60c]
mov dword [ebp - 4], 0x4e
cmp dword [0x67e610], 8
push ecx
cmovae edi, dword [0x67e5fc]
mov ecx, eax
mov edx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x28
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.driverVersion:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x4257e6
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x4f
cmp dword [esi + 0x14], 8
jb 0x4257a0
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x10
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.driver:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425862
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x50
cmp dword [esi + 0x14], 8
jb 0x42581c
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 8
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.chipset:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x4258de
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x51
cmp dword [esi + 0x14], 8
jb 0x425898
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x18
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.dac:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x42595a
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x52
cmp dword [esi + 0x14], 8
jb 0x425914
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x48
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.dedicated_ram:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x4259d6
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x53
cmp dword [esi + 0x14], 8
jb 0x425990
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x58
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.shared_ram:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425a52
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x54
cmp dword [esi + 0x14], 8
jb 0x425a0c
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x68
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.total_ram:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425ace
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x55
cmp dword [esi + 0x14], 8
jb 0x425a88
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x38
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.pixel_shader:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425b4a
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x56
cmp dword [esi + 0x14], 8
jb 0x425b04
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x40
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.vertex_shader:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425bc9
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x57
cmp dword [esi + 0x14], 8
jb 0x425b80
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x9c
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.transform_and_lighting:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425c48
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x58
cmp dword [esi + 0x14], 8
jb 0x425bff
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0x94
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.hardware_rasterization:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425cc7
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x59
cmp dword [esi + 0x14], 8
jb 0x425c7e
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0xa4
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.3d:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x425d46
push 3
push ecx
call fcn.0041d300
add esp, 4
mov ecx, eax
call fcn.0041d580
mov esi, eax
call fcn.0041d300
mov ecx, dword [esi + 0x10]
mov dword [ebp - 4], 0x5a
cmp dword [esi + 0x14], 8
jb 0x425cfd
mov esi, dword [esi]
push ecx
mov edx, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
call fcn.004130d0
mov ecx, dword [ebp - 0x258]
add esp, 4
add ecx, 0xb4
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, str.2ID:
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005b5208
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4