Function at 0x476e80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x650678
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x6dc0b8]
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
mov esi, dword [edi + 0x18]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [edi + 0x20], 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
test esi, esi
js 0x476f0e
mov eax, dword [edi + 0x30]
test eax, eax
je 0x476f0e
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 8
push ecx
push 0
push 0x104c
push dword [eax + 0x68]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 8
mov dword [ebp - 0x68], 0
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
cmp byte [edi + 0x1c], 0
mov dword [edi + 0x18], 0xffffffff
mov byte [edi + 0x34], 1
mov dword [edi + 0x30], 0
mov byte [edi + 0x1d], 1
je 0x4770fa
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x3c]
push ecx
mov dword [ebp - 0x38], edx
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x34], esi
nop word [eax + eax]
mov eax, dword [edi + 0x38]
cmp dword [eax + 8], 1
ja 0x476f5e
cmp esi, dword [eax + 0xc]
jne 0x476f8a
push dword [ebx + eax + 0x78]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x476f8a
mov eax, dword [edi + 0x38]
push 3
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
mov esi, dword [ebx + eax + 0x78]
push dword [eax]
call dword [sym.imp.USER32.dll_ChildWindowFromPointEx]
cmp eax, esi
je 0x476fc3
mov esi, dword [ebp - 0x34]
inc esi
add ebx, 0x168
mov dword [ebp - 0x34], esi
cmp ebx, 0x2d0
jb 0x476f50
cmp byte [edi + 0x34], 0
je 0x476fe3
mov eax, dword [edi + 0x40]
test eax, eax
js 0x4770fa
imul ecx, eax, 0x168
mov eax, dword [edi + 0x38]
add eax, 0x74
add eax, ecx
mov dword [edi + 0x30], eax
jmp 0x4770fa
mov eax, dword [edi + 0x38]
add eax, 0x74
mov byte [edi + 0x34], 0
add eax, ebx
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [edi + 0x3c]
jne 0x476f9c
mov byte [edi + 0x1d], 0
jmp 0x4770fa
mov esi, dword [edi + 0x30]
mov ecx, esi
push str.FSFolder
call fcn.00470330
test al, al
jne 0x477019
push str.FSDrives
mov ecx, esi
call fcn.00470330
test al, al
je 0x4770fa
mov ecx, esi
call fcn.0046ef60
test al, al
jne 0x4770fa
mov eax, dword [edi + 0x30]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
mov esi, dword [eax + 0x68]
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, esi
jne 0x4770fa
mov eax, dword [edi + 0x30]
lea ecx, [ebp - 0x30]
push ecx
push dword [eax + 0x68]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
push ecx
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x30]
push 0
push 0x1012
push dword [eax + 0x68]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
test ebx, ebx
js 0x4770fa
mov ecx, dword [edi + 0x30]
push ebx
call fcn.00457a50
mov esi, eax
cmp esi, 0xffffffff
je 0x4770fa
mov ecx, dword [edi + 0x30]
push 6
push esi
call fcn.00482280
test al, al
je 0x4770fa
mov ecx, dword [edi + 0x30]
lea eax, [ebp - 0x40]
push esi
push eax
mov dword [edi + 0x20], esi
call fcn.00481cd0
push eax
lea ecx, [edi + 0x24]
mov dword [ebp - 4], 0
call fcn.0049f5a0
push dword [ebp - 0x40]
call fcn.00545b61
add esp, 4
mov dword [ebp - 0x7c], 8
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 8
push eax
mov eax, dword [edi + 0x30]
push 0
push 0x104c
mov dword [ebp - 0x6c], 8
push dword [eax + 0x68]
mov dword [ebp - 0x68], 0
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0x18], ebx
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.00545b50
mov esp, ebp
pop ebp
ret 8