Function at 0x4f5060
Capabilities:
Get file system object information

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 0x543f7d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3a0
mov eax, dword [0x577018]
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 - 0x334], edi
mov dword [ebp - 0x338], edi
mov dword [ebp - 0x358], edi
push 1
mov dword [ebp - 4], 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
call fcn.00525c69
movd xmm1, esi
mov ecx, 0x64
cvtdq2pd xmm1, xmm1
shr esi, 0x1f
cdq
idiv ecx
addsd xmm1, qword [esi*8 + 0x5685e0]
movd xmm0, dword [ebx + 0x18]
inc dl
cvtdq2pd xmm0, xmm0
movzx eax, dl
divsd xmm1, qword [0x577b80]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
mulsd xmm1, qword [0x5681d0]
subsd xmm1, qword [0x5682d0]
cvttsd2si eax, xmm1
cmp eax, 1
jge 0x4f5132
mov dword [ebp - 0x338], 1
jmp 0x4f519d
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
call fcn.00525c69
cdq
mov ecx, 0x64
idiv ecx
movd xmm1, esi
cvtdq2pd xmm1, xmm1
inc dl
shr esi, 0x1f
movzx eax, dl
movd xmm0, dword [ebx + 0x18]
addsd xmm1, qword [esi*8 + 0x5685e0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [0x577b80]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
mulsd xmm1, qword [0x5681d0]
subsd xmm1, qword [0x5682d0]
cvttsd2si eax, xmm1
mov dword [ebp - 0x338], eax
sub esp, 0x18
mov ecx, esp
push 0x12
push 0x5662d8
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408270
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
call fcn.00525c69
movd xmm1, esi
mov ecx, 0x64
cvtdq2pd xmm1, xmm1
shr esi, 0x1f
cdq
idiv ecx
addsd xmm1, qword [esi*8 + 0x5685e0]
mov eax, dword [ebx + 0x14]
inc dl
push dword [ebx + 0x18]
mov ecx, edi
push eax
divsd xmm1, qword [0x577b80]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movzx eax, dl
push dword [ebp - 0x338]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
mulsd xmm1, qword [0x5681d0]
cvttsd2si eax, xmm1
push eax
push 0
call fcn.004e2cf0
mov esi, dword [ebx + 8]
lea ecx, [ebx + 0x1c]
mov byte [ebp - 4], 3
push ecx
lea ecx, [edi + 0x68]
mov dword [edi], vtable.NeatDownloadWindow.0
mov dword [edi + 0x60], esi
call fcn.004bd890
lea eax, [ebx + 0x3ec]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x438]
call fcn.00408180
lea eax, [ebx + 0x404]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x450]
call fcn.00408180
mov ecx, dword [ebp - 0x334]
xor eax, eax
lea edi, [ecx + 0x46c]
mov dword [edi + 8], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0xf
mov dword [edi + 0x24], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0xf
mov dword [edi + 0x3c], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0xf
mov byte [edi + 4], 0
mov word [edi + 0x20], ax
xor edx, edx
mov dword [ecx + 0x4c0], eax
mov dword [ecx + 0x4d0], eax
mov dword [ecx + 0x4d4], 7
mov word [ecx + 0x4c0], dx
mov dword [ecx + 0x4d8], edx
mov dword [ecx + 0x4e8], edx
mov dword [ecx + 0x4ec], 7
mov word [ecx + 0x4d8], dx
mov dword [ecx + 0x4f0], edx
mov dword [ecx + 0x500], edx
mov dword [ecx + 0x504], 0xf
mov byte [ecx + 0x4f0], dl
mov dword [ecx + 0x508], edx
mov dword [ecx + 0x518], edx
mov dword [ecx + 0x51c], 0xf
mov byte [ecx + 0x508], dl
mov dword [ecx + 0x58c], edx
mov dword [ecx + 0x59c], edx
mov dword [ecx + 0x5a0], 7
mov word [ecx + 0x58c], ax
mov byte [ebp - 4], 0xc
xorps xmm0, xmm0
mov eax, dword [esi + 0xc4]
lea esi, [ecx + 0x68]
mov dword [ecx + 0x674], eax
mov al, byte [ebx + 0x10]
mov byte [ecx + 0x694], al
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x678], edx
mov dword [ecx + 0x468], edx
mov dword [ecx + 0x690], edx
mov dword [ecx + 0x6a0], edx
mov edx, dword [esi]
mov dword [ecx + 0x67c], 0x1b
mov word [ecx + 0x695], 0x100
mov dword [ecx + 0x3c], 0xce0000
mov dword [ecx + 0x680], eax
movsd qword [ecx + 0x688], xmm0
mov byte [ecx + 0x69c], 1
lea ecx, [ebp - 0x3b0]
call fcn.004ed3f0
push eax
mov ecx, edi
call fcn.004bfca0
lea ecx, [ebp - 0x3b0]
call fcn.004bdab0
mov edi, dword [ebp - 0x334]
push str.CompositedWindow::Window
push 0
mov dword [edi + 0x628], 0
mov dword [edi + 0x624], 0
mov dword [edi + 0x648], 0
mov dword [edi + 0x660], 0
mov dword [edi + 0x64c], 0
mov dword [edi + 0x664], 0
mov dword [edi + 0x650], 0
mov dword [edi + 0x544], 0
call dword [sym.imp.UxTheme.dll_OpenThemeData]
lea ecx, [ebp - 0x78]
mov dword [edi + 0x548], eax
push ecx
push 0x321
push eax
call dword [sym.imp.UxTheme.dll_GetThemeSysFont]
test eax, eax
js 0x4f5479
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [edi + 0x544], eax
mov eax, dword [edi + 0x544]
test eax, eax
je 0x4f5488
cmp eax, 0xffffffff
jne 0x4f5496
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [edi + 0x544], eax
lea eax, [ebp - 0x354]
mov ecx, esi
push eax
call fcn.004c5390
lea esi, [edi + 0x4c0]
mov dword [ebp - 0x334], eax
cmp esi, eax
je 0x4f54e4
mov ecx, esi
call fcn.00408210
mov eax, dword [ebp - 0x334]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0x340]
cmp ecx, 8
jb 0x4f5524
mov edx, dword [ebp - 0x354]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f551a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f583b
push ecx
push edx
call fcn.00517162
add esp, 8
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00408180
lea ecx, [ebp - 0x354]
call fcn.004eb0a0
mov esi, eax
lea ecx, [edi + 0x4d8]
add esp, 0x18
cmp ecx, esi
je 0x4f5578
call fcn.00408210
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi + 0x4d8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x4e8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x340]
cmp ecx, 8
jb 0x4f55b8
mov edx, dword [ebp - 0x354]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f55ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f5840
push ecx
push edx
call fcn.00517162
add esp, 8
xor eax, eax
mov dword [ebp - 0x344], 0
push 0x3c
push eax
mov word [ebp - 0x354], ax
lea eax, [ebp - 0x398]
push eax
mov dword [ebp - 0x340], 7
mov dword [ebp - 0x39c], 0x40
call fcn.00519680
movups xmm0, xmmword [ebp - 0x39c]
add esp, 0xc
cmp byte [0x57ac35], 0
movups xmmword [edi + 0x54c], xmm0
movups xmm0, xmmword [ebp - 0x38c]
movups xmmword [edi + 0x55c], xmm0
movups xmm0, xmmword [ebp - 0x37c]
movups xmmword [edi + 0x56c], xmm0
movups xmm0, xmmword [ebp - 0x36c]
movups xmmword [edi + 0x57c], xmm0
mov dword [edi + 0x550], 0x2801
mov dword [edi + 0x580], 0xf
je 0x4f5654
cmp byte [0x57ac34], 0
mov eax, 0xe6e6e6
jne 0x4f5659
mov eax, 0x1e1e1e
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push 0x77
push dword [0x57ac10]
mov dword [edi + 0x554], eax
call esi
push 0x78
push dword [0x57ac10]
mov dword [edi + 0x5d0], eax
call esi
push 0x66
push dword [0x57ac10]
mov dword [edi + 0x5d4], eax
call esi
mov dword [edi + 0x5d8], eax
lea eax, [edi + 0x4c0]
cmp dword [eax + 0x14], 8
jb 0x4f56a3
mov eax, dword [eax]
push 0x111
push 0x2b4
lea ecx, [ebp - 0x330]
push ecx
push 0x80
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
movsd xmm0, qword [0x577b80]
mulsd xmm0, qword [0x568238]
mov edx, dword [0x57ac1c]
mov ecx, dword [ebp - 0x330]
cvttsd2si eax, xmm0
push eax
push eax
call fcn.004ea1e0
xorps xmm0, xmm0
mov dword [edi + 0x5dc], eax
movups xmmword [edi + 0x5a4], xmm0
add esp, 8
lea ecx, [ebx + 0x1c]
movups xmmword [edi + 0x5b4], xmm0
movq qword [edi + 0x5c4], xmm0
movd xmm0, dword [edi + 0x67c]
cvtdq2pd xmm0, xmm0
mov dword [edi + 0x5a4], 0x28
mov dword [edi + 0x5a8], 0
mov dword [edi + 0x5b0], 0x200001
mov dword [edi + 0x5b4], 0
mov dword [edi + 0x668], 0
mov dword [edi + 0x66c], 0
mulsd xmm0, qword [0x577b80]
mov word [edi + 0x540], 0
mov dword [edi + 0x670], 5
cvttsd2si eax, xmm0
neg eax
mov dword [edi + 0x5ac], eax
call fcn.00419bc0
mov ecx, dword [ebx + 0x400]
cmp ecx, 8
jb 0x4f57c0
mov edx, dword [ebx + 0x3ec]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f57b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f5845
push ecx
push edx
call fcn.00517162
add esp, 8
mov ecx, dword [ebx + 0x418]
xor eax, eax
mov dword [ebx + 0x3fc], 0
mov dword [ebx + 0x400], 7
mov word [ebx + 0x3ec], ax
cmp ecx, 8
jb 0x4f5819
mov edx, dword [ebx + 0x404]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f580f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f5845
push ecx
push edx
call fcn.00517162
add esp, 8
mov eax, edi
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.00517154
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x414
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
int3