Function at 0x40ac40
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bc14c
mov eax, dword fs:[0]
push eax
sub esp, 0x3cc
mov eax, dword [0x4fb068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x40ad50
push dword [ebp - 0x3d8]
lea eax, [edi + 0x20]
push eax
push 0x4fb9f0
call fcn.0040d3f0
movzx ebx, ax
add esp, 0xc
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x40acbd
call fcn.00496b39
mov dword [edi + 0x14], eax
test eax, eax
jne 0x40acbd
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x40aeb4
push 0
push 0
push eax
call fcn.00496c3b
test bx, bx
je 0x40acb6
lea esi, [edi + 8]
test esi, esi
je 0x40aed0
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x4fbcec
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4fbd04]
mov dword [esi + 8], eax
push 0x4fbcec
mov dword [0x4fbd04], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x4fb9e4]
mov eax, dword [0x4fb9ec]
mov edx, dword [0x4fb9e0]
sub eax, ecx
push 0
push dword [0x4fd260]
push 0
push 0
push eax
mov eax, dword [0x4fb9e8]
sub eax, edx
push eax
push ecx
push edx
push 0x80000000
push 0
push ebx
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x40acb6
mov ecx, dword [edi + 4]
call fcn.0041414c
push 0x3b4
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x3c8], 0x3b8
push 0
push eax
call fcn.00499e80
mov eax, dword [0x4fde90]
add esp, 0xc
test al, 1
jne 0x40adab
or eax, 1
mov dword [0x4fde90], eax
mov dword [ebp - 4], 0
call fcn.00404200
push 0x4cc620
mov dword [0x4fde98], 0x4dae6c
call fcn.00497061
add esp, 4
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, 0x4fde98
call fcn.00405170
test al, al
je 0x40ae3f
mov eax, dword [0x4fde90]
test al, 1
jne 0x40adf9
or eax, 1
mov dword [0x4fde90], eax
mov dword [ebp - 4], 1
call fcn.00404200
push 0x4cc620
mov dword [0x4fde98], 0x4dae6c
call fcn.00497061
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4fdf38
lea ecx, [ebp - 0x3d4]
call fcn.0040cf90
mov esi, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3d4]
sub esi, dword [ebp - 0x3d4]
call fcn.00407c50
mov eax, 0xfec18e1
xor ecx, ecx
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
sbb eax, eax
and eax, 7
add eax, 0x66
jmp 0x40ae44
mov eax, 0x66
mov ebx, dword [sym.imp.USER32.dll_LoadIconW]
push eax
push 0x400000
call ebx
mov ecx, dword [edi + 4]
mov esi, eax
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x3bc], 3
push eax
push 0
mov dword [ebp - 0x3b4], esi
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3b8], 0x8000
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_DestroyIcon]
test edi, edi
je 0x40aeb2
push 0x73
push 0x400000
call ebx
mov edx, 1
mov ecx, eax
call fcn.00414151
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00496c8f
mov esp, ebp
pop ebp
ret
push 1
push 0xc0000005
call fcn.00401bb0
int3