Function at 0x40f520
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4690eb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68c
cmp dword [0x492098], 4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
ja 0x40f55c
push str.Ati_Polling_Application_Client_does_not_support_9x__ME_and_NT4._EXITing
call fcn.00410a60
jmp 0x40ff22
call fcn.004284b0
test eax, eax
je 0x40f57d
call fcn.0040a020
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x492098], 6
jbe 0x40f59b
call fcn.00422ed0
cmp eax, 4
jne 0x40f59b
push 0x888
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x492164]
xor edi, edi
cmp eax, edi
jne 0x40f5de
call fcn.0040db00
test eax, eax
je 0x40ff25
push 1
push 0x492180
push 1
push edi
push str.PollSt
push edi
call fcn.00422bc0
add esp, 0x18
test eax, eax
jne 0x40f5f6
push str.Failed_to_set_log_file
call fcn.00410a60
jmp 0x40ff22
call fcn.0040a610
test eax, eax
jne 0x40f5b3
push str.AtiLogonEvent__Ati_Hot_Key_Poller_Service_is_not_running_n
call fcn.00410a60
jmp 0x40ff22
cmp dword [0x4910e8], edi
je 0x40f611
mov eax, dword [0x492098]
push eax
push str.WinMainClient_starts_with_OS_version__d
call fcn.0040a4a0
add esp, 8
mov ecx, dword [ebp + 8]
push 0x40e910
push str.ATI_VIDEO_BIOS_WINDOW_CLASS
push str.ATI_video_bios_poller_client
push ecx
call fcn.0040d6e0
add esp, 0x10
test eax, eax
je 0x40ff25
mov eax, dword [0x492098]
or ebx, 0xffffffff
cmp eax, 8
mov dword [0x4910f0], edi
mov esi, ebx
jb 0x40f77a
mov ecx, 0x492a60
call fcn.004325a0
test eax, eax
jne 0x40f666
cmp dword [0x4910e8], edi
jmp 0x40f917
mov esi, dword [0x49eaf4]
push esi
mov ecx, 0x492a60
call fcn.0042da80
cmp dword [eax + 0x15c], edi
je 0x40f729
push esi
mov ecx, 0x492a60
call fcn.0042da80
cmp dword [eax + 0x160], edi
jne 0x40f729
call fcn.0040a4b0
push eax
call fcn.00427850
add esp, 4
test eax, eax
jne 0x40f6c4
call fcn.0040a120
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x492a60
call fcn.004304d0
test eax, 0x40000
mov dword [0x49209c], eax
jne 0x40f6e5
cmp dword [0x4910e8], edi
jmp 0x40f95f
push edi
mov ecx, 0x492a60
mov dword [0x49205c], ebx
mov dword [0x492060], ebx
mov dword [0x492064], ebx
mov dword [0x492068], ebx
mov dword [0x49206c], edi
call fcn.0042f150
test eax, eax
jne 0x40f733
cmp dword [0x4910e8], edi
je 0x40f733
push str.WinMainClient_failed_to_initialize_DPPE
call fcn.0040a4a0
add esp, 4
jmp 0x40f733
or dword [0x49209c], 0x40120
mov ecx, 0x492a60
call fcn.0042f100
test eax, eax
jne 0x40f758
cmp dword [0x4910e8], edi
je 0x40f762
push str.WinMainClient_failed_to_initialize_PowerXpress
call fcn.0040a4a0
add esp, 4
jmp 0x40f762
mov dword [0x492078], 1
mov ecx, 0x492a60
call fcn.0042df10
mov esi, eax
cmp esi, dword [0x49eaf0]
jae 0x40fef6
cmp dword [0x492098], 8
sbb ebx, ebx
and ebx, 6
add ebx, 4
je 0x40f8de
nop
xor eax, eax
mov ecx, 0x188
lea edi, [ebp - 0x698]
rep stosd dword es:[edi], eax
cmp dword [0x492098], 7
mov eax, dword [0x492164]
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x690], 9
ja 0x40f7c5
mov dword [ebp - 0x688], eax
jmp 0x40f80d
mov edx, dword [0x49209c]
push esi
mov ecx, 0x492a60
mov dword [ebp - 0x680], edx
call fcn.0042da80
mov eax, dword [eax + 0x44]
push esi
mov ecx, 0x492a60
mov dword [ebp - 0x688], eax
mov dword [ebp - 0x684], esi
call fcn.00430c50
test eax, eax
je 0x40fef6
push 0
mov ecx, eax
call fcn.00437ab0
mov dword [ebp - 0x67c], eax
xor eax, eax
mov ecx, 0xb
lea edi, [ebp - 0x5c]
rep stosd dword es:[edi], eax
push 1
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x698]
push edx
push str..pipeExtEventPipe_Service
call fcn.004095e0
add esp, 0x10
test eax, eax
jne 0x40f876
mov eax, dword [0x4910e8]
test eax, eax
je 0x40f852
push str..pipeExtEventPipe_Service
push str.WinMainClient_failed_CallAtiNamedPipe._EXTEVENT_REQTYPE_SESSION_SETUP__s.
call fcn.0040a4a0
add esp, 8
mov eax, dword [0x492164]
test eax, eax
ja 0x40fef6
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
dec ebx
jne 0x40f790
jmp 0x40fef6
cmp dword [0x492098], 8
jb 0x40f8eb
mov ecx, dword [ebp - 0x50]
mov eax, 1
cmp ecx, eax
jne 0x40f8a9
mov ecx, dword [0x4910e8]
test ecx, ecx
je 0x40f8a2
push str.Client:_Service_is_not_complete_state
call fcn.0040a4a0
add esp, 4
mov dword [0x492168], eax
jmp 0x40f8bf
mov eax, dword [0x4910e8]
test eax, eax
je 0x40f8bf
push str.Client:_Service_is_in_complete_state
call fcn.0040a4a0
add esp, 4
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [0x49e99c], eax
mov eax, dword [ebp - 0x44]
test eax, eax
mov dword [0x49e9a0], ecx
je 0x40f8de
or dword [0x49216c], 0x10
cmp dword [0x492098], 8
jae 0x40f977
mov eax, dword [ebp - 0x48]
test eax, eax
mov edx, dword [ebp - 0x50]
mov dword [0x49209c], edx
je 0x40f902
or dword [0x49216c], 0x10
mov ecx, 0x492a60
call fcn.004325a0
test eax, eax
jne 0x40f942
mov eax, dword [0x4910e8]
test eax, eax
je 0x40ff25
push str..pipeExtEventPipe_Service
push str.WinMainClient_failed_CallAtiNamedPipe._EXTEVENT_REQTYPE_SESSION_SETUP__s.
call fcn.0040a4a0
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x492a60
call fcn.004304d0
test eax, 0x40000
mov dword [0x49209c], eax
jne 0x40f97c
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str.Client:_SOFTWARE_BUG_ExtEvent_MultiSession_Handle_not_supported._EXIT
call fcn.0040a4a0
add esp, 4
jmp 0x40fef6
mov eax, dword [0x49209c]
mov ecx, dword [0x4910e8]
test ecx, ecx
je 0x40f994
push eax
push str.WinMainClient_g_ulSupportedFeatures_is_0x_x
call fcn.0040a4a0
add esp, 8
mov eax, dword [0x49eaf4]
push eax
mov ecx, 0x492a60
call fcn.0042da80
mov ecx, dword [eax + 0x160]
test ecx, ecx
jne 0x40f9b3
call fcn.0040a740
push 1
push 0x492180
push 1
push 0
push str.Pollog
push 0
call fcn.00422bc0
mov eax, dword [0x4910e8]
add esp, 0x18
test eax, eax
je 0x40f9e9
mov eax, dword [0x4920cc]
push eax
push str.WinMainClient_g_bAutoDisplayEnabled_is__d
call fcn.0040a4a0
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
mov dword [0x49215c], 1
call fcn.0040b060
add esp, 4
test eax, eax
je 0x40fef6
push 0x2cc
mov dword [0x4910ec], 3
mov dword [ebp - 4], 0
call fcn.0045f1c6
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
test ecx, ecx
mov byte [ebp - 4], 1
je 0x40fa41
call fcn.0042cca0
mov ecx, eax
mov dword [0x492170], ecx
jmp 0x40fa61
xor ecx, ecx
mov dword [0x492170], ecx
jmp 0x40fa61
test ecx, ecx
mov dword [ebp - 4], 0xffffffff
jne 0x40fa8b
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str.ATI_poll_Client_g_pSessionPipe_memory_alloc_failed.
call fcn.0040a4a0
add esp, 4
jmp 0x40fef6
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
jne 0x40fab3
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str.ATI_poll_Client_sessionPipe_creation_failed.
call fcn.0040a4a0
add esp, 4
jmp 0x40fef6
mov ecx, 0x4922b0
call fcn.004464d0
test al, al
jne 0x40fae0
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str.ATI_poll_Client_oem_event_callback_manager_initilization_failed.
call fcn.0040a4a0
add esp, 4
jmp 0x40fef6
mov eax, dword [0x49fb9c]
test eax, eax
jne 0x40fb17
lea esp, [esp]
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fb06
push str.WinMainClient_pipe_not_ready_yet.
call fcn.0040a4a0
add esp, 4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x49fb9c]
test eax, eax
je 0x40faf0
xor eax, eax
mov ecx, 0x188
lea edi, [ebp - 0x698]
rep stosd dword es:[edi], eax
mov eax, dword [0x492164]
mov dword [ebp - 0x688], eax
xor eax, eax
mov ecx, 0xb
lea edi, [ebp - 0x5c]
rep stosd dword es:[edi], eax
push 1
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x698]
push edx
push str..pipeExtEventPipe_Service
mov dword [ebp - 0x690], 0x1e
call fcn.004095e0
add esp, 0x10
test eax, eax
jne 0x40fb89
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str..pipeExtEventPipe_Service
push str.WinMainClient_failed_CallAtiNamedPipe_EXTEVENT_REQTYPE_SESSION_READY__s.
call fcn.0040a4a0
add esp, 8
jmp 0x40fef6
call fcn.0040f080
test eax, eax
je 0x40fef6
mov ecx, dword [0x4920b8]
test ecx, ecx
je 0x40fbc2
lea eax, [ebp - 0x50]
push eax
call fcn.00402060
mov ecx, dword [0x4920b0]
push 0
push 0x5dc
push 0x14d1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [0x492164]
xor eax, eax
push 1
push eax
mov ecx, 0x188
lea edi, [ebp - 0x698]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x698]
push eax
mov ebx, 0x8001
mov esi, 0x620
push str..pipeExtEventPipe_Service
mov dword [ebp - 0x698], ebx
mov dword [ebp - 0x694], esi
mov dword [ebp - 0x690], 0x30
mov dword [ebp - 0x688], edx
call fcn.004095e0
add esp, 0x10
test eax, eax
jne 0x40fc37
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
push str.WinMainClient:_EXTEVENT_REQTYPE_CLT_GETCOMCALLBACKS___CallAtiNamedPipe_failed
call fcn.0040a4a0
add esp, 4
jmp 0x40fef6
mov eax, dword [0x4920b8]
test eax, eax
je 0x40fd18
mov dword [ebp - 0x14], 0
jmp 0x40fc50
xor eax, eax
push 1
mov ecx, 0x188
lea edi, [ebp - 0x698]
rep stosd dword es:[edi], eax
mov ecx, dword [0x492164]
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x698]
push eax
push str..pipeExtEventPipe_Service
mov dword [ebp - 0x698], ebx
mov dword [ebp - 0x694], esi
mov dword [ebp - 0x690], 0x32
mov dword [ebp - 0x688], ecx
call fcn.004095e0
add esp, 0x10
test eax, eax
je 0x40fc18
cmp dword [ebp - 0x34], 1
je 0x40fd18
mov eax, dword [0x4920b8]
mov ecx, dword [eax + 0x128]
test ecx, ecx
je 0x40fd08
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edx
push ecx
mov ecx, dword [eax + 0x128]
call fcn.00407e30
mov eax, dword [ebp - 0x14]
inc eax
cmp eax, 4
mov dword [ebp - 0x14], eax
jb 0x40fc50
cmp dword [0x492098], 6
jbe 0x40fd75
mov edx, dword [0x49e994]
push edx
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0x40a550
mov dword [ebp - 0x14], 0
call fcn.00424010
add esp, 0x14
test eax, eax
jne 0x40fd6e
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fef6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.WinMainClient_failed_to_CreateThread_RegisterWTSNotificationThread_err_d.
call fcn.0040a4a0
add esp, 8
jmp 0x40fef6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x492098], 8
jb 0x40fe2e
call fcn.00409970
call fcn.0044b120
mov edx, dword [0x491104]
mov eax, dword [0x491108]
push 0x4922a0
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x49110c]
mov dword [ecx + 4], eax
mov eax, dword [0x491110]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [0x4920b0]
push ecx
call fcn.0044f720
test eax, eax
jne 0x40fddd
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fddd
push str.Ati_RegisterDeviceInterface_failed_n
call fcn.0040a4a0
add esp, 4
mov eax, dword [0x491114]
mov ecx, dword [0x491118]
push 0x4922a4
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [0x49111c]
mov dword [edx + 4], ecx
mov ecx, dword [0x491120]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [0x4920b0]
push edx
call fcn.0044f720
test eax, eax
jne 0x40fe2e
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fe2e
push str.Ati_RegisterDeviceInterface_failed_n
call fcn.0040a4a0
add esp, 4
call fcn.00429330
call fcn.0044b490
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x78]
push eax
call esi
test eax, eax
je 0x40fe7c
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea ebx, [ebx]
lea ecx, [ebp - 0x78]
push ecx
call edi
lea edx, [ebp - 0x78]
push edx
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x78]
push eax
call esi
test eax, eax
jne 0x40fe60
cmp dword [0x492098], 8
jb 0x40fed4
call fcn.00409990
mov ecx, dword [0x4922a0]
push ecx
call fcn.0044f7a0
test eax, eax
jne 0x40feb0
mov eax, dword [0x4910e8]
test eax, eax
je 0x40feb0
push str.Ati_UnRegisterDeviceInterface_failed_n
call fcn.0040a4a0
add esp, 4
push 0x4922a4
call fcn.0044f7a0
test eax, eax
jne 0x40fed4
mov eax, dword [0x4910e8]
test eax, eax
je 0x40fed4
push str.Ati_RegisterDeviceInterface_failed_n
call fcn.0040a4a0
add esp, 4
call fcn.0044b4c0
mov edx, dword [0x4920b0]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40fef6
mov eax, dword [0x4920b0]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x4910ec], 2
mov dword [0x4920d4], 0
call fcn.0040c260
mov eax, dword [0x4910e8]
test eax, eax
je 0x40ff25
push str.ATI_poll_Client_exits.
call fcn.0040a4a0
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret