Function at 0x4c41f0
Capabilities:
Hide graphical window
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5591a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x674
push esi
push edi
xor eax, eax
mov dword [ebp - 0x68], 0
mov esi, ecx
mov dword [ebp - 0x58], 0
push eax
push 0x5618f0
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.00406520
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x9c]
push 0x2f
push eax
call fcn.0041ecb0
mov ecx, eax
add esp, 0xc
cmp dword [ecx + 0x14], 8
jb 0x4c4264
mov ecx, dword [ecx]
lea edx, [ebp - 0x5e4]
sub edx, ecx
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x4c4270
mov edx, dword [ebp - 0x88]
cmp edx, 8
jb 0x4c42c0
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4c42b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5411
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4c431e
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4314
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5411
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0
push 0
push 0
push 0x5617a4
mov dword [ebp - 0x50], 0x555aa500
mov dword [ebp - 0x4c], 0xff00aa
call dword [sym.imp.GDI32.dll_CreateDCA]
push 0xa4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x564]
push 0
push eax
call fcn.004e43a0
push 0x238
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4c0], 0
push 0
push eax
call fcn.004e43a0
add esp, 0x18
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp dword [esi + 0xe8], 0
mov byte [ebp - 4], 3
je 0x4c4630
movq xmm0, qword [0x56aca4]
mov al, byte [0x56acac]
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 9
movq qword [ebp - 0x68], xmm0
mov byte [ebp - 0x60], al
mov byte [ebp - 0x5f], 0
push 0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 4
push eax
mov ecx, esi
call fcn.0041d980
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004c2f00
add esp, 8
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x4c446a
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4460
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5416
push edx
push ecx
call fcn.004c824c
add esp, 8
mov esi, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
push 1
lea eax, [ebp - 0x564]
mov dword [ebp - 0x564], 0x1a8
push eax
push edi
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x4c457d
lea ecx, [ebp - 0x540]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c44b0
sub ecx, edx
lea eax, [ebp - 0x540]
push ecx
push eax
lea ecx, [ebp - 0x84]
call fcn.00406430
lea ecx, [ebp - 0x560]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c44d5
sub ecx, edx
lea eax, [ebp - 0x560]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.00406430
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x48]
cmovae ecx, dword [ebp - 0x84]
cmp dword [ebp - 0x34], 0x10
cmovae edx, esi
cmp eax, dword [ebp - 0x74]
jne 0x4c4574
mov esi, eax
sub esi, 4
jb 0x4c4531
nop dword [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4c4536
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4c4520
cmp esi, 0xfffffffc
je 0x4c456a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4c4563
cmp esi, 0xfffffffd
je 0x4c456a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4c4563
cmp esi, 0xfffffffe
je 0x4c456a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4c4563
cmp esi, 0xffffffff
je 0x4c456a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4c456a
sbb eax, eax
or eax, 1
jmp 0x4c456c
xor eax, eax
test eax, eax
jne 0x4c4574
mov al, 1
jmp 0x4c4576
xor al, al
test al, al
jne 0x4c4589
mov esi, dword [ebp - 0x48]
inc edi
cmp edi, 0x20
jl 0x4c4481
jmp 0x4c45f3
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xb4]
push str.DiscreteGPU_adapter_name_that_is_being_used_to_run_VideoMemoryTest_is_:
push eax
call fcn.00429b20
push eax
push 0x4e20
push 0xe
mov byte [ebp - 4], 7
call fcn.004204a0
mov edx, dword [ebp - 0xa0]
add esp, 0x18
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x4c45f3
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c45e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c541b
push edx
push ecx
call fcn.004c824c
add esp, 8
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x4c462d
mov edx, dword [ebp - 0x48]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x4c4623
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c542f
push ecx
push edx
call fcn.004c824c
add esp, 8
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x25c]
mov ecx, esi
push eax
call fcn.004c3240
test eax, eax
je 0x4c4656
push str.GetAllAvailDisplay_failed_in_VideoMemoryTest
push 0x4e20
push 0xe
call fcn.004204c0
add esp, 0xc
mov ecx, esi
call fcn.004c2c50
movq xmm0, qword [0x56aca4]
mov al, byte [0x56acac]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 9
movq qword [ebp - 0x48], xmm0
mov byte [ebp - 0x40], al
mov byte [ebp - 0x3f], 0
push 0
push 0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 8
push eax
mov ecx, esi
call fcn.0041d980
push eax
mov ecx, esi
call fcn.004c2ae0
mov edx, dword [ebp - 0x34]
mov esi, eax
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x4c46d9
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c46cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5420
push edx
push ecx
call fcn.004c824c
add esp, 8
test esi, esi
je 0x4c46f1
push str.ActivateDisplay_failed_in_VideoMemoryTest
push 0x4e20
push 0xe
call fcn.004204c0
add esp, 0xc
xor eax, eax
mov esi, 0x9c
mov dword [ebp - 0x18], eax
nop dword [eax + eax]
push 1
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x564], 0x1a8
push ecx
push eax
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x4c4899
test byte [ebp - 0x4c0], 1
je 0x4c4889
push 0x9c
lea eax, [ebp - 0x680]
push 0
push eax
call fcn.004e43a0
add esp, 0xc
mov word [ebp - 0x65c], si
lea eax, [ebp - 0x680]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x560]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
mov ecx, 0x27
lea esi, [ebp - 0x680]
lea edi, [ebp - 0x3bc]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
lea eax, [ebp - 0x278]
push 0x9c
push esi
push eax
mov dword [ebp - 0x20], esi
call fcn.004e43a0
add esp, 0xc
mov eax, 0x9c
mov word [ebp - 0x254], ax
lea eax, [ebp - 0x278]
push eax
push esi
lea eax, [ebp - 0x560]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
test eax, eax
je 0x4c4884
nop word [eax + eax]
mov ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x2b8]
imul ecx, dword [ebp - 0x208]
imul eax, dword [ebp - 0x2b0]
imul ecx, dword [ebp - 0x20c]
imul eax, dword [ebp - 0x2b4]
cmp eax, ecx
jae 0x4c4802
mov ecx, 0x27
lea esi, [ebp - 0x278]
lea edi, [ebp - 0x320]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x27c]
je 0x4c482e
mov ecx, 0x27
lea esi, [ebp - 0x278]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
add dword [ebp - 0x280], 0x9c
mov esi, dword [ebp - 0x20]
jmp 0x4c4841
lea ecx, [ebp - 0x278]
push ecx
push eax
lea ecx, [ebp - 0x284]
call fcn.004c1930
push 0x9c
lea eax, [ebp - 0x278]
inc esi
push 0
push eax
mov dword [ebp - 0x20], esi
call fcn.004e43a0
add esp, 0xc
mov eax, 0x9c
mov word [ebp - 0x254], ax
lea eax, [ebp - 0x278]
push eax
push esi
lea eax, [ebp - 0x560]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
test eax, eax
jne 0x4c47c0
mov esi, 0x9c
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x20
jl 0x4c4700
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0xe6], 0
je 0x4c48bc
mov eax, dword [ebp - 0x2b4]
mov esi, dword [ebp - 0x2b0]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2b8]
jmp 0x4c48d1
mov eax, dword [ebp - 0x350]
mov esi, dword [ebp - 0x34c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x354]
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xe4]
push eax
mov dword [ebp - 0x2c], esi
call fcn.0043d8f0
mov edi, eax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 9
push esi
push eax
call fcn.0043d8f0
mov esi, eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0xa
push eax
call fcn.0043d8f0
add esp, 0x18
push 0xd
push str.Display_Mode:
push 0
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00413330
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x5675c0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.004062d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push esi
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0xd
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0xcc]
call fcn.004196c0
push 1
push 0x5675c0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xe
call fcn.004062d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x154], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x144], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0xf
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x48]
call fcn.004196c0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x10
push eax
push 0x4e20
push 0xe
call fcn.004204a0
mov edx, dword [ebp - 0x34]
add esp, 0xc
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x4c4a53
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4a49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x4c4aa3
mov ecx, dword [ebp - 0x154]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4a99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xb8]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x4c4ae1
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4ad7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xf
mov byte [ebp - 0xcc], 0
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x4c4b3a
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4b30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x4c4b72
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4b68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x4c4bc2
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4bb8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x4c4c1b
mov ecx, dword [ebp - 0x13c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4c11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x4c4c74
mov ecx, dword [ebp - 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c4c6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c5425
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0x96
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0xe7], 0
je 0x4c4cbc
mov esi, dword [ebp + 8]
cmp dword [esi], 0
je 0x4c4cbc
push str.Killing_background_DX12_3DRenderingTest_thread_in_VideoMemoryTest::PerformTest__
push 8
push 0xe
call fcn.004204c0
add esp, 0xc
push 0
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], 0
push 0x7f00
push 0
mov dword [ebp - 0x100], 4
mov dword [ebp - 0x104], 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x5e4]
push 0xf
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push 0xfffffffffffffffa
push 0
mov dword [ebp - 0xf0], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x10c]
push eax
mov dword [ebp - 0x10c], 3
mov dword [ebp - 0x108], 0x4c6010
call dword [sym.imp.USER32.dll_RegisterClassW]
push edi
push 0xfffffffffffffffa
push 0
call dword [sym.imp.USER32.dll_GetWindowLongA]
push eax
push 0
push 0
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0
push 0
push 0x90000000
lea eax, [ebp - 0x5e4]
push eax
push eax
push 8
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
push 3
push esi
mov dword [ebp - 0x20], esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x37
call fcn.00421990
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
add edi, 0xf8
push edi
push 0
call sub.DDRAW.dll_DirectDrawCreate
push 0x3c
mov esi, eax
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c4ddc
mov edi, 0xf1c9a
jmp 0x4c5328
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi]
push 0x11
push dword [ebp - 0x20]
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 0x50]
mov ecx, esi
call dword [0x55f634]
call esi
push 0x41
mov esi, eax
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c4e89
cmp esi, 0x8876023a
jg 0x4c4e4c
je 0x4c4e45
cmp esi, 0x8007000e
je 0x4c4e3e
cmp esi, 0x80070057
je 0x4c4e37
cmp esi, 0x88760082
jne 0x4c4e5c
mov eax, str.ERROR:_Invalid_Object
jmp 0x4c4e6f
mov eax, str.ERROR:_Invalid_Params_specified
jmp 0x4c4e6f
mov eax, str.ERROR:_Out_of_memory_error
jmp 0x4c4e6f
mov eax, str.ERROR:_HWND_subclassed
jmp 0x4c4e6f
cmp esi, 0x8876023b
je 0x4c4e6a
cmp esi, 0x88760245
je 0x4c4e63
mov eax, str.ERROR:_Undefined_error
jmp 0x4c4e6f
mov eax, str.ERROR:_Exclusive_Model_already_set
jmp 0x4c4e6f
mov eax, str.ERROR:_HWND_already_set
push eax
push 0x4e20
push 0xe
call fcn.004204c0
add esp, 0xc
mov edi, 0xf1c9b
jmp 0x4c5328
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi]
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
mov esi, dword [eax]
push dword [ebp - 0x10]
push eax
mov esi, dword [esi + 0x54]
mov ecx, esi
call dword [0x55f634]
call esi
push 0x46
mov esi, eax
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c4ec9
mov edi, 0xf1c9c
jmp 0x4c5328
push 0x60
lea eax, [ebp - 0x1d4]
push 0
push eax
call fcn.004e43a0
mov esi, dword [ebp - 0x20]
add esp, 0xc
push 3
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x14]
add ecx, 0xf4
mov dword [ebp - 0x1dc], 0x6c
push 0
push ecx
mov dword [ebp - 0x1d8], 1
mov dword [ebp - 0x174], 0x200
mov esi, dword [eax]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x1dc]
push ecx
push eax
mov esi, dword [esi + 0x18]
mov ecx, esi
call dword [0x55f634]
call esi
push 0x50
mov esi, eax
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c4f5a
mov edi, 0xf1c9d
jmp 0x4c5328
mov esi, dword [ebp - 0x1c]
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push esi
mov edi, eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [ebp - 0x14], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x2c]
push 0
push 1
mov ecx, dword [eax]
lea eax, [ebp - 0x1dc]
push eax
push 0
push ecx
mov esi, dword [ecx]
mov esi, dword [esi + 0x64]
mov ecx, esi
call dword [0x55f634]
call esi
push 0x55
mov esi, eax
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c4fd9
mov edi, 0xf1c9f
jmp 0x4c5328
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1cc]
imul esi, edi
push eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0xe4]
push eax
shr esi, 3
mov dword [ebp - 0x14], esi
call fcn.0043d8f0
push eax
push 0x2a
push 6
mov byte [ebp - 4], 0x11
call fcn.004204a0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00403550
lea eax, [ebp - 0xe4]
push esi
push eax
call fcn.0043dab0
push eax
push 0x2b
push 6
mov byte [ebp - 4], 0x12
call fcn.004204a0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe4]
call fcn.00403550
mov edi, 1
push 0
mov dword [ebp - 0x6c], edi
call fcn.00511c98
push eax
call fcn.00502cc9
add esp, 8
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4c50d2
mov edx, dword [ebp - 0x28]
mov ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], 0xff
nop dword [eax]
test esi, esi
je 0x4c50c0
mov edi, eax
mov dword [ebp - 0x1c], esi
nop dword [eax]
call fcn.00502ca8
cdq
lea edi, [edi + 1]
idiv dword [ebp - 0x30]
mov byte [edi - 1], dl
sub esi, 1
jne 0x4c50a0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
add eax, edx
sub ecx, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], ecx
jne 0x4c5090
mov edi, 1
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x1b8]
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x80]
mov ecx, esi
call dword [0x55f634]
call esi
mov esi, eax
push 0x56
mov dword [ebp - 0x1c], esi
call fcn.00421990
add esp, 4
test esi, esi
je 0x4c5116
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, 0xf1c9e
jmp 0x4c5328
push 0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
push 0x56079c
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
call fcn.00406430
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x13
push eax
push 0x2d
push 6
call fcn.004204a0
mov edx, dword [ebp - 0x34]
add esp, 0xc
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x4c518a
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c5180
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c542a
push edx
push ecx
call fcn.004c824c
add esp, 8
xor esi, esi
mov dword [ebp - 0x10], esi
nop
test edi, edi
je 0x4c5323
cmp dword [ebp - 0x1c], 0
jne 0x4c52ac
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x1dc]
push 0
push 1
push ecx
mov eax, dword [eax]
push 0
push eax
mov esi, dword [eax]
mov esi, dword [esi + 0x64]
mov ecx, esi
call dword [0x55f634]
call esi
test eax, eax
jne 0x4c4fcf
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
test eax, eax
je 0x4c5285
mov esi, dword [ebp - 0x14]
mov edi, edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x4c5211
mov eax, dword [ebp - 0x10]
push esi
movzx eax, byte [ebp + eax - 0x50]
push eax
push edi
call fcn.004e43a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
add edi, ecx
sub eax, 1
mov dword [ebp - 0x24], eax
jne 0x4c51f4
mov edi, dword [ebp - 0x6c]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], edx
nop dword [eax + eax]
test edi, edi
je 0x4c527f
test esi, esi
je 0x4c5271
xor eax, eax
nop word [eax + eax]
test edi, edi
je 0x4c5268
mov esi, dword [ebp - 0x10]
add ecx, eax
add ecx, dword [ebp - 0x30]
inc eax
mov dl, byte [ebp + esi - 0x50]
mov dh, byte [ecx]
mov esi, dword [ebp - 0x14]
mov byte [ecx], dl
xor ecx, ecx
cmp dh, dl
cmove ecx, edi
mov edi, ecx
mov ecx, dword [ebp - 0x1c]
cmp eax, esi
jb 0x4c5240
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], edi
inc edx
add ecx, eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [ebp - 0x18]
jb 0x4c5230
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x2c]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x80]
mov ecx, esi
call dword [0x55f634]
call esi
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4c5103
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
lea eax, [esi + 0x57]
push eax
call fcn.00421990
add esp, 4
cmp esi, 8
jl 0x4c5190
test edi, edi
je 0x4c5323
push 0x5f
call fcn.00421990
add esp, 4
lea eax, [ebp - 0x170]
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x4c5328
nop word [eax + eax]
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x4c52f0
jmp 0x4c5328
mov edi, 0xf1d9c
mov edx, dword [ebp - 0x70]
cmp edx, 0x10
jb 0x4c535f
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c5355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c542f
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp edx, 0x10
jb 0x4c53ae
mov ecx, dword [ebp - 0x9c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c53a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c542f
push edx
push ecx
call fcn.004c824c
add esp, 8
mov esi, dword [ebp - 0x284]
test esi, esi
je 0x4c53fd
mov ecx, dword [ebp - 0x27c]
mov eax, 0xd20d20d3
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x9c
mov eax, esi
cmp ecx, 0x1000
jb 0x4c53f3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c542f
push ecx
push esi
call fcn.004c824c
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
call fcn.004f1161
int3