Function at 0x5325d8
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe84
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
mov ebx, ecx
mov byte [ebp - 1], dl
mov edi, eax
mov eax, dword [ebp + 0x20]
call fcn.00404044
mov eax, dword [ebp + 0x1c]
call fcn.00404044
xor eax, eax
push ebp
push 0x532dd8
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x532d9b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x54c5fc], 4
je 0x532d82
cmp byte [0x54c5fc], 6
jne 0x53264b
call fcn.00403728
jmp 0x532da2
mov dl, 4
mov eax, edi
call fcn.00523304
mov ecx, dword [0x5493e4]
mov eax, dword [0x549798]
mov eax, dword [eax]
mov edx, dword [0x4f3914]
call fcn.0043b2a4
mov edx, dword [0x5493e4]
mov edx, dword [edx]
mov eax, edi
call fcn.004623b8
cmp byte [0x54c502], 0
je 0x5326c4
mov eax, dword [edi + 0x57c]
cmp byte [eax + 0xb4], 0
je 0x5326b8
mov eax, dword [edi + 0x57c]
call fcn.004becec
test al, al
jne 0x5326c4
cmp byte [edi + 0x919], 0
jne 0x5326c4
mov eax, dword [edi + 0x57c]
call fcn.004beae0
jmp 0x5326c4
mov eax, dword [0x549798]
mov eax, dword [eax]
call fcn.0043ada0
cmp byte [0x54c502], 0
je 0x5326fe
mov eax, dword [edi + 0x57c]
call fcn.004becec
test al, al
jne 0x5326ed
mov eax, dword [0x54c150]
call fcn.00446fc4
mov dl, 1
call fcn.00464a40
mov eax, dword [0x54c150]
call fcn.00446fc4
mov dl, 1
call fcn.00464a40
mov eax, ebx
sub al, 1
jb 0x53271c
sub al, 2
jb 0x532859
je 0x53271c
dec eax
sub al, 2
jb 0x532997
jmp 0x532b1c
test bl, bl
jne 0x532727
mov esi, 1
jmp 0x53272c
mov esi, 2
push 6
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x20]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ebx, esi
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044122c
lea edx, [ebp - 0x16c]
mov eax, dword [ebp + 0x1c]
call fcn.00532508
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f4]
call fcn.0044122c
cmp dword [ebp + 0x10], 0xffffffff
jne 0x5327ac
cmp dword [ebp + 0xc], 0xffffffff
jne 0x5327ac
mov eax, dword [ebp + 0x1c]
call fcn.00464edc
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], edx
cmp dword [ebp + 0x18], 0xffffffff
jne 0x5327f2
cmp dword [ebp + 0x14], 0xffffffff
jne 0x5327f2
push 3
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x20]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.004090d0
cdq
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edx
fild qword [ebp + 0x14]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
call fcn.0044122c
fild qword [ebp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f0]
call fcn.0044122c
jmp 0x532b1c
cmp bl, 1
jne 0x532865
mov esi, 1
jmp 0x53286a
mov esi, 2
lea edx, [ebp - 0x16c]
mov eax, dword [ebp + 0x20]
call fcn.00532508
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044122c
push 6
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x1c]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ebx, esi
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f4]
call fcn.0044122c
cmp dword [ebp + 0x10], 0xffffffff
jne 0x532916
cmp dword [ebp + 0xc], 0xffffffff
jne 0x532916
push 3
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x1c]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.004090d0
cdq
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], edx
cmp dword [ebp + 0x18], 0xffffffff
jne 0x532930
cmp dword [ebp + 0x14], 0xffffffff
jne 0x532930
mov eax, dword [ebp + 0x20]
call fcn.00464edc
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edx
fild qword [ebp + 0x14]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
call fcn.0044122c
fild qword [ebp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f0]
call fcn.0044122c
jmp 0x532b1c
cmp bl, 4
jne 0x5329a8
mov esi, 1
mov ebx, 2
jmp 0x5329b2
mov esi, 2
mov ebx, 1
push 6
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x1c]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f4]
call fcn.0044122c
push 6
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x20]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, esi
mov eax, edi
call fcn.00532de8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044122c
cmp dword [ebp + 0x10], 0xffffffff
jne 0x532a74
cmp dword [ebp + 0xc], 0xffffffff
jne 0x532a74
push 4
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x1c]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, ebx
mov eax, edi
call fcn.00532de8
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.004090d0
cdq
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], edx
cmp dword [ebp + 0x18], 0xffffffff
jne 0x532aba
cmp dword [ebp + 0x14], 0xffffffff
jne 0x532aba
push 4
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 0x20]
call fcn.00464dec
mov edx, dword [ebp - 0x170]
mov ecx, esi
mov eax, edi
call fcn.00532de8
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.004090d0
cdq
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edx
fild qword [ebp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f0]
call fcn.0044122c
fild qword [ebp + 0x14]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16c]
mov dl, 1
mov al, 1
call fcn.00462ec8
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
call fcn.0044122c
lea edx, [ebp - 0x16c]
mov eax, dword [ebp + 0x1c]
call fcn.00464dec
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
add eax, 0x320
call fcn.00403c68
lea eax, [ebp - 0x16c]
push eax
lea edx, [ebp - 0x174]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov ebx, dword [eax + 0x2e8]
mov eax, ebx
call fcn.004411fc
mov eax, dword [ebp - 0x174]
push eax
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
mov dword [ebp - 0x17c], eax
mov byte [ebp - 0x178], 0xb
lea edx, [ebp - 0x17c]
xor ecx, ecx
pop eax
call fcn.0040a05c
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, ebx
call fcn.0044122c
mov dl, 1
mov eax, dword [0x41a12c]
call fcn.004218a4
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x532c0a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x168]
xor ecx, ecx
mov edx, 0x160
call fcn.00402bd8
push 0x110
push 0x160
lea eax, [ebp - 0x168]
push eax
push 0x80
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
call fcn.00404054
push eax
call sub.shell32.dll_SHGetFileInfoA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x532c14
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 8]
call fcn.00421c48
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0x118]
mov edx, dword [ebp - 8]
call fcn.0041df74
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x118]
mov edx, dword [ebp - 8]
call fcn.0041df74
cmp byte [ebp - 1], 0
je 0x532c7e
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x10]
jne 0x532c70
cmp eax, dword [ebp + 0xc]
jbe 0x532c7e
jmp 0x532c72
jle 0x532c7e
cmp dword [ebp + 0x10], 0
jne 0x532c92
cmp dword [ebp + 0xc], 0
jne 0x532c92
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2c8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xd0]
cmp eax, 0xa
ja case.0x532caa.0
jmp dword [eax*4 + 0x532cb1]
mov byte [0x54c5fc], 0
jmp case.0x532caa.0
mov byte [0x54c5fc], 1
jmp case.0x532caa.0
mov byte [0x54c5fc], 2
lea edx, [ebp - 0x16c]
mov eax, dword [ebp + 0x1c]
call fcn.00464c34
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x5493e4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x320]
lea eax, [ebp + 0x1c]
call fcn.00403edc
jmp case.0x532caa.0
mov byte [0x54c5fc], 3
jmp case.0x532caa.0
mov byte [0x54c5fc], 4
jmp case.0x532caa.0
mov byte [0x54c5fc], 5
jmp case.0x532caa.0
mov byte [0x54c5fc], 6
jmp case.0x532caa.0
mov byte [0x54c5fc], 7
mov eax, dword [ebp - 8]
call fcn.00402f30
mov eax, dword [0x5493e4]
mov eax, dword [eax]
call fcn.004383a0
mov eax, dword [0x5493e4]
xor edx, edx
mov dword [eax], edx
cmp byte [0x54c502], 0
je 0x532d82
mov eax, dword [0x549798]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.user32.dll_SetActiveWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x532da2
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
call fcn.00403cac
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x532ddf
lea eax, [ebp - 0x174]
call fcn.00403c14
lea eax, [ebp - 0x170]
mov edx, 2
call fcn.00403c38
lea eax, [ebp + 0x1c]
mov edx, 2
call fcn.00403c38
ret