Function at 0x4e0e40
Capabilities:
Check mutex on windows
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fb7c2
mov eax, dword fs:[0]
push eax
sub esp, 0x7e0
mov eax, dword [0x654c54]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x76c], ecx
call dword [sym.imp.kernel32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x360], eax
mov edx, dword [ebp - 0x76c]
movzx eax, byte [edx + 0x365]
test eax, eax
je 0x4e0e99
jmp 0x4e2092
cmp dword [0x6a1498], 0
je 0x4e0eaf
cmp dword [0x6a149c], 0
jne 0x4e104c
push str.You_need_DirectX
lea ecx, [ebp - 0x278]
call fcn.0040dc00
mov dword [ebp - 4], 0
push str.YOU_NEED_DIRECTX
lea ecx, [ebp - 0x294]
call fcn.0040dbc0
mov byte [ebp - 4], 1
push str.This_application_requires_DirectX_to_run.__You_can_get_DirectX_at_http:__www.microsoft.com_directx
lea ecx, [ebp - 0x2cc]
call fcn.0040dc00
mov byte [ebp - 4], 2
push str.APP_REQUIRES_DIRECTX
lea ecx, [ebp - 0x2e8]
call fcn.0040dbc0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x278]
push ecx
lea edx, [ebp - 0x294]
push edx
lea eax, [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x76c]
call fcn.004df6b0
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x54c], ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x2cc]
push edx
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x304]
push ecx
mov ecx, dword [ebp - 0x76c]
call fcn.004df6b0
mov dword [ebp - 0x550], eax
mov edx, dword [ebp - 0x54c]
cmp dword [edx + 0x18], 8
jb 0x4e0f7b
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x774], ecx
jmp 0x4e0f8a
mov edx, dword [ebp - 0x54c]
add edx, 4
mov dword [ebp - 0x774], edx
mov eax, dword [ebp - 0x550]
cmp dword [eax + 0x18], 8
jb 0x4e0fa7
mov ecx, dword [ebp - 0x550]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x778], edx
jmp 0x4e0fb6
mov eax, dword [ebp - 0x550]
add eax, 4
mov dword [ebp - 0x778], eax
push 0x10
mov ecx, dword [ebp - 0x774]
push ecx
mov edx, dword [ebp - 0x778]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
push 1
lea ecx, [ebp - 0x304]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x2b0]
call fcn.00407a40
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x2e8]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.004079f0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x278]
call fcn.00407a40
push 0
mov ecx, dword [ebp - 0x76c]
call fcn.004d56d0
mov eax, dword [ebp - 0x76c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0x174]
call eax
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0x60]
call eax
call fcn.00525e00
movzx ecx, al
test ecx, ecx
je 0x4e1422
lea edx, [ebp - 0x14]
push edx
push str.shell32.dll
call fcn.004cace0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4e10a5
cmp dword [ebp - 0x14], 0
jne 0x4e10b9
lea eax, [ebp - 0x14]
push eax
push str.shfolder.dll
call fcn.004cace0
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x4e1422
lea ecx, [ebp - 0x144]
push ecx
push 0
push 0
push 0x23
push 0
call dword [ebp - 0x10]
lea edx, [ebp - 0x144]
push edx
lea ecx, [ebp - 0x320]
call fcn.0040dbc0
mov dword [ebp - 4], 5
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x33c]
push ecx
call fcn.00528860
add esp, 8
mov dword [ebp - 0x77c], eax
mov edx, dword [ebp - 0x77c]
mov dword [ebp - 0x780], edx
mov byte [ebp - 4], 6
push 0x6130e4
mov eax, dword [ebp - 0x780]
push eax
lea ecx, [ebp - 0x358]
push ecx
call fcn.0040f1e0
add esp, 0xc
mov dword [ebp - 0x784], eax
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x788], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x76c]
add eax, 0x28
push eax
mov ecx, dword [ebp - 0x788]
push ecx
lea edx, [ebp - 0x374]
push edx
call fcn.0040f350
add esp, 0xc
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0x790], eax
mov byte [ebp - 4], 8
push 0x6130e4
mov ecx, dword [ebp - 0x790]
push ecx
lea edx, [ebp - 0x390]
push edx
call fcn.0040f1e0
add esp, 0xc
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x798], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x76c]
add ecx, 0x44
push ecx
mov edx, dword [ebp - 0x798]
push edx
lea eax, [ebp - 0x38]
push eax
call fcn.0040f350
add esp, 0xc
mov byte [ebp - 4], 0xb
push 0
push 1
lea ecx, [ebp - 0x390]
call fcn.004079f0
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x374]
call fcn.004079f0
mov byte [ebp - 4], 0xd
push 0
push 1
lea ecx, [ebp - 0x358]
call fcn.004079f0
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x33c]
call fcn.004079f0
mov byte [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0x320]
call fcn.004079f0
push 0x6130e4
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x3ac]
push edx
call fcn.0040f1e0
add esp, 0xc
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x7a0], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x7a0]
push ecx
call fcn.00525ee0
add esp, 4
mov byte [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0x3ac]
call fcn.004079f0
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx + 0x5b4]
mov dword [ebp - 0x580], eax
cmp dword [ebp - 0x580], 2
jb 0x4e1360
mov ecx, dword [ebp - 0x76c]
add ecx, 0x5a0
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x584]
cmp dword [edx + 0x14], 1
jae 0x4e12c0
call fcn.005cbe1d
mov eax, dword [ebp - 0x584]
cmp dword [eax + 0x18], 0x10
jb 0x4e12dd
mov ecx, dword [ebp - 0x584]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x7a4], edx
jmp 0x4e12ec
mov eax, dword [ebp - 0x584]
add eax, 4
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
movsx edx, byte [ecx + 1]
cmp edx, 0x3a
je 0x4e1405
mov eax, dword [ebp - 0x76c]
add eax, 0x5a0
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x588]
cmp dword [ecx + 0x14], 2
jae 0x4e1321
call fcn.005cbe1d
mov edx, dword [ebp - 0x588]
cmp dword [edx + 0x18], 0x10
jb 0x4e133e
mov eax, dword [ebp - 0x588]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7a8], ecx
jmp 0x4e134d
mov edx, dword [ebp - 0x588]
add edx, 4
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x7a8]
movsx ecx, byte [eax + 2]
cmp ecx, 0x5c
je 0x4e1405
lea edx, [ebp - 0x3c8]
push edx
call fcn.00525ea0
add esp, 4
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x76c]
add ecx, 0x5a0
push ecx
mov edx, dword [ebp - 0x7b0]
push edx
lea eax, [ebp - 0x3e4]
push eax
call fcn.0040f350
add esp, 0xc
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x58c], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [0x611c1c]
push edx
push 0
mov eax, dword [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x76c]
add ecx, 0x5a0
call fcn.0040aae0
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0x3e4]
call fcn.004079f0
mov byte [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0x3c8]
call fcn.004079f0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004079f0
mov edx, dword [ebp - 0x76c]
movzx eax, byte [edx + 0xf2]
test eax, eax
jne 0x4e1449
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xac]
call eax
mov ecx, dword [ebp - 0x76c]
call fcn.004cd3a0
movzx ecx, al
test ecx, ecx
je 0x4e1468
mov edx, dword [ebp - 0x76c]
mov byte [edx + 0xfc], 0
cmp dword [0x6a1658], 0
jne 0x4e147e
push 0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [0x6a1658], eax
mov eax, dword [ebp - 0x76c]
add eax, 0x98
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5c0]
cmp dword [ecx + 0x18], 0x10
jb 0x4e14ac
mov edx, dword [ebp - 0x5c0]
mov eax, dword [edx + 4]
mov dword [ebp - 0x7b8], eax
jmp 0x4e14bb
mov ecx, dword [ebp - 0x5c0]
add ecx, 4
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
push edx
mov eax, dword [ebp - 0x76c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xd0]
call eax
movzx ecx, al
test ecx, ecx
jne 0x4e152c
mov edx, dword [ebp - 0x76c]
add edx, 0x98
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x5c4]
cmp dword [eax + 0x18], 0x10
jb 0x4e150e
mov ecx, dword [ebp - 0x5c4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x7bc], edx
jmp 0x4e151d
mov eax, dword [ebp - 0x5c4]
add eax, 4
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x7bc]
push ecx
call fcn.005ef6e6
add esp, 4
push str.main.pak
lea ecx, [ebp - 0x400]
call fcn.0040dbc0
mov dword [ebp - 4], 0x13
lea edx, [ebp - 0x400]
push edx
mov ecx, dword [0x65260c]
call fcn.0056a000
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x400]
call fcn.004079f0
mov eax, dword [ebp - 0x76c]
add eax, 0x44
push eax
lea ecx, [ebp - 0x41c]
push ecx
call fcn.00526c90
add esp, 8
mov dword [ebp - 0x7c0], eax
mov edx, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c4], edx
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x7c4]
push eax
push str.Notify
lea ecx, [ebp - 0x438]
push ecx
call fcn.0040f290
add esp, 0xc
mov dword [ebp - 0x5f8], eax
mov edx, dword [ebp - 0x5f8]
cmp dword [edx + 0x18], 8
jb 0x4e15db
mov eax, dword [ebp - 0x5f8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7c8], ecx
jmp 0x4e15ea
mov edx, dword [ebp - 0x5f8]
add edx, 4
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c8]
push eax
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x100], eax
push 0
push 1
lea ecx, [ebp - 0x438]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x41c]
call fcn.00407a40
mov edx, dword [ebp - 0x76c]
add edx, 0x44
push edx
lea eax, [ebp - 0x454]
push eax
call fcn.00526c90
add esp, 8
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7d0], ecx
mov dword [ebp - 4], 0x15
push str.Mutex
mov edx, dword [ebp - 0x7d0]
push edx
lea eax, [ebp - 0x470]
push eax
call fcn.004c8bc0
add esp, 0xc
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x624]
cmp dword [ecx + 0x18], 8
jb 0x4e1698
mov edx, dword [ebp - 0x624]
mov eax, dword [edx + 4]
mov dword [ebp - 0x7d4], eax
jmp 0x4e16a7
mov ecx, dword [ebp - 0x624]
add ecx, 4
mov dword [ebp - 0x7d4], ecx
mov edx, dword [ebp - 0x7d4]
push edx
push 1
push 0
call dword [sym.imp.kernel32.dll_CreateMutexW]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0xf8], eax
push 0
push 1
lea ecx, [ebp - 0x470]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x454]
call fcn.00407a40
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4e170c
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax + 0xbc]
call edx
call dword [sym.imp.kernel32.dll_GetTickCount]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx + 8]
push eax
call fcn.00525d40
add esp, 4
mov ecx, dword [ebp - 0x76c]
movzx edx, byte [ecx + 0x581]
test edx, edx
je 0x4e17ca
lea eax, [ebp - 0x655]
mov dword [ebp - 0x654], eax
push 0
push 0
lea ecx, [ebp - 0x160]
call fcn.004079f0
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x160]
push ecx
mov ecx, dword [ebp - 0x76c]
call fcn.004cd3e0
movzx edx, al
test edx, edx
jne 0x4e17b4
mov eax, dword [ebp - 0x76c]
mov byte [eax + 0x581], 0
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax + 0x80]
call edx
push 0
mov ecx, dword [ebp - 0x76c]
call fcn.004d56d0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x160]
call fcn.004079f0
call dword [sym.imp.kernel32.dll_GetTickCount]
push eax
call fcn.005cc903
add esp, 4
call fcn.00525d60
movzx eax, al
test eax, eax
je 0x4e19b9
mov ecx, dword [ebp - 0x76c]
mov byte [ecx + 0x573], 0
mov dword [ebp - 0x18c], 8
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x174], 0
push str.IDI_MAIN_ICON
mov edx, dword [0x6a1658]
push edx
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x178], eax
mov eax, dword [0x6a1658]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x188], 0x4d74c0
mov dword [ebp - 0x168], str.MainWindow
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x18c]
push ecx
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx edx, ax
neg edx
sbb edx, edx
neg edx
mov byte [ebp - 0x161], dl
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 0
mov eax, dword [0x6a1658]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x188], 0x4d74c0
mov dword [ebp - 0x168], str.InvisWindow
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x18c]
push ecx
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx edx, ax
neg edx
sbb edx, edx
neg edx
mov byte [ebp - 0x161], dl
push 0
mov eax, dword [ebp - 0x76c]
add eax, 0x60
push eax
lea ecx, [ebp - 0x48c]
push ecx
call fcn.00526860
add esp, 0xc
mov dword [ebp - 0x684], eax
mov edx, dword [ebp - 0x684]
cmp dword [edx + 0x18], 0x10
jb 0x4e1944
mov eax, dword [ebp - 0x684]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7d8], ecx
jmp 0x4e1953
mov edx, dword [ebp - 0x684]
add edx, 4
mov dword [ebp - 0x7d8], edx
push 0
mov eax, dword [0x6a1658]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x7d8]
push ecx
push str.InvisWindow
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edx, dword [ebp - 0x76c]
mov dword [edx + 0x378], eax
push 0
push 1
lea ecx, [ebp - 0x48c]
call fcn.004079f0
mov eax, dword [ebp - 0x76c]
push eax
push 0xffffffffffffffeb
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx + 0x378]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x4e1b66
mov eax, dword [ebp - 0x76c]
mov byte [eax + 0x573], 1
mov dword [ebp - 0x1b8], 8
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x1a0], 0
push str.IDI_MAIN_ICON
mov ecx, dword [0x6a1658]
push ecx
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x1a4], eax
mov edx, dword [0x6a1658]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1b4], 0x4d74c0
mov dword [ebp - 0x194], 0x6135c0
mov dword [ebp - 0x198], 0
lea eax, [ebp - 0x1b8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx ecx, ax
neg ecx
sbb ecx, ecx
neg ecx
mov byte [ebp - 0x18d], cl
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x1a4], 0
mov edx, dword [0x6a1658]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1b4], 0x4d74c0
mov dword [ebp - 0x194], 0x613894
mov dword [ebp - 0x198], 0
lea eax, [ebp - 0x1b8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx ecx, ax
neg ecx
sbb ecx, ecx
neg ecx
mov byte [ebp - 0x18d], cl
mov edx, dword [ebp - 0x76c]
add edx, 0x60
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
cmp dword [eax + 0x18], 8
jb 0x4e1b04
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x7dc], edx
jmp 0x4e1b13
mov eax, dword [ebp - 0x69c]
add eax, 4
mov dword [ebp - 0x7dc], eax
push 0
mov ecx, dword [0x6a1658]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x7dc]
push edx
push 0x613894
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x378], eax
mov edx, dword [ebp - 0x76c]
push edx
push 0xffffffffffffffeb
mov eax, dword [ebp - 0x76c]
mov ecx, dword [eax + 0x378]
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x650fe0
push 0x650f60
push 0x20
push 0x20
push 4
push 0xb
mov edx, dword [0x6a1658]
push edx
call dword [sym.imp.USER32.dll_CreateCursor]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x518], eax
push 0x6510e0
push 0x651060
push 0x20
push 0x20
push 0xa
push 0xf
mov edx, dword [0x6a1658]
push edx
call dword [sym.imp.USER32.dll_CreateCursor]
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x51c], eax
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax + 0x68]
call edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xc0]
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x498], 0
mov ecx, dword [ebp - 0x6a0]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x490], edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x6ac], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xc0]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
mov ecx, dword [ebp - 0x6a8]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x6ac]
mov dword [ebp - 0x4a0], edx
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x4ac]
push ecx
mov edx, dword [ebp - 0x76c]
mov ecx, dword [edx + 0x320]
call fcn.004ff340
mov eax, dword [ebp - 0x76c]
movzx ecx, byte [eax + 0x367]
test ecx, ecx
je 0x4e1cf6
mov edx, dword [ebp - 0x76c]
movzx eax, byte [edx + 0x369]
test eax, eax
jne 0x4e1cf6
push 0x10
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x76c]
cmp dword [ecx + 0xc0], eax
jge 0x4e1cdc
push 0x11
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [ebp - 0x76c]
cmp dword [edx + 0xc4], eax
jl 0x4e1cf6
mov eax, dword [ebp - 0x76c]
mov byte [eax + 0x367], 0
mov ecx, dword [ebp - 0x76c]
mov byte [ecx + 0x36a], 1
mov edx, dword [ebp - 0x76c]
movzx eax, byte [edx + 0x369]
test eax, eax
je 0x4e1df4
push 0
push 0x4d54a0
call dword [sym.imp.USER32.dll_EnumWindows]
lea ecx, [ebp - 0x25c]
push ecx
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [edx + 0xc0]
jne 0x4e1d6b
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [ecx + 0xc4]
jne 0x4e1d6b
cmp dword [ebp - 0x1f4], 0x10
je 0x4e1df4
cmp dword [ebp - 0x1f4], 0x20
je 0x4e1df4
mov eax, dword [ebp - 0x76c]
mov ecx, dword [eax + 0xc0]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xc4]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x234], 0x580000
cmp dword [ebp - 0x1f4], 0x10
je 0x4e1dc7
cmp dword [ebp - 0x1f4], 0x20
je 0x4e1dc7
mov dword [ebp - 0x1f4], 0x10
mov ecx, dword [ebp - 0x234]
or ecx, 0x40000
mov dword [ebp - 0x234], ecx
push 4
lea edx, [ebp - 0x25c]
push edx
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsA]
test eax, eax
je 0x4e1df4
mov eax, dword [ebp - 0x76c]
mov byte [eax + 0x369], 0
mov ecx, dword [ebp - 0x76c]
mov byte [ecx + 0x367], 0
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax + 0x2c]
call edx
mov eax, dword [ebp - 0x76c]
movzx ecx, byte [eax + 0x581]
test ecx, ecx
je 0x4e1e6f
push 1
mov ecx, dword [ebp - 0x76c]
call fcn.004d9ba0
mov edx, dword [ebp - 0x76c]
mov byte [edx + 0x5f4], 1
mov ecx, dword [ebp - 0x76c]
add ecx, 0x5bc
call fcn.0052a830
mov ecx, dword [ebp - 0x76c]
mov byte [ecx + 0x367], al
mov ecx, dword [ebp - 0x76c]
add ecx, 0x5bc
call fcn.0052a580
movzx edx, al
mov eax, dword [ebp - 0x76c]
mov dword [eax + 0x650], edx
mov ecx, dword [ebp - 0x76c]
cmp dword [ecx + 0x514], 0
jne 0x4e1f2b
push 0x30a0
call fcn.005cb847
add esp, 4
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x4b4], 0
je 0x4e1efc
mov edx, dword [ebp - 0x76c]
movzx eax, byte [edx + 0xf0]
test eax, eax
je 0x4e1ec2
mov dword [ebp - 0x7e0], 0
jmp 0x4e1ed4
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx + 0x374]
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x76c]
movzx ecx, byte [eax + 0xf1]
push ecx
mov edx, dword [ebp - 0x7e0]
push edx
mov ecx, dword [ebp - 0x4b4]
call fcn.00560270
mov dword [ebp - 0x7e4], eax
jmp 0x4e1f06
mov dword [ebp - 0x7e4], 0
mov eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ebp - 0x4b0]
mov dword [ecx + 0x514], edx
mov eax, dword [ebp - 0x76c]
sub esp, 8
fld qword [eax + 0xd8]
fstp qword [esp]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xf4]
call eax
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ecx + 0x378]
push edx
mov eax, dword [ebp - 0x76c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0x48]
call eax
mov ecx, dword [ebp - 0x76c]
mov dword [ecx + 0x3a8], eax
mov edx, dword [ebp - 0x76c]
sub esp, 8
fld qword [edx + 0xd0]
fstp qword [esp]
mov eax, dword [ebp - 0x76c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x76c]
mov eax, dword [edx + 0xf0]
call eax
mov ecx, dword [ebp - 0x76c]
call fcn.004cd3a0
movzx ecx, al
test ecx, ecx
je 0x4e1fc6
push 0xb
mov ecx, dword [ebp - 0x76c]
call fcn.004e23d0
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax + 0x4c]
call edx
push 0x613868
lea ecx, [ebp - 0x4d0]
call fcn.0040dc00
mov dword [ebp - 4], 0x18
push str.LOCALE
lea ecx, [ebp - 0x4ec]
call fcn.0040dbc0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x4d0]
push eax
lea ecx, [ebp - 0x4ec]
push ecx
lea edx, [ebp - 0x508]
push edx
mov ecx, dword [ebp - 0x76c]
call fcn.004df6b0
mov dword [ebp - 0x7e8], eax
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x7ec], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x7ec]
push ecx
call fcn.00527590
add esp, 4
mov byte [ebp - 4], 0x19
push 0
push 1
lea ecx, [ebp - 0x508]
call fcn.00407a40
mov byte [ebp - 4], 0x18
push 0
push 1
lea ecx, [ebp - 0x4ec]
call fcn.004079f0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x4d0]
call fcn.00407a40
mov edx, dword [ebp - 0x76c]
mov byte [edx + 0x36c], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.005cbcb1
mov esp, ebp
pop ebp
ret