Function at 0x423280
Capabilities:
Get file system object information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x487cf6
mov eax, dword fs:[0]
push eax
sub esp, 0x548
mov eax, dword [0x49e7c0]
xor eax, esp
mov dword [esp + 0x540], eax
push ebx
push esi
push edi
mov eax, dword [0x49e7c0]
xor eax, esp
push eax
lea eax, [esp + 0x558]
mov dword fs:[0], eax
mov eax, ecx
cmp dword [eax + 0x28], 1
je 0x4232d0
or eax, 0xffffffff
jmp 0x4239d8
mov eax, dword [eax + 8]
push 0x462
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor esi, esi
push esi
push esi
mov edi, eax
push 0x1009
push edi
mov dword [esp + 0x2c], edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call fcn.0043c0b0
mov ebx, eax
add esp, 4
cmp ebx, esi
mov dword [esp + 0x58], ebx
je 0x4239d6
mov eax, 7
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
mov word [esp + 0x60], si
mov dword [esp + 0x560], esi
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], esi
mov word [esp + 0x7c], si
lea eax, [esp + 0x78]
push eax
push 0x1bb
mov byte [esp + 0x568], 1
call fcn.00442450
add esp, 8
cmp dword [ebx + 0x118], 2
jne 0x4236da
push 0x85
mov dword [esp + 0x50], esi
call fcn.0040c020
add esp, 4
test al, 1
jne 0x4233dd
push 0x4010
push 0x2b4
lea ecx, [esp + 0x9c]
push ecx
push 0x10
push 0x48b9c0
mov dword [esp + 0x38], 7
mov dword [esp + 0x3c], esi
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x24]
push eax
push esi
push 0x104d
push edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], 0x48b5a8
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
jmp 0x4233f0
mov eax, dword [ebx + 0x200]
cmp eax, esi
jne 0x4233fe
xor eax, eax
jmp 0x423417
mov ecx, dword [ebx + 0x204]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x42398f
mov eax, dword [ebx + 0x200]
test eax, eax
je 0x423446
mov ecx, dword [ebx + 0x204]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x42344b
call fcn.0047770d
mov esi, dword [ebx + 0x200]
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], edi
mov dword [esp + 0x24], 7
mov dword [esp + 0x28], ecx
cmp dword [esi + 0x18], 8
lea edi, [esi + 4]
jb 0x423476
mov eax, dword [edi]
jmp 0x423478
mov eax, edi
mov ecx, dword [esi + 0x1c]
push 0x4010
push 0x2b4
lea edx, [esp + 0x9c]
push edx
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], 0
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x4234b4
mov ebx, dword [edi]
jmp 0x4234b6
mov ebx, edi
cmp eax, 8
jb 0x4234bf
mov eax, dword [edi]
jmp 0x4234c1
mov eax, edi
push eax
call fcn.00442070
mov edx, dword [esp + 0x20]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104d
lea eax, [ebx + eax*2]
push edx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x24], 1
test byte [esi + 0x1c], 0x10
je 0x423538
cmp dword [esp + 0x90], 8
mov dword [esp + 0x2c], 2
jb 0x423512
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
jmp 0x42351a
lea ecx, [esp + 0x7c]
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0x1c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [esp + 0x24]
push edx
push 0
push 0x104c
push edi
call ebx
jmp 0x4235d9
mov dword [esp + 0x2c], 1
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
lea eax, [esp + 0x5c]
push eax
push ecx
push edx
call fcn.004428c0
add esp, 0xc
cmp dword [esp + 0x74], 8
jb 0x423566
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jmp 0x42356e
lea ecx, [esp + 0x60]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x24]
push edx
push 0
push 0x104c
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x2c], 2
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x42359d
mov ecx, dword [edi]
mov dword [esp + 0x20], ecx
jmp 0x4235a1
mov dword [esp + 0x20], edi
cmp eax, 8
jb 0x4235a8
mov edi, dword [edi]
push edi
call fcn.004420f0
mov edx, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104c
lea eax, [edx + eax*2]
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], 3
cmp dword [esi + 0x40], 0
jne 0x4235f8
lea edx, [esp + 0x50]
push edx
lea eax, [esi + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
jmp 0x423606
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x50], ecx
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x54], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x5c]
push eax
push ecx
push edx
call fcn.00442aa0
add esp, 0xc
cmp dword [esp + 0x74], 8
jb 0x42362e
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jmp 0x423636
lea ecx, [esp + 0x60]
mov dword [esp + 0x38], ecx
lea edx, [esp + 0x24]
push edx
push 0
push 0x104c
push edi
call ebx
cmp dword [esi + 0x30], 0
jl 0x4236b6
lea eax, [esp + 0x5c]
mov dword [esp + 0x2c], 4
mov ecx, dword [esi + 0x54]
push eax
push ecx
call fcn.004429e0
mov eax, dword [esp + 0x68]
add esp, 8
cmp dword [esp + 0x74], 8
jae 0x423673
lea eax, [esp + 0x60]
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
push eax
mov eax, dword [esi + 0x50]
and edx, 0xff
push edx
push eax
push ecx
lea edx, [esp + 0x35c]
push 0x48bf68
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104c
lea eax, [esp + 0x358]
push edi
mov dword [esp + 0x48], eax
call ebx
add dword [esp + 0x18], 0xc0
mov ebx, dword [esp + 0x58]
mov eax, 1
add dword [esp + 0x14], eax
add dword [esp + 0x4c], eax
mov edi, dword [esp + 0x14]
xor esi, esi
jmp 0x4233f0
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x423707
mov ecx, dword [ebx + 0x134]
sub ecx, eax
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x42398f
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x423736
mov ecx, dword [ebx + 0x134]
sub ecx, eax
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x42373b
call fcn.0047770d
mov esi, dword [ebx + 0x130]
add esi, dword [esp + 0x14]
cmp dword [ebx + 0x150], edi
mov eax, 2
mov dword [esp + 0x24], 0xf
mov dword [esp + 0x28], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], 0
je 0x423776
cmp dword [ebx + 0x154], edi
jne 0x42377a
mov dword [esp + 0x30], eax
cmp dword [esi + 0x18], 8
lea edi, [esi + 4]
jb 0x423787
mov eax, dword [edi]
jmp 0x423789
mov eax, edi
mov ecx, dword [esi + 0x1c]
push 0x4010
push 0x2b4
lea edx, [esp + 0x9c]
push edx
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], 0
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x4237c5
mov ebx, dword [edi]
jmp 0x4237c7
mov ebx, edi
cmp eax, 8
jb 0x4237d0
mov eax, dword [edi]
jmp 0x4237d2
mov eax, edi
push eax
call fcn.00442070
mov edx, dword [esp + 0x20]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104d
lea eax, [ebx + eax*2]
push edx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
lea eax, [esp + 0x5c]
push eax
push ecx
push edx
call fcn.004428c0
add esp, 0xc
cmp dword [esp + 0x74], 8
jb 0x42382c
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jmp 0x423834
lea ecx, [esp + 0x60]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x24]
push edx
push 0
push 0x104c
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x2c], 2
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x423863
mov ecx, dword [edi]
mov dword [esp + 0x20], ecx
jmp 0x423867
mov dword [esp + 0x20], edi
cmp eax, 8
jb 0x42386e
mov edi, dword [edi]
push edi
call fcn.004420f0
mov edx, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104c
lea eax, [edx + eax*2]
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x2c], 3
cmp dword [esi + 0x40], 0
jne 0x4238b4
lea edx, [esp + 0x50]
push edx
lea eax, [esi + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
jmp 0x4238c2
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x50], ecx
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x54], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x5c]
push eax
push ecx
push edx
call fcn.00442aa0
add esp, 0xc
cmp dword [esp + 0x74], 8
jb 0x4238ea
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jmp 0x4238f2
lea ecx, [esp + 0x60]
mov dword [esp + 0x38], ecx
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [esp + 0x24]
push edx
push 0
push 0x104c
push ebx
call edi
cmp dword [esi + 0x30], 0
jl 0x423978
lea eax, [esp + 0x5c]
mov dword [esp + 0x2c], 4
mov ecx, dword [esi + 0x54]
push eax
push ecx
call fcn.004429e0
mov eax, dword [esp + 0x68]
add esp, 8
cmp dword [esp + 0x74], 8
jae 0x423935
lea eax, [esp + 0x60]
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
push eax
mov eax, dword [esi + 0x50]
and edx, 0xff
push edx
push eax
push ecx
lea edx, [esp + 0x35c]
push 0x48bf68
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x104c
lea eax, [esp + 0x358]
push ebx
mov dword [esp + 0x48], eax
call edi
add dword [esp + 0x18], 1
add dword [esp + 0x14], 0x58
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
jmp 0x4236e4
mov esi, 8
cmp dword [esp + 0x90], esi
jb 0x4239aa
mov edx, dword [esp + 0x7c]
push edx
call fcn.004775de
add esp, 4
xor eax, eax
cmp dword [esp + 0x74], esi
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], eax
mov word [esp + 0x7c], ax
jb 0x4239d6
mov eax, dword [esp + 0x60]
push eax
call fcn.004775de
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x558]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x540]
xor ecx, esp
call fcn.004777ea
mov esp, ebp
pop ebp
ret