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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x7c
mov eax, dword [0x1006d004]
xor eax, esp
mov dword [esp + 0x78], eax
movups xmm0, xmmword [str.DragInterceptor::InitFromWndProcRet]
mov eax, dword [0x10067204]
push esi
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x60], eax
movups xmm0, xmmword [0x100671f4]
movups xmmword [esp + 0x50], xmm0
call fcn.10009f80
test eax, eax
jne 0x10007b9f
pop esi
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.1000dfef
mov esp, ebp
pop ebp
ret
push 0x1006eebc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x1006ec50], 0
jle 0x10007e7c
mov esi, dword [0x1006ec58]
test esi, esi
je 0x10007e7c
mov esi, dword [esi + 0x2b1de]
push 0x1006eebc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x10007e87
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x1006f0c4], 0
push 0x1006f0d8
jne 0x10007e74
mov dword [0x1006f0c4], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10006b60
xor esi, esi
mov ecx, dword [esi + 0x10067a90]
mov eax, 0x1006eed8
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10007c40
test dl, dl
je 0x10007c3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10007c40
add eax, 2
add ecx, 2
test dl, dl
jne 0x10007c20
xor eax, eax
jmp 0x10007c45
sbb eax, eax
or eax, 1
test eax, eax
je 0x10007c56
add esi, 4
cmp esi, 0xc
jb 0x10007c12
jmp 0x10007e9b
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push str.FileGroupDescriptorW
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
push 0x1006f0d8
mov word [0x1006f0c0], ax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x1006efdc]
lea eax, [esp + 0x10]
push 0x30
push 0
push eax
call fcn.1000f990
add esp, 0xc
mov dword [esp + 0x10], 0x30
lea eax, [esp + 0x10]
push eax
push str.TeamViewer_DragInterceptorClass
push esi
call dword [sym.imp.USER32.dll_GetClassInfoExW]
test eax, eax
je 0x10007d09
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
cmp ecx, 0x100010c0
jne 0x10007cc5
cmp eax, esi
je 0x10007d09
push esi
push eax
push 0x100010c0
push ecx
push str.Class_Error_0x_x_0x_x__0x_x_0x_x_
push 0xc8
call fcn.10009530
add esp, 0x18
push dword [esp + 0x24]
push str.TeamViewer_DragInterceptorClass
call dword [sym.imp.USER32.dll_UnregisterClassW]
test eax, eax
jne 0x10007d09
push str.Error:_Could_not_unregister_previous_class._Exiting
push 0xc8
call fcn.10009530
add esp, 8
jmp 0x10007e9b
xorps xmm0, xmm0
mov dword [esp + 0x3c], 0
push 0x7f00
push 0
movlpd qword [esp + 0x24], xmm0
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x38], xmm0
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x20], 0x100010c0
mov dword [esp + 0x40], str.TeamViewer_DragInterceptorClass
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], 0x4000
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
je 0x10007d7f
push str.TeamViewer_DragInterceptorClass
push str.Registered_Class__S
push 0x64
call fcn.10009530
add esp, 0xc
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 0x1006f0d4
call fcn.1000a430
cmp dword [0x1006f148], 0
jne 0x10007db2
push 0x1006f148
mov dword [0x1006f148], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1006f158], 2
jne 0x10007e58
cmp dword [0x1006f14c], 4
jbe 0x10007e58
lea eax, [esp + 0x40]
push eax
push str._s:_creating_drag_interceptor_window
push 0x64
call fcn.10009530
add esp, 0xc
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push dword [0x1006efdc]
push 0
push 0
push 1
push 1
push 0
push 0
push 0x80000000
push 0x1006725c
push str.TeamViewer_DragInterceptorClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x1006f0d8
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [0x1006f134], esi
test esi, esi
jne 0x10007e6f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2c8
push str._assertion_failed:_l_LocalData.DragInterceptorWnd__line__i__err__i
push 0xc8
call fcn.10009530
add esp, 0x10
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10007e9b
lea eax, [esp + 0x40]
push eax
push str._s:_no_functionality_on_win_nt4.0___win98
push 0xc8
call fcn.10009530
add esp, 0xc
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10007e9b
push 0x1006eebc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0x40]
push eax
push str._s:_interceptor_is_not_enabled
push 0x64
call fcn.10009530
add esp, 0xc
push 0x1006f0d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
cmp dword [0x1006f134], eax
push 0x1006f0d8
setne al
mov dword [esp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0xc]
pop esi
xor ecx, esp
call fcn.1000dfef
mov esp, ebp
pop ebp
ret