Function at 0x10023323
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4f1c
call fcn.1004e6b2
mov eax, dword [0x1001e278]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push edi
push edi
push edi
push edi
push esi
lea eax, [ebp - 0x4f00]
push eax
mov dword [ebp - 0x4f14], esi
mov dword [ebp - 0x4f0c], edi
mov dword [ebp - 0x4f00], edi
call fcn.10039504
cmp eax, edi
jge 0x10023393
mov eax, dword [ebp - 0x4f00]
cmp eax, edi
je 0x10023379
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
call fcn.1001fd9f
pop ecx
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004da5d
leave
ret 4
lea eax, [ebp - 0x4f0c]
push eax
push dword [ebp - 0x4f00]
push esi
call fcn.100207e3
test al, al
je 0x10023915
lea ecx, [ebp - 0x4c38]
mov eax, 0x1046
mov dword [ebp - 0x4c44], ecx
mov esi, 0x10084540
push edi
lea ecx, [ebp - 0x4c48]
mov dword [ebp - 0x4c3c], eax
mov dword [ebp - 0x4c48], esi
mov dword [ebp - 0x4c40], eax
call fcn.10023170
mov ebx, dword [ebp - 0x4f0c]
push ebx
call fcn.1001ff93
test al, al
je 0x100238fc
push 0x1000198c
call fcn.10025f8b
test eax, eax
jne 0x10023433
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x1002341d
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, edi
je 0x1002342d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
jmp 0x1002337a
lea eax, [ebp - 0x4c48]
push eax
push ecx
mov eax, esp
mov dword [eax], ebx
call fcn.1004f532
test al, al
je 0x10023404
push dword [ebp - 0x4f00]
call fcn.1001fe51
test al, al
je 0x10023404
mov eax, dword [ebp - 0x4f00]
push 0x20
lea edx, [ebp - 0x4f18]
push edx
lea edx, [ebp - 0x3adc]
mov ebx, 0x823
push edx
mov dword [ebp - 0x4f18], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
test eax, eax
jge 0x100234b6
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x1002349b
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, edi
je 0x100234ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x4f0c]
jmp 0x1002337a
mov eax, dword [ebp - 0x4f00]
mov ecx, dword [eax]
push edi
push edi
push edi
lea edx, [ebp - 0x3adc]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x10023482
lea eax, [ebp - 0x3adc]
push eax
call sub.MSOHEV.DLL_Ordinal_28
push dword [ebp - 0x4f0c]
mov dword [ebp - 0x4f04], eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push 0
mov edi, eax
push edi
push 0xa
push 0x10053408
call fcn.1004f021
test al, al
jne 0x10023549
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x1002351c
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
test eax, eax
je 0x1002352c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x4f04], 0
je 0x100234ab
push dword [ebp - 0x4f04]
call sub.MSOHEV.DLL_Ordinal_5
jmp 0x100234ab
lea ecx, [ebp - 0x3be0]
mov eax, 0x102
mov dword [ebp - 0x3bec], ecx
push 0
lea ecx, [ebp - 0x3bf0]
mov dword [ebp - 0x3be4], eax
mov dword [ebp - 0x3bf0], esi
mov dword [ebp - 0x3be8], eax
call fcn.10023170
lea eax, [ebp - 0x3bf0]
push eax
push 0
push edi
push Ordinal_4
call fcn.1002319e
test al, al
jne 0x100235b3
lea eax, [ebp - 0x3be0]
cmp dword [ebp - 0x3bec], eax
je 0x10023503
push dword [ebp - 0x3bec]
call fcn.1001fe3e
jmp 0x10023503
call fcn.10021056
test al, al
je 0x10023591
lea eax, [ebp - 0x4f05]
push eax
push dword [ebp - 0x4f14]
mov byte [ebp - 0x4f05], 0
call fcn.10020fa8
test al, al
je 0x10023591
mov eax, dword [ebp - 0x4f00]
lea edx, [ebp - 0x4f1c]
push edx
lea edx, [ebp - 0x2a94]
push edx
mov dword [ebp - 0x4f10], ebx
mov dword [ebp - 0x4f1c], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10023591
mov eax, dword [ebp - 0x4f00]
mov ecx, dword [eax]
lea edx, [ebp - 0x4f10]
push edx
lea edx, [ebp - 0x1a4c]
push edx
push eax
call dword [ecx + 0x64]
test eax, eax
jge 0x1002368c
lea eax, [ebp - 0x3be0]
cmp dword [ebp - 0x3bec], eax
je 0x1002363a
push dword [ebp - 0x3bec]
call fcn.1001fe3e
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x10023653
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
test eax, eax
je 0x10023663
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x4f04], 0
je 0x10023677
push dword [ebp - 0x4f04]
call sub.MSOHEV.DLL_Ordinal_5
xor bl, bl
push dword [ebp - 0x4f0c]
call fcn.1001fd9f
pop ecx
mov al, bl
jmp 0x10023382
xor ebx, ebx
push 0x2b0
lea eax, [ebp - 0x4ef8]
push ebx
push eax
mov dword [ebp - 0x4efc], ebx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x410
push 0x2b4
lea eax, [ebp - 0x4efc]
push eax
push 0x80
push edi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea eax, [ebp - 0x1a4c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x100236cf
sub eax, edx
sar eax, 1
cmp eax, 0x28
jbe 0x100236fc
push 0x10002be4
lea eax, [ebp - 0x1a02]
push 0x7fe
push eax
call dword [sym.imp.MSVCR90.dll_wcscpy_s]
add esp, 0xc
cmp byte [ebp - 0x4f05], bl
jne 0x10023823
lea eax, [ebp - 0x2a94]
push eax
lea eax, [ebp - 0x4ce8]
push eax
lea eax, [ebp - 0x1a4c]
push eax
push 3
push 0x4000001
push dword [0x1008462c]
lea eax, [ebp - 0xa04]
push 0x400
push eax
call fcn.100369b0
add esp, 0x20
push pe_nt_image_headers32
lea eax, [ebp - 0x204]
push eax
push 0x4000000
push dword [0x1008462c]
call fcn.10036959
push 0x50134
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0xa04]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
sub eax, 6
je 0x10023823
dec eax
lea eax, [ebp - 0x3be0]
je 0x100237cd
cmp dword [ebp - 0x3bec], eax
je 0x10023799
push dword [ebp - 0x3bec]
call fcn.1001fe3e
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x100237b2
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, ebx
je 0x100237c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x4f04], ebx
jmp 0x1002366a
cmp dword [ebp - 0x3bec], eax
je 0x100237e0
push dword [ebp - 0x3bec]
call fcn.1001fe3e
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x100237f9
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, ebx
je 0x10023809
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x4f04], ebx
je 0x1002381c
push dword [ebp - 0x4f04]
call sub.MSOHEV.DLL_Ordinal_5
mov bl, 1
jmp 0x10023679
mov esi, dword [ebp - 0x4f04]
push ebx
push dword [ebp - 0x3bec]
push esi
call sub.MSOHEV.DLL_Ordinal_10
test eax, eax
jne 0x1002388a
lea eax, [ebp - 0x3be0]
cmp dword [ebp - 0x3bec], eax
je 0x10023853
push dword [ebp - 0x3bec]
call fcn.1001fe3e
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x1002386c
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, ebx
je 0x1002387c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
je 0x10023677
push esi
jmp 0x10023672
push 0x260
push esi
push 0xffffffffffffffff
call sub.MSOHEV.DLL_Ordinal_4
test eax, eax
jne 0x100238ac
push 0x240
push esi
push 0xffffffffffffffff
call sub.MSOHEV.DLL_Ordinal_4
test eax, eax
je 0x1002383a
lea eax, [ebp - 0x3be0]
cmp dword [ebp - 0x3bec], eax
je 0x100238c5
push dword [ebp - 0x3bec]
call fcn.1001fe3e
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x100238de
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, ebx
je 0x100238ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
je 0x1002381c
push esi
jmp 0x10023817
lea eax, [ebp - 0x4c38]
cmp dword [ebp - 0x4c44], eax
je 0x10023915
push dword [ebp - 0x4c44]
call fcn.1001fe3e
mov eax, dword [ebp - 0x4f00]
cmp eax, edi
je 0x10023677
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10023677