Function at 0x4b6180
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5581df
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x754
push esi
push edi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
mov dword [edi + 0x10b8], eax
mov byte [edi + 0x10b4], 0
call fcn.00421990
mov eax, dword [str._Retries]
add esp, 4
mov ecx, dword [0x565d8c]
mov dword [ebp - 0x10], 0xf
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x1c], 0
push 1
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.0041d980
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x148], eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6237
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b622d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8611
push edx
push ecx
call fcn.004c824c
add esp, 8
movq xmm0, qword [str._interactive]
mov eax, dword [0x565d30]
mov dword [ebp - 0x10], 0xf
mov dword [ebp - 0x14], 0xc
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 0
push 1
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x139], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b62b3
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b62a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8616
push edx
push ecx
call fcn.004c824c
add esp, 8
mov eax, dword [0x566208]
movq xmm0, qword [str._VerifyChecksum]
mov dword [ebp - 0x1c], eax
mov ax, word [0x56620c]
mov word [ebp - 0x18], ax
mov al, byte [0x56620e]
mov dword [ebp - 0x10], 0xf
mov dword [ebp - 0x14], 0xf
movq qword [ebp - 0x24], xmm0
mov byte [ebp - 0x16], al
mov byte [ebp - 0x15], 0
push 1
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13f], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6341
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6337
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b861b
push edx
push ecx
call fcn.004c824c
add esp, 8
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push 0x20
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406210
movups xmm0, xmmword [str._CalibrationFilePath]
mov dword [ebp - 0x14], 0x14
mov dword [ebp - 0x10], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x567540]
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], 0
mov dword [ebp - 0x24], eax
push str.CQ_VIDEO.DAT
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.0041d8c0
push eax
lea ecx, [edi + 0x190]
call fcn.00413b90
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x4b63e7
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b63dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8620
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6434
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b642a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8620
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0x15
lea esi, [edi + 0x10c8]
push str.OpenGL3DRenderingTest
mov ecx, esi
call fcn.00406430
push dword [edi + 0x148]
lea eax, [ebp - 0x48]
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x1158]
push eax
call fcn.00413b90
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x4b649a
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6490
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8625
push edx
push ecx
call fcn.004c824c
add esp, 8
push 1
push 0x562c78
lea ecx, [edi + 0x1110]
call fcn.00406430
xor eax, eax
mov dword [ebp - 0x10], 0xf
mov word [edi + 0x10c4], ax
movq xmm0, qword [str._Calibrate]
mov ax, word [0x565eec]
mov dword [ebp - 0x14], 0xa
movq qword [ebp - 0x24], xmm0
mov word [ebp - 0x1c], ax
mov byte [ebp - 0x1a], 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 4
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13e], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6533
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6529
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b862a
push edx
push ecx
call fcn.004c824c
add esp, 8
cmp byte [edi + 0x13e], 0
je 0x4b6550
call fcn.00445100
mov ecx, eax
call fcn.00445290
test al, al
je 0x4b862f
sub esp, 0x18
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
call fcn.00440b40
add esp, 0x18
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
mov byte [edi + 0x10b4], al
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
push 0x20
mov byte [ebp - 0x24], 0
call fcn.00406210
movups xmm0, xmmword [str._CreateGenericCalibration]
mov dword [ebp - 0x14], 0x19
mov dword [ebp - 0x10], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5662c4]
movq qword [eax + 0x10], xmm0
mov cl, byte [0x5662cc]
mov byte [eax + 0x18], cl
mov byte [eax + 0x19], 0
mov dword [ebp - 0x24], eax
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 9
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x18c], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b661c
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6612
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b873f
push edx
push ecx
call fcn.004c824c
add esp, 8
cmp byte [edi + 0x13e], 0
je 0x4b6632
cmp byte [edi + 0x18c], 0
je 0x4b6632
xor al, al
jmp 0x4b6634
mov al, 1
mov byte [0x59e361], al
call fcn.00421740
test al, al
jne 0x4b84fb
call fcn.0041f740
test al, al
jne 0x4b84fb
cmp byte [edi + 0x139], al
je 0x4b8744
mov eax, dword [0x565dc8]
movq xmm0, qword [str._ActiveDisplay]
mov dword [ebp - 0x1c], eax
mov ax, word [0x565dcc]
mov dword [ebp - 0x10], 0xf
mov dword [ebp - 0x14], 0xe
movq qword [ebp - 0x24], xmm0
mov word [ebp - 0x18], ax
mov byte [ebp - 0x16], 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x17
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13a], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b66e5
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b66db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8859
push edx
push ecx
call fcn.004c824c
add esp, 8
push 8
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._TestAll
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x18
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13b], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6762
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6758
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b885e
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xc
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._PrimaryDisp
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x19
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13c], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b67df
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b67d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8863
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xd
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._ConvertVideo
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1a
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x13d], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b685c
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8868
push edx
push ecx
call fcn.004c824c
add esp, 8
push 8
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Display
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1b
push eax
mov ecx, edi
call fcn.0041d980
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x140], eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b68d9
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b68cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b886d
push edx
push ecx
call fcn.004c824c
add esp, 8
push 7
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Prompt
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1c
push eax
mov ecx, edi
call fcn.0041d980
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x168], eax
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6956
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b694c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8872
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xe
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._CaptureScreen
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1d
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0x16c], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b69d3
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b69c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8877
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xe
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._ScreenshotDir
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0x56079c
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.0041d8c0
push eax
lea ecx, [edi + 0x170]
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6a65
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6a5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b887c
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xe
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode640x480x8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x1f
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd0], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6ae2
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6ad8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8881
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode640x480x16
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x20
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd1], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6b5f
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6b55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8886
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode640x480x24
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x21
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd2], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6bdc
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6bd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b888b
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode640x480x32
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x22
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd3], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6c59
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6c4f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8890
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xe
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode720x480x8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x23
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd4], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6cd6
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6ccc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b8895
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode720x480x16
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x24
push eax
mov ecx, edi
call fcn.0041e700
mov edx, dword [ebp - 0x10]
mov byte [edi + 0xd5], al
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4b6d53
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4b6d49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b889a
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode720x480x24
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x25
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xd6], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode720x480x32
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x26
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xd7], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xe
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode800x600x8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x27
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xd8], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode800x600x16
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x28
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xd9], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
push 0xf
push str._Mode800x600x24
lea ecx, [ebp - 0x24]
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x29
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xda], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode800x600x32
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2a
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xdb], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode1024x768x8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2b
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xdc], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0x10
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode1024x768x16
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2c
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xdd], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0x10
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode1024x768x24
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
mov dword [ebp - 4], 0x2d
push 0
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xde], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0x10
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode1024x768x32
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2e
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xdf], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0xf
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str._Mode1152x864x8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.00406430
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2f
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x24]
mov byte [edi + 0xe0], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1152x864x16
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x30
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe1], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1152x864x24
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x31
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe2], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1152x864x32
lea ecx, [ebp - 0x48]
call fcn.00408370
mov dword [ebp - 4], 0x32
push 0
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe3], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x768x8
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x33
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe4], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x768x16
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x34
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe5], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x768x24
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x35
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe6], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x768x32
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x36
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe7], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x1024x8
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x37
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe8], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x1024x16
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x38
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xe9], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x1024x24
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x39
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xea], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1280x1024x32
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3a
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xeb], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1400x1050x8
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3b
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xec], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1400x1050x16
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3c
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xed], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1400x1050x24
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3d
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xee], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1400x1050x32
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3e
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xef], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1600x1200x8
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x3f
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xf0], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1600x1200x16
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x40
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xf1], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1600x1200x24
lea ecx, [ebp - 0x48]
call fcn.00408370
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x41
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x48]
mov byte [edi + 0xf2], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1600x1200x32
lea ecx, [ebp - 0x330]
call fcn.00408370
push 0
lea eax, [ebp - 0x330]
mov dword [ebp - 4], 0x42
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x330]
mov byte [edi + 0xf3], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1792x1344x8
lea ecx, [ebp - 0x348]
call fcn.00408370
push 0
lea eax, [ebp - 0x348]
mov dword [ebp - 4], 0x43
push eax
mov ecx, edi
call fcn.0041e700
mov byte [edi + 0xf4], al
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1792x1344x16
lea ecx, [ebp - 0x360]
call fcn.00408370
push 0
lea eax, [ebp - 0x360]
mov dword [ebp - 4], 0x44
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x360]
mov byte [edi + 0xf5], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1792x1344x24
lea ecx, [ebp - 0xd8]
call fcn.00408370
push 0
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x45
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0xd8]
mov byte [edi + 0xf6], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1792x1344x32
lea ecx, [ebp - 0xf0]
call fcn.00408370
push 0
lea eax, [ebp - 0xf0]
mov dword [ebp - 4], 0x46
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0xf0]
mov byte [edi + 0xf7], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1440x8
lea ecx, [ebp - 0x108]
call fcn.00408370
push 0
lea eax, [ebp - 0x108]
mov dword [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x108]
mov byte [edi + 0xf8], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1440x16
lea ecx, [ebp - 0x120]
call fcn.00408370
push 0
lea eax, [ebp - 0x120]
mov dword [ebp - 4], 0x48
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x120]
mov byte [edi + 0xf9], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1440x24
lea ecx, [ebp - 0x138]
call fcn.00408370
push 0
lea eax, [ebp - 0x138]
mov dword [ebp - 4], 0x49
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x138]
mov byte [edi + 0xfa], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1440x32
lea ecx, [ebp - 0x150]
call fcn.00408370
push 0
lea eax, [ebp - 0x150]
mov dword [ebp - 4], 0x4a
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x150]
mov byte [edi + 0xfb], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1880x8
lea ecx, [ebp - 0x168]
call fcn.00408370
push 0
lea eax, [ebp - 0x168]
mov dword [ebp - 4], 0x4b
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x168]
mov byte [edi + 0xfc], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1880x16
lea ecx, [ebp - 0x180]
call fcn.00408370
push 0
lea eax, [ebp - 0x180]
mov dword [ebp - 4], 0x4c
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x180]
mov byte [edi + 0xfd], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1880x24
lea ecx, [ebp - 0x198]
call fcn.00408370
push 0
lea eax, [ebp - 0x198]
mov dword [ebp - 4], 0x4d
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x198]
mov byte [edi + 0xfe], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1800x1880x32
lea ecx, [ebp - 0x1b0]
call fcn.00408370
push 0
lea eax, [ebp - 0x1b0]
mov dword [ebp - 4], 0x4e
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x1b0]
mov byte [edi + 0xff], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1080x8
lea ecx, [ebp - 0x1c8]
call fcn.00408370
mov dword [ebp - 4], 0x4f
push 0
lea eax, [ebp - 0x1c8]
mov ecx, edi
push eax
call fcn.0041e700
lea ecx, [ebp - 0x1c8]
mov byte [edi + 0x100], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1080x16
lea ecx, [ebp - 0x1e0]
call fcn.00408370
push 0
lea eax, [ebp - 0x1e0]
mov dword [ebp - 4], 0x50
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x1e0]
mov byte [edi + 0x101], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1080x24
lea ecx, [ebp - 0x1f8]
call fcn.00408370
push 0
lea eax, [ebp - 0x1f8]
mov dword [ebp - 4], 0x51
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x1f8]
mov byte [edi + 0x102], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1080x32
lea ecx, [ebp - 0x210]
call fcn.00408370
push 0
lea eax, [ebp - 0x210]
mov dword [ebp - 4], 0x52
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x210]
mov byte [edi + 0x103], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1200x8
lea ecx, [ebp - 0x228]
call fcn.00408370
push 0
lea eax, [ebp - 0x228]
mov dword [ebp - 4], 0x53
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x228]
mov byte [edi + 0x104], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1200x16
lea ecx, [ebp - 0x240]
call fcn.00408370
push 0
lea eax, [ebp - 0x240]
mov dword [ebp - 4], 0x54
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x240]
mov byte [edi + 0x105], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1200x24
lea ecx, [ebp - 0x258]
call fcn.00408370
push 0
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0x55
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x258]
mov byte [edi + 0x106], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1200x32
lea ecx, [ebp - 0x270]
call fcn.00408370
push 0
lea eax, [ebp - 0x270]
mov dword [ebp - 4], 0x56
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x270]
mov byte [edi + 0x107], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1440x8
lea ecx, [ebp - 0x288]
call fcn.00408370
push 0
lea eax, [ebp - 0x288]
mov dword [ebp - 4], 0x57
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x288]
mov byte [edi + 0x108], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1440x16
lea ecx, [ebp - 0x2a0]
call fcn.00408370
push 0
lea eax, [ebp - 0x2a0]
mov dword [ebp - 4], 0x58
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x2a0]
mov byte [edi + 0x109], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1440x24
lea ecx, [ebp - 0x2b8]
call fcn.00408370
push 0
lea eax, [ebp - 0x2b8]
mov dword [ebp - 4], 0x59
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x2b8]
mov byte [edi + 0x10a], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode1920x1440x32
lea ecx, [ebp - 0x2d0]
call fcn.00408370
push 0
lea eax, [ebp - 0x2d0]
mov dword [ebp - 4], 0x5a
push eax
mov ecx, edi
call fcn.0041e700
mov byte [edi + 0x10b], al
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode2048x1536x8
lea ecx, [ebp - 0x2e8]
call fcn.00408370
push 0
lea eax, [ebp - 0x2e8]
mov dword [ebp - 4], 0x5b
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x2e8]
mov byte [edi + 0x10c], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode2048x1536x16
lea ecx, [ebp - 0x300]
call fcn.00408370
push 0
lea eax, [ebp - 0x300]
mov dword [ebp - 4], 0x5c
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x300]
mov byte [edi + 0x10d], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode2048x1536x24
lea ecx, [ebp - 0x318]
call fcn.00408370
push 0
lea eax, [ebp - 0x318]
mov dword [ebp - 4], 0x5d
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x318]
mov byte [edi + 0x10e], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Mode2048x1536x32
lea ecx, [ebp - 0x90]
call fcn.00408370
push 0
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x5e
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x90]
mov byte [edi + 0x10f], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push str._Resolutions
lea ecx, [ebp - 0x68]
call fcn.00408370
push 0x56079c
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0x90]
mov ecx, edi
push eax
call fcn.0041d8c0
lea esi, [edi + 0x114]
push eax
mov ecx, esi
call fcn.00413b90
lea ecx, [ebp - 0x90]
call fcn.00403550
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
cmp dword [esi + 0x14], 0x10
jb 0x4b7c18
mov esi, dword [esi]
push 0x561a70
push esi
call fcn.0051bd65
add esp, 8
test eax, eax
je 0x4b7ca8
nop word [eax + eax]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x18], 0
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x10], 0
push ecx
push str._dx_dx_d
push eax
call fcn.0040d560
mov ecx, dword [edi + 0x130]
add esp, 0x14
cmp ecx, dword [edi + 0x134]
je 0x4b7c85
movq xmm0, qword [ebp - 0x18]
movq qword [ecx], xmm0
mov eax, dword [ebp - 0x10]
mov dword [ecx + 8], eax
add dword [edi + 0x130], 0xc
jmp 0x4b7c95
lea eax, [ebp - 0x18]
push eax
push ecx
lea ecx, [edi + 0x12c]
call fcn.004afe80
push 0x561a70
push 0
call fcn.0051bd65
add esp, 8
test eax, eax
jne 0x4b7c30
push str._IgnoreUnsupportedResolutions
lea ecx, [ebp - 0x68]
call fcn.00408370
push 0
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0x60
push eax
mov ecx, edi
call fcn.0041e700
lea ecx, [ebp - 0x68]
mov byte [edi + 0x138], al
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 1
call fcn.00421990
mov al, byte [edi + 0x139]
add esp, 4
test al, al
jne 0x4b7d08
movzx eax, byte [edi + 0x13e]
push eax
call fcn.0040d190
mov al, byte [edi + 0x139]
add esp, 4
cmp al, 1
lea ecx, [ebp - 0x68]
push 0x56079c
sete al
mov byte [edi + 0x110], al
call fcn.00408370
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0x61
push eax
push 2
push 3
call fcn.004204a0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.00403550
push 5
call fcn.00421990
add esp, 4
mov dword [edi + 0x1b0], 0
mov dword [edi + 0x160], 0
mov dword [edi + 0x164], 0
mov dword [edi + 0x158], 0
push 0
push 0
push 0
push 0x5617a4
call dword [sym.imp.GDI32.dll_CreateDCA]
mov esi, eax
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push esi
mov dword [ebp - 0x78], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [ebp - 0x2c], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
mov dword [ebp - 0x50], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [edi + 0x15c]
mov dword [eax], 0
push 0x400
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x760]
push 0
push eax
call fcn.004e43a0
push 0
lea eax, [ebp - 0xa8]
push str.Texture3.bmp
push eax
call fcn.00409d30
add esp, 0x18
cmp dword [ebp - 0x98], 0
mov dword [ebp - 4], 0x62
jne 0x4b889f
cmp byte [edi + 0x13a], 0
je 0x4b7e2a
call fcn.00408590
mov esi, eax
cmp esi, 1
je 0x4b7e2a
push 0xa
mov byte [ebp - 0x25], 0
call fcn.00421990
add esp, 4
jmp 0x4b8065
push 0xa
call fcn.00421990
add esp, 4
mov byte [ebp - 0x25], 1
lea eax, [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004b4c50
test al, al
jne 0x4b7e70
push 0x56079c
push 0x61
push 8
mov byte [ebp - 0x25], al
call fcn.004204c0
mov ecx, 0xf1d32
add esp, 0xc
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x6c]
xor esi, esi
cmp dword [ecx], esi
jle 0x4b7f55
mov ecx, 0x50
lea eax, [edi + 0x1b8]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x74], eax
nop
cmp byte [ebp - 0x25], 0
mov dword [ebp + esi*4 - 0x760], 1
je 0x4b7f25
call fcn.0040d240
cmp byte [edi + 0x138], 0
jne 0x4b8029
mov eax, dword [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
push dword [eax - 4]
call fcn.0040d1a0
add esp, 0xc
test al, al
jne 0x4b8029
mov eax, 0xf1ca6
mov dword [ebp + esi*4 - 0x760], 0
mov dword [ebp - 0x70], eax
cmp byte [edi + 0x13a], 0
je 0x4b7f0c
call fcn.0040a630
cmp byte [ebp - 0x25], 1
jne 0x4b7f0c
cmp eax, 1
je 0x4b7f0c
mov dword [ebp + esi*4 - 0x760], 0
mov dword [ebp - 0x70], eax
cmp eax, 0xffffffb7
je 0x4b7f52
push dword [ebp - 0x78]
push dword [ebp - 0x50]
push dword [ebp - 0x2c]
call fcn.0040d1a0
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov eax, ecx
mov ecx, dword [ebp - 0x6c]
cdq
idiv dword [ecx]
add eax, 0xa
push eax
call fcn.00421990
mov eax, dword [ebp - 0x6c]
inc esi
mov ecx, dword [ebp - 0x4c]
add esp, 4
add dword [ebp - 0x74], 0xc
add ecx, 0x50
mov dword [ebp - 0x4c], ecx
cmp esi, dword [eax]
jl 0x4b7e90
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
cmp esi, 0x44
jne 0x4b8048
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.990356
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x66
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x67
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
push 0x14
call fcn.004c821c
add esp, 0x108
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x68
test eax, eax
je 0x4b8989
push 0xf1c94
mov ecx, eax
call fcn.00417f90
mov esi, eax
jmp 0x4b898b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov ecx, edi
call fcn.004b3e20
cmp eax, 1
jne 0x4b7ed7
mov byte [ebp - 0x25], al
jmp 0x4b7ee5
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
jle 0x4b8065
cmp dword [ebp + eax*4 - 0x760], 0
je 0x4b8061
inc eax
cmp eax, ecx
jl 0x4b8050
jmp 0x4b8065
mov byte [ebp - 0x25], 0
call fcn.00421740
test al, al
jne 0x4b83ee
call fcn.0041f740
test al, al
jne 0x4b83ee
cmp byte [ebp - 0x25], al
je 0x4b812c
lea eax, [ebp - 0x90]
push 1
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x90]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push 0x562c78
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
push 0x56079c
lea ecx, [ebp - 0x68]
call fcn.00408370
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x6e
push eax
push 3
push 3
call fcn.004204a0
add esp, 0xc
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x68]
call fcn.00403550
cmp byte [edi + 0x13e], 0
je 0x4b811d
push 0x56079c
push 0xc9
push 3
call fcn.004204c0
add esp, 0xc
jmp 0x4b8371
push 0x64
call fcn.00421990
add esp, 4
jmp 0x4b8371
test esi, esi
jns 0x4b8132
neg esi
cmp esi, 0x49
jne 0x4b821e
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.990358
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x6f
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x70
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
push 0x14
call fcn.004c821c
add esp, 0x108
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x71
test eax, eax
je 0x4b81fc
push 0xf1c96
mov ecx, eax
call fcn.00417f90
mov esi, eax
jmp 0x4b81fe
xor esi, esi
push 0x56079c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x62
call fcn.00408370
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x72
push eax
push 0x49
jmp 0x4b89a6
cmp esi, 0x44
jne 0x4b8304
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.990356
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x73
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x74
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
push 0x14
call fcn.004c821c
add esp, 0x108
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x75
test eax, eax
je 0x4b82e8
push 0xf1c94
mov ecx, eax
call fcn.00417f90
mov esi, eax
jmp 0x4b82ea
xor esi, esi
push 0x56079c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x62
call fcn.00408370
mov byte [ebp - 4], 0x76
jmp 0x4b89a0
test esi, esi
je 0x4b8371
lea eax, [ebp - 0x68]
push esi
push eax
call fcn.0043d8f0
push eax
mov byte [ebp - 4], 0x77
call fcn.004216c0
add esp, 0xc
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x68]
call fcn.00403550
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0xc0]
call fcn.00403550
sub esp, 0x18
mov eax, esp
push esi
push eax
call fcn.0043d8f0
movzx eax, word [edi + 0x10c4]
add esp, 8
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x78
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x79
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
add esp, 0x104
lea ecx, [ebp - 0xa8]
call fcn.00403550
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x25]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc0]
push 0xffffffffffffffff
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0xc0]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.995000
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x6a
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x6b
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
add esp, 0x104
lea ecx, [ebp - 0x68]
push 0x56079c
call fcn.00408370
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x6c
push eax
push 0x18
push 8
call fcn.004204a0
add esp, 0xc
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x68]
call fcn.00403550
push 0x14
call fcn.004c821c
add esp, 4
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x6d
test eax, eax
je 0x4b84ed
push 0xf2eb8
mov ecx, eax
call fcn.00417f90
mov byte [ebp - 4], 0x62
mov dword [ebp - 0x2c], eax
jmp 0x4b89be
xor eax, eax
mov byte [ebp - 4], 0x62
mov dword [ebp - 0x2c], eax
jmp 0x4b89be
lea eax, [ebp - 0x68]
push 0xffffffffffffffff
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.995000
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x30], esp
push esi
call fcn.00433e90
sub esp, 0x18
mov dword [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov dword [ebp - 4], 0xffffffff
call fcn.004396b0
add esp, 0x104
lea ecx, [ebp - 0x68]
push 0x56079c
call fcn.00408370
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xc
push eax
push 0x18
push 8
call fcn.004204a0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.00403550
push 0x14
call fcn.004c821c
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x4b8600
push 0xf2eb8
mov ecx, eax
call fcn.00417f90
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], eax
jmp 0x4b89be
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], eax
jmp 0x4b89be
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.20472
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x2c], esp
push esi
call fcn.00433e90
sub esp, 0x18
mov dword [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov dword [ebp - 4], 0xffffffff
call fcn.004396b0
push 0x14
call fcn.004c821c
add esp, 0x108
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x4b86f3
push 0x4ff8
mov ecx, eax
call fcn.00417f90
mov esi, eax
jmp 0x4b86f5
xor esi, esi
push 0x56079c
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.00408370
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 8
push eax
push 0x1d
push 7
mov ecx, esi
call fcn.00418280
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.00403550
push 0x582dc0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
push eax
call fcn.004e4900
call fcn.004f1161
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.990162
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x2c], esp
push esi
call fcn.00433e90
sub esp, 0x18
mov dword [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0xf
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov dword [ebp - 4], 0xffffffff
call fcn.004396b0
add esp, 0x104
lea ecx, [ebp - 0x48]
push 0x56079c
call fcn.00408370
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0x10
push eax
push 0xe3
push 8
call fcn.004204a0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00403550
push 0x14
call fcn.004c821c
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0x11
test eax, eax
je 0x4b883f
push 0xf1bd2
mov ecx, eax
call fcn.00417f90
jmp 0x4b8841
xor eax, eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push 0x582dc0
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.004e4900
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0043d8f0
add esp, 8
lea ecx, [edi + 0x10f8]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x68]
call fcn.00403550
sub esp, 0x18
mov ecx, esp
push str.990618
call fcn.00408370
movzx eax, word [edi + 0x10c4]
mov ecx, edi
push eax
call fcn.004b5a60
movzx eax, byte [edi + 0x10b4]
push eax
push dword [edi + 0x10c0]
lea eax, [edi + 0x10c8]
sub esp, 0xcc
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00433e90
sub esp, 0x18
mov byte [ebp - 4], 0x63
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x567550
call fcn.00408370
sub esp, 0x18
mov byte [ebp - 4], 0x64
lea eax, [edi + 0xa0]
mov ecx, esp
push eax
call fcn.00402c00
mov byte [ebp - 4], 0x62
call fcn.004396b0
push 0x14
call fcn.004c821c
add esp, 0x108
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x65
test eax, eax
je 0x4b8960
push 0xf1d9a
mov ecx, eax
call fcn.00417f90
mov esi, eax
jmp 0x4b8962
xor esi, esi
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x62
push eax
push 0x1e
push 7
mov ecx, esi
call fcn.00418280
push 0x582dc0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
push eax
call fcn.004e4900
xor esi, esi
push 0x56079c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x62
call fcn.00408370
mov byte [ebp - 4], 0x69
lea eax, [ebp - 0x68]
push eax
push 0x44
push 7
mov ecx, esi
call fcn.00418280
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x62
call fcn.00403550
mov dword [ebp - 0x2c], esi
push 0x582dc0
lea eax, [ebp - 0x2c]
push eax
call fcn.004e4900
int3