Function at 0x46ce40
Capabilities:
Hide graphical window

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa00d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x80
mov eax, dword [0x53c160]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x78], edi
cmp dword [ebx + 0x1c], 0
mov eax, dword [ebx + 0x18]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], esi
jne 0x46d407
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x110
jne 0x46ced2
mov eax, dword [edi + 0x18]
sub esp, 8
mov ecx, edi
mov dword [eax + 0x20], 1
mov eax, esp
mov dword [eax], edx
call fcn.0046da80
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
jmp 0x46d0b7
cmp ecx, 2
jne 0x46cee6
mov eax, dword [edi + 0x18]
mov dword [eax + 0x20], 1
jmp 0x46d0ae
cmp ecx, 0x200
jne 0x46cf1b
mov eax, dword [edi + 0x18]
movsx ecx, si
mov dword [eax + 0x20], 1
mov eax, esi
shr eax, 0x10
cmp dword [edi + 0x12c], 0
cwde
je 0x46d0ae
push eax
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_DragMove]
jmp 0x46d0ae
cmp ecx, 0x202
jne 0x46d053
mov eax, dword [edi + 0x18]
mov dword [eax + 0x20], 1
movsx eax, si
mov dword [ebp - 0x7c], eax
mov eax, esi
shr eax, 0x10
cmp dword [edi + 0x12c], 0
cwde
mov dword [ebp - 0x78], eax
je 0x46d0ae
push dword [edi + 4]
call dword [sym.imp.COMCTL32.dll_ImageList_DragLeave]
call dword [sym.imp.COMCTL32.dll_ImageList_EndDrag]
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, dword [edi + 0x12c]
test eax, eax
je 0x46cf81
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
test eax, eax
je 0x46cf81
mov dword [edi + 0x12c], 0
mov esi, dword [edi + 0x134]
mov dword [edi + 0x134], 0
test esi, esi
je 0x46cfad
mov eax, dword [esi]
test eax, eax
je 0x46cfa2
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 4
push esi
call fcn.004c3baf
add esp, 8
mov eax, dword [ebp - 0x7c]
xorps xmm0, xmm0
mov esi, dword [edi + 0x124]
sub esi, dword [edi + 0x120]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x1012
push dword [edi + 0x58]
sar esi, 6
dec esi
movlpd qword [ebp - 0x24], xmm0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x7c], eax
call eax
mov ecx, dword [edi + 0x124]
cmp esi, eax
cmovb eax, esi
sub ecx, dword [edi + 0x120]
sar ecx, 6
mov dword [ebp - 0x78], eax
cmp eax, ecx
jae 0x46d0ae
lfence
push dword [edi + 0x130]
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
call fcn.0046e870
push 0
mov dword [ebp - 4], 0
push dword [edi + 0x130]
push 0x1008
push dword [edi + 0x58]
call dword [ebp - 0x7c]
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
push dword [ebp - 0x78]
call fcn.0046d690
lea ecx, [ebp - 0x70]
call fcn.0041a0a0
jmp 0x46d0ae
cmp ecx, 5
jne 0x46d0ce
mov eax, dword [edi + 0x18]
push 0
push 0
push 0x101d
mov dword [eax + 0x20], 1
mov eax, dword [ebp - 0x78]
movsx edi, si
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push dword [eax + 0x58]
call esi
mov edx, dword [ebp - 0x78]
mov ecx, edi
sub ecx, dword [edx + 0x138]
add ecx, eax
movzx eax, cx
push eax
push 0
push 0x101e
push dword [edx + 0x58]
call esi
mov eax, dword [ebp - 0x78]
mov dword [eax + 0x138], edi
mov edi, eax
mov eax, dword [edi + 0x18]
mov dword [eax + 0x20], 0
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
je 0x46d334
mov eax, 1
jmp 0x46d409
cmp ecx, 0x4e
jne 0x46d334
cmp dword [esi + 8], 0xfffffec4
jne 0x46d104
mov eax, dword [edi + 0x18]
mov ecx, edi
push esi
mov dword [eax + 0x20], 1
call fcn.0046e000
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x46d400
cmp dword [esi + 8], 0xffffff93
jne 0x46d244
mov eax, dword [edi + 0x18]
mov dword [eax + 0x20], 1
mov ecx, dword [esi + 0xc]
test ecx, ecx
js 0x46d22e
mov eax, dword [edi + 0x124]
sub eax, dword [edi + 0x120]
sar eax, 6
cmp ecx, eax
jge 0x46d22e
lea eax, [ebp - 0x90]
mov dword [edi + 0x130], ecx
push eax
push dword [esi + 0xc]
xorps xmm0, xmm0
push 0x1021
push dword [edi + 0x58]
movlpd qword [ebp - 0x90], xmm0
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0x12c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x24]
push eax
push dword [esi + 0xc]
movups xmmword [ebp - 0x24], xmm0
push 0x100e
push dword [edi + 0x58]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi + 0x24]
sub ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0x20]
sub eax, dword [ebp - 0x24]
push ecx
push eax
push 0
push dword [edi + 0x12c]
call dword [sym.imp.COMCTL32.dll_ImageList_BeginDrag]
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [edi + 4]
call dword [sym.imp.COMCTL32.dll_ImageList_DragEnter]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetCapture]
push 0x137
push dword [0x547960]
call dword [sym.imp.USER32.dll_LoadCursorW]
push 4
mov esi, eax
call fcn.004c3bbd
add esp, 4
mov dword [ebp - 0x7c], eax
push esi
mov esi, dword [sym.imp.USER32.dll_SetCursor]
call esi
mov ecx, eax
lea edx, [edi + 0x134]
mov eax, dword [ebp - 0x7c]
lea edi, [ebp - 0x88]
cmp edx, edi
mov edi, dword [ebp - 0x78]
mov dword [eax], ecx
je 0x46d216
mov esi, dword [edx]
mov dword [edx], eax
test esi, esi
je 0x46d22b
mov eax, dword [esi]
test eax, eax
je 0x46d211
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 4
push esi
jmp 0x46d223
test ecx, ecx
je 0x46d220
push ecx
call esi
mov eax, dword [ebp - 0x7c]
push 4
push eax
call fcn.004c3baf
add esp, 8
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x46d400
cmp dword [esi + 8], 0xfffff43f
jne 0x46d271
mov eax, dword [edi + 0x18]
push ecx
mov ecx, edi
mov dword [eax + 0x20], 1
call fcn.0046e1b0
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x46d400
cmp dword [esi + 8], 0xfffff441
jne 0x46d307
mov eax, dword [edi + 0x18]
lea ecx, [edi + 0x54]
mov dword [eax + 0x20], 1
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
push dword [esi + 0xc]
call fcn.0046f8d0
test eax, eax
je 0x46d2f3
cmp dword [ebp - 0x7c], 6
jne 0x46d2f3
mov esi, dword [ebp - 0x78]
push 0
push esi
push 0x1008
push dword [edi + 0x58]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [edi + 0x124]
shl esi, 6
add esi, dword [edi + 0x120]
push esi
lea ecx, [esi + 0x40]
call fcn.0041a320
mov ecx, dword [edi + 0x124]
add esp, 4
sub ecx, 0x40
call fcn.0041a0a0
add dword [edi + 0x124], 0xffffffc0
mov ecx, 1
mov esi, dword [ebp - 0x80]
jmp 0x46d2f5
xor ecx, ecx
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x46d400
cmp dword [esi + 8], 0xfffff445
jne 0x46d334
mov eax, dword [edi + 0x18]
mov ecx, edi
push esi
mov dword [eax + 0x20], 1
call fcn.0046e370
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x46d400
mov esi, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
push eax
push esi
push dword [ebp - 0x84]
mov ecx, edi
mov dword [ebp - 0x7c], 1
push dword [ebx + 0xc]
call fcn.00419800
cmp dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
jne 0x46d400
mov eax, dword [ebx + 0xc]
lea ecx, [edi + 0x20]
cmp eax, 5
jne 0x46d3da
xor eax, eax
test ecx, ecx
cmove edi, eax
cmp byte [ecx + 0x1c], al
je 0x46d3ac
push 0xe801
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [ebp - 0x84]
cmp ecx, 2
jne 0x46d39d
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x46d3b7
test ecx, ecx
jne 0x46d3b2
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x46d3b7
mov ecx, dword [ebp - 0x84]
cmp ecx, 1
je 0x46d3f7
mov eax, esi
lea ecx, [edi + 0x20]
shr eax, 0x10
cwde
push eax
movsx eax, si
push eax
call fcn.00418f30
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, 1
jmp 0x46d409
cmp eax, 0x24
jne 0x46d407
cmp dword [ecx + 0x14], 0xffffffff
je 0x46d3f7
cmp dword [ecx + 0x18], 0xffffffff
je 0x46d3f7
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, 1
jmp 0x46d409
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004c3ba1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18