Function at 0x42c48a
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x44f4b7
call fcn.0044061c
sub esp, 0x25c
push ebx
push esi
push edi
mov edi, ecx
push dword [ebp + 8]
mov dword [ebp - 0x48], edi
call fcn.0042bc6b
mov edx, eax
cmp edx, 0xffffffff
mov dword [ebp - 0x14], edx
jne 0x42c4c2
cmp dword [ebp + 0xc], 1
je 0x42c4c2
push dword [ebp + 0x14]
jmp 0x42d66f
mov esi, dword [edi + 0x828]
mov ebx, dword [ebp + 0x14]
xor ecx, ecx
test esi, esi
jl 0x42c544
lea eax, [edi + 0x428]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x42c4f3
mov edx, dword [ebp + 0xc]
cmp dword [eax], edx
jne 0x42c4f0
cmp dword [eax + 0x10], 8
jl 0x42c4fe
mov edx, dword [ebp - 0x14]
add dword [ebp + 0x14], 4
inc ecx
cmp ecx, esi
jle 0x42c4da
jmp 0x42c544
mov eax, dword [edi + ecx*4 + 0x428]
and dword [ebp + 0x14], 0
lea esi, [edi + ecx*4 + 0x428]
push ebx
push dword [ebp + 0x10]
inc dword [eax + 0x10]
mov eax, dword [esi]
lea ecx, [ebp + 0x14]
push dword [ebp + 0xc]
mov eax, dword [eax + 4]
push dword [ebp + 8]
push ecx
push eax
mov ecx, 0x4605b8
call fcn.004124de
mov esi, dword [esi]
dec dword [esi + 0x10]
dec eax
jne 0x42c541
mov eax, dword [ebp + 0x14]
jmp 0x42d68f
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov esi, dword [edi + edx*4 + 0x848]
cmp ecx, 0x7b
ja 0x42cf9d
je 0x42cef3
cmp ecx, 7
ja 0x42c68b
je 0x42c67b
dec ecx
je 0x42d0ca
dec ecx
je 0x42c66e
dec ecx
je 0x42c5b1
dec ecx
dec ecx
jne 0x42d66e
push dword [ebp + 8]
mov eax, ebx
shr eax, 0x10
push eax
mov ecx, edi
movzx eax, bx
push eax
push dword [ebp + 0x10]
push edx
call fcn.0042daa1
test al, al
je 0x42d0ca
mov byte [esi + 0x4138], 1
jmp 0x42d0ca
lea eax, [ebp - 0x44]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ax, word [ebp - 0x44]
sub ax, word [esi + 0x2e]
mov dword [ebp - 0x2c], eax
mov ax, word [ebp - 0x40]
sub ax, word [esi + 0x30]
cmp dword [esi + 8], 0x80000000
mov dword [ebp - 0x24], eax
jne 0x42c659
and dword [ebp - 0x28], 0
and dword [ebp + 0x14], 0
lea eax, [edi + 0x848]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [edi + 0x18]
jge 0x42c659
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
test eax, eax
je 0x42c649
mov ecx, dword [eax + 4]
inc dword [ebp - 0x28]
cmp ecx, dword [esi]
jne 0x42c649
lea ecx, [ebp - 0x44]
push ecx
push dword [eax]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x40]
push 0
sub dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
sub dword [ebp - 0x3c], eax
push dword [ebp - 0x38]
movsx eax, word [ebp - 0x2c]
add dword [ebp - 0x44], eax
push dword [ebp - 0x3c]
movsx eax, word [ebp - 0x24]
add dword [ebp - 0x40], eax
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x44]
mov eax, dword [eax]
push dword [eax]
call dword [sym.imp.USER32.dll_MoveWindow]
inc dword [ebp + 0x14]
add dword [ebp - 0x18], 4
cmp dword [ebp + 0x14], 0x400
jl 0x42c5ed
mov ax, word [ebp - 0x2c]
add word [esi + 0x2e], ax
mov ax, word [ebp - 0x24]
add word [esi + 0x30], ax
jmp 0x42d66e
push edx
mov ecx, edi
call fcn.0042e580
jmp 0x42d66e
push dword [esi + 0x1c]
mov ecx, edi
push edx
call fcn.0042d8a1
jmp 0x42d66e
cmp ecx, 0xf
je 0x42ced6
cmp ecx, 0x20
je 0x42cdf5
cmp ecx, 0x4e
je 0x42c6cb
cmp ecx, 0x53
jne 0x42d66e
add esi, 0x20
mov ecx, esi
call fcn.00401438
test al, al
jne 0x42d66e
push dword [esi]
mov ecx, edi
call fcn.0042c407
jmp 0x42d0ca
mov ecx, dword [ebx + 8]
mov eax, 0xfffffe6e
cmp ecx, eax
ja 0x42c8cd
je 0x42c85e
mov eax, 0xfffffdd9
cmp ecx, eax
ja 0x42c781
je 0x42c76e
cmp ecx, 0xfffffd09
je 0x42c74d
cmp ecx, 0xfffffd0e
je 0x42c741
mov eax, 0xfffffd0f
cmp ecx, eax
je 0x42c71a
add eax, 7
cmp ecx, eax
jne 0x42d66e
push eax
jmp 0x42c84f
cmp byte [esi + 0x4155], 1
jne 0x42c72e
push eax
mov ecx, edi
push dword [ebx + 4]
call fcn.0043376f
and byte [esi + 0x4155], 0
and byte [esi + 0x4154], 0
jmp 0x42d66e
mov byte [esi + 0x4154], 1
jmp 0x42d66e
cmp byte [esi + 0x4154], 0
lea eax, [esi + 0x4155]
mov byte [eax], 1
jne 0x42d66e
and byte [eax], 0
push dword [ebx + 8]
jmp 0x42c84f
push 0
push 0
push 0x130b
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42c714
cmp ecx, 0xfffffdda
je 0x42c807
cmp ecx, 0xfffffe3d
je 0x42c85e
cmp ecx, 0xfffffe64
jne 0x42d66e
mov esi, dword [ebx]
push 0xfffffffffffffff0
push esi
mov dword [ebp - 0x18], esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
test ah, 1
je 0x42d66e
cmp word [ebx + 0xc], 0x20
jne 0x42d66e
push 0
push 9
push 0x110a
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
test eax, eax
je 0x42d66e
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x110c
mov dword [ebp - 0xa4], 4
push dword [ebp - 0x18]
call esi
test eax, eax
jmp 0x42c8c0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call esi
test ax, ax
jge 0x42d66e
push 9
call esi
test ax, ax
jge 0x42d66e
push 0
push 0
push 0x130b
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x10
mov dword [ebp + 0x14], eax
call esi
test ax, ax
jge 0x42c849
dec dword [ebp + 0x14]
jmp 0x42c84c
inc dword [ebp + 0x14]
push dword [ebp + 0x14]
push dword [ebx + 4]
mov ecx, edi
call fcn.0043376f
jmp 0x42d66e
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 9
push 0x110a
push dword [ebx]
call esi
test eax, eax
je 0x42d66e
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x110c
mov dword [ebp - 0xa4], 4
push dword [ebx]
call esi
test eax, eax
je 0x42d66e
mov eax, dword [ebx + 0x34]
cmp eax, dword [ebx + 0x5c]
je 0x42d66e
mov eax, dword [ebx + 0xc]
cmp eax, 0x1000
je 0x42d66e
cmp eax, 1
je 0x42d66e
push 0
push dword [ebp - 0x80]
jmp 0x42c852
cmp ecx, 0xfffffec0
je 0x42cde4
cmp ecx, 0xfffffed4
je 0x42cde4
cmp ecx, 0xffffff93
je 0x42cd3e
cmp ecx, 0xffffff94
je 0x42ccc8
cmp ecx, 0xfffffff4
je 0x42cbef
cmp ecx, 0xfffffffb
je 0x42ca3a
cmp ecx, 0xfffffffe
jne 0x42d66e
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebx]
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
mov eax, dword [esi + eax*4 + 0x44]
mov al, byte [eax + 0x78]
cmp al, 0x10
jb 0x42d66e
cmp al, 0x11
jbe 0x42c9be
cmp al, 0x13
jne 0x42d66e
mov eax, dword [ebp - 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
push eax
push 0
push 0x1012
push dword [ebx]
call esi
cmp eax, 0xffffffff
je 0x42d66e
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x160]
push eax
push 0
push 0x1005
mov dword [ebp - 0x160], 4
push dword [ebx]
call esi
test byte [ebp - 0x54], 0xe
je 0x42d66e
push 0
push dword [ebp - 0x140]
jmp 0x42c852
mov eax, dword [ebp - 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x78]
push eax
push 0
push 0x1111
push dword [ebx]
call esi
test eax, eax
je 0x42d66e
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x110c
mov dword [ebp - 0xa4], 0xc
push dword [ebx]
mov dword [ebp - 0x98], 0xf000
call esi
test byte [ebp - 0x70], 0x46
je 0x42d66e
push 0
mov edi, 0x110b
push 9
push edi
push dword [ebx]
call esi
push dword [ebp - 0x6c]
push 9
push edi
push dword [ebx]
call esi
jmp 0x42d66e
and byte [ebp + 0x17], 0
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebx]
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
jne 0x42ca8b
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push eax
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
mov byte [ebp + 0x17], 1
mov dword [ebp - 0x18], eax
mov eax, dword [esi + eax*4 + 0x44]
mov al, byte [eax + 0x78]
cmp al, 0x10
je 0x42cb41
cmp al, 0x13
jne 0x42d66e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x110]
push eax
push 0
push 0x1012
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jle 0x42cbb9
cmp byte [ebp + 0x17], 0
jne 0x42cbb9
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x138]
push eax
push 0
push 0x1005
mov dword [ebp - 0x138], 4
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42d66e
test byte [ebp - 0x108], 0xe
je 0x42cbb9
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x118]
call fcn.0042bec0
test al, al
je 0x42cbb3
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
test eax, eax
je 0x42cbb3
jmp 0x42cbad
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x78]
push eax
push 0
push 0x1111
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42cbb9
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x110c
mov dword [ebp - 0xa4], 4
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
test byte [ebp - 0x70], 0x46
je 0x42cbb9
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x80]
call fcn.0042bec0
test al, al
je 0x42cbb3
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
cmp dword [eax + 4], 0
jne 0x42cbb9
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
mov eax, dword [eax + 4]
test eax, eax
je 0x42d66e
push 0
push dword [esi]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_TrackPopupMenuEx]
jmp 0x42d66e
push dword [ebx]
mov ecx, edi
push edx
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
mov ecx, dword [esi + eax*4 + 0x44]
mov ecx, dword [ecx + 0x40]
test ecx, ecx
je 0x42cc23
push 0
push 0
push 0x41c
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
mov al, byte [eax + 0x78]
cmp al, 0x10
je 0x42cc36
cmp al, 0x13
jne 0x42d66e
mov eax, dword [ebx + 0xc]
dec eax
je 0x42ccc0
sub eax, 0x10000
jne 0x42d66e
mov eax, dword [ebx + 0x2c]
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, edi
call fcn.0042bec0
test al, al
je 0x42d0ca
mov eax, dword [ebp - 0x10]
push 0xfffffffffffffff0
mov eax, dword [esi + eax*4 + 0x44]
push dword [eax + 0x24]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x8000000
jne 0x42d0ca
test byte [ebx + 0x28], 0x11
mov eax, dword [ebp - 0x10]
je 0x42cc9a
mov ecx, dword [esi + eax*4 + 0x44]
cmp byte [ecx + 0x78], 0x14
jne 0x42d66e
lea esi, [esi + eax*4 + 0x44]
mov eax, dword [esi]
mov eax, dword [eax + 0x3c]
cmp eax, 0xffffffff
je 0x42ccab
mov dword [ebx + 0x30], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x38]
test eax, eax
jl 0x42d0ca
mov dword [ebx + 0x34], eax
jmp 0x42d0ca
push 0x20
pop eax
jmp 0x42d68f
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, edi
mov dword [ebp + 0x14], eax
call fcn.0042bec0
mov eax, dword [ebp - 0x10]
mov cl, byte [ebx + 0x10]
push 0
mov eax, dword [esi + eax*4 + 0x44]
mov byte [eax + 0x79], cl
push dword [ebx + 4]
mov ecx, edi
call fcn.0043376f
mov eax, dword [ebp - 0x10]
lea esi, [esi + eax*4 + 0x44]
mov eax, dword [esi]
cmp dword [eax + 0x1c], 0
jle 0x42d66e
mov eax, dword [ebp + 0x14]
lea ecx, [edi + 0x830]
mov dword [edi + 0x82c], eax
mov eax, dword [esi]
add eax, 0x18
push eax
call fcn.004010e6
push 0x434988
push dword [ebx + 0x10]
push 0x1030
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42d66e
xor eax, eax
lea esi, [edi + 0x1964]
push eax
push eax
push eax
push dword [esi]
call dword [sym.imp.COMCTL32.dll_ImageList_SetDragCursorImage]
push 0xfffffffffffffff0
push 0xfffffffffffffff8
push 0
push dword [esi]
call dword [sym.imp.COMCTL32.dll_ImageList_BeginDrag]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetCapture]
mov eax, dword [ebp + 0x10]
push 1
mov dword [edi + 0x1968], eax
xor edi, edi
pop esi
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], edi
push eax
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], esi
call fcn.00403751
push 2
lea eax, [ebp - 0xf8]
push esi
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x14], esp
push str._GUI_DRAGID
call fcn.0040101d
mov ecx, 0x45f2e0
call fcn.0043e0c5
lea esi, [ebx + 0x20]
push esi
push dword [ebx]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebx + 0x24]
push dword [esi]
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_DragEnter]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf8]
jmp 0x42d634
push 1
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x42d66e
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xb4]
jl 0x42d66e
cmp eax, dword [ebp - 0xac]
jg 0x42d66e
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xb0]
jl 0x42d66e
cmp eax, dword [ebp - 0xa8]
jg 0x42d66e
or dword [ebp - 0x10], 0xffffffff
cmp byte [esi + 0x4118], 0
je 0x42ceb6
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_WindowFromPoint]
test eax, eax
je 0x42ce8e
cmp eax, dword [ebp + 8]
je 0x42ce8e
push eax
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bca0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xffffffff
je 0x42ceb6
mov eax, dword [esi + eax*4 + 0x44]
mov ax, word [eax + 0x6c]
cmp ax, 0xffff
je 0x42ceb6
movsx eax, ax
push eax
mov ecx, edi
call fcn.0042d9d7
push 1
jmp 0x42ccc2
mov eax, dword [ebp - 0x14]
mov ecx, edi
mov eax, dword [edi + eax*4 + 0x848]
push dword [eax + 0xc]
call fcn.0042d9d7
cmp dword [esi + 0x10], 0
je 0x42d66e
jmp 0x42ceaf
cmp dword [esi + 0x4180], 0
je 0x42d66e
push esi
mov ecx, edi
push dword [ebp + 8]
call fcn.00433c8b
jmp 0x42d0ca
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x10], eax
jne 0x42cf27
cmp dword [esi + 0x415c], 0
je 0x42d0ca
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
push dword [ebp + 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push 0
push dword [esi + 0x415c]
jmp 0x42cf92
push dword [ebp + 0x10]
mov ecx, edi
push edx
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d0ca
mov eax, dword [esi + eax*4 + 0x44]
mov cl, byte [eax + 0x78]
cmp cl, 0xe
je 0x42d0ca
cmp cl, 0xf
je 0x42d0ca
cmp cl, 0x13
je 0x42d0ca
cmp cl, 0x10
je 0x42d0ca
xor edi, edi
cmp dword [eax + 4], edi
je 0x42d0ca
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x10]
push edi
push dword [esi]
mov eax, dword [esi + eax*4 + 0x44]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push edi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_TrackPopupMenuEx]
jmp 0x42d0ca
cmp ecx, 0x137
ja 0x42d2d6
cmp ecx, 0x135
jae 0x42d2c5
cmp ecx, 0x111
je 0x42d0e8
cmp ecx, 0x112
je 0x42d07a
cmp ecx, 0x113
jbe 0x42d66e
cmp dword [ebp + 0xc], 0x115
jbe 0x42d020
cmp dword [ebp + 0xc], 0x133
jne 0x42d66e
push ebx
push edx
mov ecx, edi
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
mov eax, dword [esi + eax*4 + 0x44]
mov al, byte [eax + 0x78]
cmp al, 2
je 0x42d680
cmp al, 3
je 0x42d680
jmp 0x42d66e
push ebx
push edx
mov ecx, edi
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
push eax
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bcdb
cmp word [ebp + 0x10], 8
mov ecx, dword [ebp - 0x10]
jne 0x42d054
mov edx, dword [esi + ecx*4 + 0x44]
cmp byte [edx + 0x78], 0x12
je 0x42d06d
cmp word [ebp + 0x10], 4
jne 0x42d66e
mov ecx, dword [esi + ecx*4 + 0x44]
cmp byte [ecx + 0x78], 0x16
jne 0x42d66e
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
push ecx
push eax
jmp 0x42d2b7
mov eax, dword [ebp + 0x10]
sub eax, 0xf020
je 0x42d0d1
sub eax, 0x10
je 0x42d0b2
sub eax, 0x30
je 0x42d0a2
sub eax, 0xc0
jne 0x42d66e
push 0
push 0
push esi
push 0xfffffffffffffffb
jmp 0x42d0b9
push 0
push 0
push esi
push 0xfffffffffffffffd
mov ecx, edi
call fcn.0042c27c
jmp 0x42d0ca
push 0
push 0
push esi
push 0xfffffffffffffffa
mov ecx, edi
call fcn.0042c27c
test byte [edi + 0x10], 1
je 0x42d66e
xor eax, eax
jmp 0x42d68f
push 0
push 0
push esi
push 0xfffffffffffffffc
mov ecx, edi
call fcn.0042c27c
mov ecx, edi
call fcn.0042d922
jmp 0x42d0c0
cmp word [ebp + 0x10], 2
jne 0x42d10b
cmp byte [edi], 0
je 0x42d0ca
push 0
push 0xf060
push 0x112
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x42d0ca
mov eax, dword [ebp + 0x10]
shr eax, 0x10
test ax, ax
mov dword [ebp - 0x30], eax
jne 0x42d123
test ebx, ebx
jne 0x42d123
movzx eax, word [ebp + 0x10]
jmp 0x42d143
push ebx
push edx
mov ecx, edi
call fcn.0042bca0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
push eax
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bcdb
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov ecx, edi
push dword [ebp + 0x14]
call fcn.0042bec0
test al, al
jne 0x42d17c
mov eax, dword [esi + 0x417c]
add esi, 0x417c
cmp eax, 0xffffffff
je 0x42d66e
or dword [esi], 0xffffffff
push 0
push eax
jmp 0x42c852
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
cmp byte [eax + 0x78], 0xf
jne 0x42d2af
push 0x104
call fcn.0043fe70
mov edx, eax
mov eax, dword [ebp - 0x10]
pop ecx
lea edi, [ebp - 0xdc]
mov eax, dword [esi + eax*4 + 0x44]
push 0xa
pop ecx
mov dword [ebp - 0x2c], edx
mov esi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0xe0], 0x2c
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xdc], 0x10
push eax
push 0
push dword [ebp + 0x14]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], 0x104
push esi
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
je 0x42d2a3
test byte [ebp - 0xd7], 2
je 0x42d2a3
or dword [ebp - 0x24], 0xffffffff
push esi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
xor edi, edi
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x42d22a
push edi
push esi
call dword [sym.imp.USER32.dll_GetMenuItemID]
cmp eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
je 0x42d232
inc edi
cmp edi, dword [ebp - 0x28]
jl 0x42d214
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp + 0x14]
jne 0x42d2a3
mov dword [ebp - 0x24], edi
dec edi
js 0x42d256
lea eax, [ebp - 0xe0]
push eax
push 1
push edi
push esi
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
je 0x42d235
test byte [ebp - 0xd7], 2
jne 0x42d235
mov eax, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], edi
lea edi, [eax + 1]
cmp edi, dword [ebp - 0x28]
jge 0x42d28f
lea eax, [ebp - 0xe0]
push eax
push 1
push edi
push esi
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
je 0x42d28c
test byte [ebp - 0xd7], 2
je 0x42d28f
inc edi
jmp 0x42d269
push 0x400
dec edi
push dword [ebp - 0x24]
push edi
push dword [ebp - 0x18]
push esi
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
push dword [ebp - 0x2c]
call fcn.0044023b
mov edi, dword [ebp - 0x48]
pop ecx
movzx eax, word [ebp - 0x30]
push eax
push dword [ebp + 0x14]
mov ecx, edi
call fcn.0043376f
test al, al
jmp 0x42d0c4
push ebx
mov ecx, edi
push dword [ebp + 0x10]
push edx
call fcn.0042dd5b
jmp 0x42d68f
sub ecx, 0x138
je 0x42d683
sub ecx, 0xc8
je 0x42d63b
dec ecx
dec ecx
je 0x42d4c2
sub ecx, 0x31
jne 0x42d66e
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.0042d6a0
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x42d66e
mov eax, dword [esi + eax*4 + 0x44]
test byte [eax + 0x79], 8
je 0x42d66e
mov eax, dword [eax]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x18], eax
push ecx
lea ecx, [ebp - 0xfc]
push ecx
push 0xb0
push eax
call ebx
push 0
push 0
push 0xffffffffffffffff
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
and dword [ebp + 0x14], 0
mov dword [ebp + 8], eax
test eax, eax
jle 0x42d3d5
lea eax, [ebp - 0x268]
push 0x104
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
mov eax, dword [ebp - 0x10]
mov eax, dword [esi + eax*4 + 0x44]
cmp byte [eax + 0x78], 2
jne 0x42d39b
push 0x455afc
jmp 0x42d3a9
mov eax, dword [ebp + 8]
dec eax
cmp dword [ebp + 0x14], eax
jge 0x42d3b7
push 0x455b20
lea eax, [ebp - 0x268]
push eax
call fcn.00440a30
pop ecx
pop ecx
lea eax, [ebp - 0x268]
push eax
push 1
push 0xc2
push dword [ebp - 0x18]
call ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 8]
jl 0x42d36f
push 0xffffffffffffffff
push dword [ebp - 0x7c]
push 0xb1
push dword [ebp - 0x18]
call ebx
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragFinish]
mov eax, dword [ebp - 0x10]
mov ecx, dword [esi + eax*4 + 0x44]
cmp byte [ecx + 0x78], 2
je 0x42d0ca
push 1
xor ecx, ecx
pop ebx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ecx
push eax
mov dword [ebp - 4], ecx
push dword [ebp - 0x14]
mov ecx, edi
call fcn.0042bcdb
push eax
lea ecx, [ebp - 0x60]
call fcn.00403751
push 2
lea eax, [ebp - 0x60]
push ebx
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x10], esp
push str._GUI_DROPID
call fcn.0040101d
mov ebx, 0x45f2e0
mov ecx, ebx
call fcn.0043e0c5
push 0xffffffffffffffff
lea ecx, [ebp - 0x60]
call fcn.00403751
push 2
lea eax, [ebp - 0x60]
push 1
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x10], esp
push str._GUI_DRAGID
call fcn.0040101d
mov ecx, ebx
call fcn.0043e0c5
lea eax, [ebp - 0x268]
lea ecx, [ebp - 0x60]
push eax
call fcn.00403877
push 2
lea eax, [ebp - 0x60]
push 1
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x10], esp
push str._GUI_DRAGFILE
call fcn.0040101d
mov ecx, ebx
call fcn.0043e0c5
push 0
push 0
push esi
push 0xfffffffffffffff3
mov ecx, edi
call fcn.0042c27c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402ecf
jmp 0x42d0ca
cmp dword [edi + 0x1968], 0
je 0x42d66e
push 0
call dword [sym.imp.COMCTL32.dll_ImageList_DragLeave]
call dword [sym.imp.COMCTL32.dll_ImageList_EndDrag]
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov ecx, ebx
lea edx, [ebp - 0x14]
shr ecx, 0x10
movsx ecx, cx
movsx eax, bx
push edx
push ecx
push eax
mov ecx, edi
call fcn.0042d6a0
mov esi, eax
cmp esi, 0xffffffff
je 0x42d66e
push esi
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0042bcdb
cmp eax, dword [edi + 0x1968]
je 0x42d66e
mov eax, dword [ebp - 0x14]
push esi
push eax
mov ecx, dword [edi + eax*4 + 0x848]
mov dword [ebp - 0x24], ecx
mov ecx, edi
call fcn.0042bcdb
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
lea esi, [eax + esi*4 + 0x44]
mov eax, dword [esi]
test byte [eax + 0x79], 8
je 0x42d5a4
mov eax, dword [eax]
push 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, edi
push dword [edi + 0x1968]
call fcn.0042ec38
lea eax, [ebp - 0x2c]
push 0
push eax
mov ecx, edi
push dword [ebp - 0x30]
call fcn.0042ec38
mov dword [ebp + 0x14], eax
mov eax, dword [esi]
mov al, byte [eax + 0x78]
cmp al, 2
je 0x42d57d
cmp al, 3
jne 0x42d59b
push dword [ebp + 0x14]
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0xffffffffffffffff
push 0
push 0xb1
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp + 0x14]
call fcn.0044023b
pop ecx
and dword [ebp - 0x60], 0
and dword [ebp - 0x54], 0
push 1
pop esi
mov dword [ebp - 0x58], esi
push dword [ebp - 0x48]
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 2
call fcn.00403751
push 2
lea eax, [ebp - 0x60]
push esi
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x14], esp
push str._GUI_DROPID
call fcn.0040101d
mov esi, 0x45f2e0
mov ecx, esi
call fcn.0043e0c5
push 0x45bba0
lea ecx, [ebp - 0x60]
call fcn.00403877
push 2
lea eax, [ebp - 0x60]
push 1
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp + 0x14], esp
push str._GUI_DRAGFILE
call fcn.0040101d
mov ecx, esi
call fcn.0043e0c5
xor esi, esi
mov ecx, edi
push esi
push esi
push dword [ebp - 0x24]
push 0xfffffffffffffff3
call fcn.0042c27c
or dword [ebp - 4], 0xffffffff
mov dword [edi + 0x1968], esi
lea ecx, [ebp - 0x60]
call fcn.00402ecf
jmp 0x42d66e
cmp dword [edi + 0x1968], 0
je 0x42d66e
movsx eax, bx
mov dword [ebp - 0x34], eax
mov eax, ebx
shr eax, 0x10
movsx eax, ax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call dword [sym.imp.COMCTL32.dll_ImageList_DragMove]
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DefDlgProcA]
jmp 0x42d68f
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, edi
push dword [ebp + 0x10]
push edx
call fcn.0042de20
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10