Function at 0x4974d0
Capabilities:
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4e811c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x38], ebp
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
mov esi, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xc8]
push edx
mov edx, dword [esp + 0xc8]
push ecx
push edx
push 0x4ebd38
push 0x4ebd38
push eax
push esi
push 0xe
mov ecx, ebp
call fcn.0043b140
xor edi, edi
lea ecx, [ebp + 0x40]
mov dword [esp + 0xac], edi
mov dword [ebp], 0x4f5a0c
call fcn.00446550
push 0x5194ec
mov dword [esp + 0xa4], 0x5194ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0xdc]
mov ebx, dword [esp + 0xd4]
mov dword [eax], ebp
mov ecx, dword [esi + 0x2c]
mov eax, ebx
and eax, 0xfffff000
push 0x80
mov byte [esp + 0xb0], 2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x90], eax
call fcn.004c86a5
add esp, 4
mov dword [esp + 0x5c], eax
cmp eax, edi
mov byte [esp + 0xac], 3
je 0x4975c5
lea edx, [ebp + 0x34]
push edx
mov ecx, eax
call fcn.004a4920
mov edi, eax
mov dword [esp + 0x24], edi
jmp 0x4975c9
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x1c], edi
mov ecx, dword [eax + 0x48]
lea eax, [ebp + 8]
mov dword [edi + 0x48], ecx
push eax
lea ecx, [edi + 0x4c]
mov byte [esp + 0xb0], 2
call fcn.00457540
mov eax, ebx
and eax, 0x8000
xor edx, edx
or eax, edx
mov dword [edi + 0x50], esi
mov ecx, 0x40000000
je 0x49760b
mov dword [esp + 0x10], 0x48000000
mov ecx, dword [esp + 0x10]
test bl, 0x10
jne 0x497616
or ecx, 0x10000000
test bl, 4
je 0x497621
or ecx, 0x200
test bl, 0x40
je 0x49762c
or ecx, 0x800000
or ecx, 0x4000
test bl, bl
mov dword [esp + 0x10], ecx
jns 0x497644
or ecx, 0x80
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 0x2c]
mov edx, dword [esp + 0xd0]
add esi, eax
mov eax, dword [ebp + 0x28]
mov ebx, ecx
mov ecx, dword [ebp + 0x20]
add eax, ecx
mov dword [esp + 0x14], eax
xor eax, eax
shr ebx, 7
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], eax
mov eax, dword [edx]
lea ecx, [esp + 0x18]
and bl, 1
push ecx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x1c], eax
call fcn.0043f2e0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x30]
mov edx, dword [edi]
add esp, 4
push eax
mov eax, dword [ecx + 0x18]
push eax
mov eax, dword [ebp + 0x20]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, edi
call dword [edx + 0x80]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x18]
xor esi, esi
push esi
push esi
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x4976e6
cmp eax, esi
jne 0x4976ef
mov eax, dword [0x51948c]
cmp eax, esi
je 0x497703
cmp eax, 0xffffffff
je 0x497703
mov ecx, dword [edi + 0x18]
push 1
push eax
push 0x30
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [edi + 0x18]
push 1
push edx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
lea eax, [esp + 0x60]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov ecx, dword [edi + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [edi + 0x18]
lea edx, [esp + 0x70]
push edx
push esi
push 0x130a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test bl, bl
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
jne 0x497766
mov ecx, dword [esp + 0x70]
inc edx
jmp 0x49776b
mov ecx, dword [esp + 0x78]
inc ecx
sub eax, ecx
sub eax, 2
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
sub eax, edx
sub eax, 2
push 0x48
mov dword [esp + 0x58], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
call fcn.004c86a5
add esp, 4
cmp eax, esi
je 0x4977e5
mov dl, byte [eax + 0x44]
mov ecx, SysReAllocStringLen
and dl, 0xf8
mov ebx, eax
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], esi
mov byte [eax + 0x35], 0
mov byte [eax + 0x44], dl
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], 0xdefbac
mov dword [eax + 0x30], 0xff0000
mov dword [eax + 0x24], 0xbf800000
mov byte [eax + 0x34], 0x4c
mov dword [eax + 0x40], esi
mov dword [eax], fcn.00445210
mov dword [esp + 0x10], ebx
jmp 0x4977eb
mov dword [esp + 0x10], esi
mov ebx, esi
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x5c], ebx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebx]
push esi
push ecx
mov ecx, ebx
call dword [edx + 0x80]
push ebx
mov ecx, edi
call fcn.004a4330
lea edx, [esp + 0x18]
push edx
call fcn.0043f2e0
mov ebx, dword [esp + 0x1c]
push 2
mov dword [esp + 0x64], ebx
call fcn.00445f00
add esp, 8
cmp eax, esi
mov dword [esp + 0x50], eax
je 0x497830
mov word [eax], si
cmp word [ebx], si
mov byte [esp + 0xac], 4
mov dword [esp + 0x1c], esi
je 0x497b66
jmp 0x497850
xor esi, esi
lea esp, [esp]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x48]
lea ecx, [esp + 0x3c]
lea edi, [esp + 0x24]
call fcn.00454de0
push 2
call fcn.00445f00
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x4c], eax
je 0x497885
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x88], eax
je 0x49789d
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x80], eax
je 0x4978b5
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x84], eax
je 0x4978cd
mov word [eax], si
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x4f7484
call ebx
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
push eax
call fcn.00445f00
mov ecx, esi
mov edx, ecx
mov ebp, eax
shr ecx, 2
mov esi, 0x4f7484
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add esp, 4
mov edi, ebp
mov esi, dword [esp + 0x34]
test esi, esi
mov byte [esp + 0xac], 9
je 0x497957
test ebp, ebp
mov dword [esp + 0x20], 0
je 0x497928
push ebp
call ebx
mov dword [esp + 0x20], eax
push esi
call ebx
mov esi, eax
mov eax, dword [esp + 0x20]
inc esi
add eax, esi
shl eax, 1
push ebp
call fcn.00445f60
mov edx, dword [esp + 0x38]
mov edi, eax
mov eax, dword [esp + 0x24]
lea ecx, [esi + esi]
push ecx
push edx
lea ecx, [edi + eax*2]
push ecx
call fcn.004aee50
add esp, 0x10
test edi, edi
mov dword [esp + 0x20], 0
je 0x49796a
push edi
call ebx
mov dword [esp + 0x20], eax
push 0x4f6988
call ebx
mov edx, dword [esp + 0x20]
mov esi, eax
inc esi
lea eax, [esi + edx]
shl eax, 1
push edi
call fcn.00445f60
mov ecx, dword [esp + 0x24]
mov ebp, eax
lea eax, [esi + esi]
push eax
lea edx, [ebp + ecx*2]
push 0x4f6988
push edx
mov dword [esp + 0x24], ebp
call fcn.004aee50
mov esi, dword [esp + 0x40]
add esp, 0x10
test esi, esi
je 0x4979e3
xor edi, edi
test ebp, ebp
je 0x4979b6
push ebp
call ebx
mov edi, eax
push esi
call ebx
mov esi, eax
inc esi
lea eax, [esi + edi]
shl eax, 1
push ebp
call fcn.00445f60
mov ecx, dword [esp + 0x34]
mov ebp, eax
lea eax, [esi + esi]
push eax
push ecx
lea edx, [ebp + edi*2]
push edx
mov dword [esp + 0x24], ebp
call fcn.004aee50
add esp, 0x10
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x2c]
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
add eax, 2
push eax
mov eax, dword [esp + 0x6c]
add eax, 2
push eax
mov eax, dword [esp + 0xd0]
lea edx, [esp + 0x30]
push edx
push ebx
push eax
mov ecx, ebx
call fcn.0048e910
mov esi, dword [eax + 0x1c]
mov edi, dword [esi + 0x18]
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, dword [esp + 0x8c]
push eax
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [ebx + 0x18]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x31
push ecx
call edi
cmp eax, 0xffffffff
je 0x497a57
test eax, eax
jne 0x497a60
mov eax, dword [0x51948c]
test eax, eax
je 0x497a70
cmp eax, 0xffffffff
je 0x497a70
mov edx, dword [esi + 0x18]
push 1
push eax
push 0x30
push edx
call edi
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
push 0
push esi
push edi
call fcn.004a43b0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
push 0x40
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esi + 0x18]
push edx
push eax
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi + 0x18]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
push 0
push 1
push edi
push eax
call fcn.0048ab10
test ebp, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x497adb
mov ecx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call esi
mov eax, dword [esp + 0x84]
test eax, eax
je 0x497af5
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x80]
test eax, eax
je 0x497b0e
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x88]
test eax, eax
je 0x497b28
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x4c]
test eax, eax
mov byte [esp + 0xac], 4
je 0x497b47
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
inc edx
cmp word [eax], 0
mov dword [esp + 0x1c], edx
jne 0x497847
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, edi
call fcn.004a44c0
push 0x4f5a1c
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
lea edx, [esi + 2]
push edx
call fcn.00445f00
mov ecx, esi
mov ebx, eax
mov eax, ecx
shr ecx, 2
mov esi, 0x4f5a1c
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add esp, 4
mov edi, ebx
mov esi, dword [ebp + 8]
test esi, esi
mov byte [esp + 0xac], 0xa
je 0x497c03
test ebx, ebx
mov dword [esp + 0x1c], 0
je 0x497bce
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x1c], eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x28], eax
add eax, ecx
shl eax, 1
push ebx
call fcn.00445f60
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edi, eax
lea eax, [edx + edx]
push eax
lea edx, [edi + ecx*2]
push esi
push edx
call fcn.004aee50
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x497c12
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
push str..Select
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + ebx]
shl eax, 1
push edi
call fcn.00445f60
mov edi, eax
lea eax, [esi + esi]
push eax
lea ecx, [edi + ebx*2]
push str..Select
push ecx
mov dword [esp + 0x5c], edi
call fcn.004aee50
mov edx, dword [ebp + 8]
add esp, 0x10
cmp word [edx], 0
je 0x497c5d
mov ecx, dword [ebp + 0x30]
push 0x4ee164
push edi
call fcn.004637c0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
push 0
push 0
push 0x1304
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esp + 0x5c]
xor ebx, ebx
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
jle 0x497d78
lea esp, [esp]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x48]
lea ecx, [esp + 0x3c]
lea edi, [esp + 0x24]
call fcn.00454de0
push 2
call fcn.00445f00
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x497cc5
mov word [eax], bx
mov ecx, dword [esp + 0x58]
push 1
push ebx
lea eax, [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0xc4]
mov byte [esp + 0xbc], 0xb
call fcn.00451c30
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x18]
lea edx, [esp + 0x90]
push edx
push ebp
push 0x130a
push eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x14]
lea ecx, [ebp + 0xbb8]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x94]
push edx
push esi
push edi
call fcn.004a4340
mov ecx, dword [esp + 0x38]
push ebx
push 1
push esi
push ebp
call fcn.0048ad40
cmp esi, ebx
mov byte [esp + 0xac], 0xa
je 0x497d67
mov eax, dword [0x51927c]
add esi, 0xfffffff8
push esi
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x28]
inc ebp
cmp ebp, eax
jl 0x497c90
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x18]
push ebx
push 1
push 0x401
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp edi, ebx
je 0x497da3
mov eax, dword [0x51927c]
add edi, 0xfffffff8
push edi
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x497dbd
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
push 0x5194ec
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa0
ret 0x2c