Function at 0x40b2e0
Capabilities:
Get explorer pid

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x844
mov eax, dword [0x439030]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push edi
push 0
call esi
push 1
lea ebx, [eax - 1]
call esi
mov esi, 0x206
push esi
lea edi, [eax - 1]
xor eax, eax
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.0041ba00
xor eax, eax
push esi
push eax
mov word [ebp - 0x620], ax
lea eax, [ebp - 0x61e]
push eax
call fcn.0041ba00
xor eax, eax
push esi
push eax
mov word [ebp - 0x828], ax
lea eax, [ebp - 0x826]
push eax
call fcn.0041ba00
xor eax, eax
push esi
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.0041ba00
mov esi, dword [sym.imp.USER32.dll_WindowFromPoint]
add esp, 0x30
push 1
push 1
call esi
push 1
push ebx
mov dword [ebp - 0x844], eax
call esi
push edi
push 1
mov dword [ebp - 0x830], eax
call esi
push edi
push ebx
mov dword [ebp - 0x82c], eax
call esi
mov ebx, dword [ebp - 0x844]
mov edi, eax
test ebx, ebx
je 0x40b5b3
cmp dword [ebp - 0x830], 0
je 0x40b5b3
cmp dword [ebp - 0x82c], 0
je 0x40b5b3
test edi, edi
je 0x40b5b3
mov esi, dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0x210]
push 0x104
push eax
push ebx
call esi
push 0x104
lea eax, [ebp - 0x620]
push eax
push dword [ebp - 0x830]
call esi
push 0x104
lea eax, [ebp - 0x828]
push eax
push dword [ebp - 0x82c]
call esi
push 0x104
lea eax, [ebp - 0x418]
push eax
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x83c]
push eax
push ebx
call esi
lea eax, [ebp - 0x840]
push eax
push dword [ebp - 0x830]
call esi
mov esi, dword [ebp - 0x82c]
lea eax, [ebp - 0x838]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x834]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp ebx, dword [ebp - 0x830]
jne 0x40b471
cmp ebx, esi
jne 0x40b471
cmp ebx, edi
jne 0x40b471
xor eax, eax
inc eax
jmp 0x40b5b5
lea ecx, [ebp - 0x210]
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40b47c
sub ecx, edx
sar ecx, 1
je 0x40b543
push 4
lea ecx, [ebp - 0x620]
lea eax, [ebp - 0x210]
pop esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b4c4
test dx, dx
je 0x40b4c0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b4c4
add eax, esi
add ecx, esi
test dx, dx
jne 0x40b4a0
mov eax, ebx
jmp 0x40b4c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40b543
lea ecx, [ebp - 0x828]
lea eax, [ebp - 0x210]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b4fd
test dx, dx
je 0x40b4f9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b4fd
add eax, esi
add ecx, esi
test dx, dx
jne 0x40b4d9
mov eax, ebx
jmp 0x40b502
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40b543
lea ecx, [ebp - 0x418]
lea eax, [ebp - 0x210]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b536
test dx, dx
je 0x40b532
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b536
add eax, esi
add ecx, esi
test dx, dx
jne 0x40b512
mov eax, ebx
jmp 0x40b53b
sbb eax, eax
or eax, 1
test eax, eax
je 0x40b469
mov eax, dword [ebp - 0x83c]
cmp eax, dword [ebp - 0x840]
jne 0x40b5b3
cmp eax, dword [ebp - 0x838]
jne 0x40b5b3
cmp eax, dword [ebp - 0x834]
jne 0x40b5b3
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x82c], ebx
push eax
call dword [sym.imp.USER32.dll_GetShellWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ecx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x83c]
cmp ecx, eax
jne 0x40b469
cmp ecx, dword [ebp - 0x840]
jne 0x40b469
cmp eax, dword [ebp - 0x838]
jne 0x40b469
cmp eax, dword [ebp - 0x834]
jne 0x40b469
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041813f
mov esp, ebp
pop ebp
ret