Function at 0x10034780
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10148760
mov eax, dword fs:[0]
push eax
sub esp, 0x348
mov eax, dword [0x101a49d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x310], edi
mov dword [ebp - 4], 0
push 0
push 0x101a65e8
push 0x101abc74
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x2b4
push 0
lea eax, [ebp - 0x308]
push eax
call fcn.1011ce00
add esp, 0xc
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 8
cmovae eax, dword [ebp + 8]
push 0x100
push 0x2b4
lea ecx, [ebp - 0x308]
push ecx
push 0
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
jne 0x1003482c
push str.test
mov ecx, edi
call fcn.100524b0
lea ecx, [ebp + 8]
call fcn.10024ce0
mov eax, edi
jmp 0x10034a59
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x324], eax
test eax, eax
je 0x1003499b
mov dword [ebp - method.Gdiplus::Bitmap.virtual_0], vtable.Gdiplus::Image.0
mov dword [ebp - method.Gdiplus::Bitmap.virtual_0], vtable.Gdiplus::Bitmap.0
mov dword [ebp - 0x30c], 0
lea ecx, [ebp - 0x30c]
push ecx
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHICON]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x54]
push eax
push str.557cf400_1a04_11d3_9a73_0000f81ef32e
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [ebp - 0x354], 1
movups xmm0, xmmword [0x101823cc]
movups xmmword [ebp - 0x350], xmm0
mov dword [ebp - 0x33c], 4
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x320], 0x64
lea eax, [ebp - 0x320]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0
lea edx, [ebp - 0x31c]
lea ecx, [ebp - 0x334]
call fcn.10034550
mov eax, dword [ebp - 0x318]
mov edx, dword [ebp - 0x31c]
sub eax, edx
push eax
lea ecx, [ebp - 0x2c]
call fcn.10034310
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30c], ecx
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30c], eax
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.10059df0
push dword [ebp - 0x324]
call dword [sym.imp.USER32.dll_DestroyIcon]
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.10052370
lea ecx, [ebp - 0x44]
call fcn.10024ce0
lea ecx, [ebp - 0x2c]
call fcn.10052b20
lea ecx, [ebp - 0x31c]
call fcn.1004f450
mov dword [ebp - method.Gdiplus::Bitmap.virtual_0], vtable.Gdiplus::Image.0
push dword [ebp - 0x330]
call dword [sym.imp.gdiplus.dll_GdipDisposeImage]
lea ecx, [ebp + 8]
call fcn.10024ce0
mov eax, edi
jmp 0x10034a59
mov dword [ebp - 4], 0xffffffff
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
xor eax, eax
lea edx, [eax + 2]
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100349c0
sub eax, edx
sar eax, 1
push eax
push 0
mov ecx, edi
call fcn.10051fd0
mov edx, dword [ebp + 0x1c]
cmp edx, 8
jb 0x10034a0f
lea edx, [edx*2 + 2]
mov ecx, dword [ebp + 8]
mov eax, ecx
cmp edx, 0x1000
jb 0x10034a05
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10034a75
push edx
push ecx
call fcn.1011a823
add esp, 8
mov eax, edi
jmp 0x10034a59
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1011a2e1
mov esp, ebp
pop ebp
ret
call fcn.10125fc5
int3