Function at 0x422a10
Capabilities:
Get file system object information

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x570924
push eax
mov dword fs:[0], esp
sub esp, 0x5c0
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
push edi
push edi
mov eax, dword [esi + 0x2764]
push 0x1004
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, edi
jne 0x422d09
cmp dword [esi + 0x16c], edi
jle 0x422d09
mov eax, dword [esi + 0x13794]
mov ebx, 1
cmp eax, edi
mov dword [esi + 0x13790], ebx
jne 0x422aad
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x2c]
push ecx
push edx
mov dword [esi + 0x13794], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0x13798]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x3c]
add eax, ecx
mov dword [esp + 0x38], eax
sub ebx, edx
sub eax, ecx
push ebx
push eax
push edx
push ecx
mov ecx, esi
call fcn.0055cecc
mov ecx, esi
call fcn.0042fe10
mov ecx, esi
call fcn.00431990
test eax, eax
je 0x422d09
mov ecx, esi
mov dword [esi + 0x13764], edi
call fcn.00431fb0
mov eax, dword [0x5e8e38]
mov dword [esp + 0x18], eax
mov dword [esp + 0x5d8], edi
mov edi, dword [esi + 0x150]
mov ebx, dword [esi + 0x16c]
mov eax, dword [edi + 0x64]
lea ecx, [edi + 0x9e]
lea edx, [edi + 0x520]
push ecx
push edx
push eax
call sub.WSOCK32.dll_inet_ntoa
push eax
lea ecx, [edi + 0x32]
push ebx
add edi, 0x6c
push ecx
push edi
lea edx, [esp + 0x30]
push 0x5d8a20
push edx
call fcn.00554dd4
add esp, 0x20
call fcn.00569c56
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x74]
test eax, eax
je 0x422cf5
lea ebx, [eax + 0x1e8]
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x422cf5
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x422cf5
mov ecx, dword [eax + 0x204]
test ecx, ecx
je 0x422cf5
mov eax, dword [esi + 0x150]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
jne 0x422b75
xor edi, edi
jmp 0x422bc0
mov edi, dword [eax + 0xf8]
inc edi
call fcn.00569c56
mov eax, dword [eax + 4]
mov ebp, dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
mov eax, dword [eax + 0x178]
push eax
call ebp
cmp edi, eax
jl 0x422bc0
call fcn.00569c56
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x178]
push ecx
call ebp
mov edx, dword [esi + 0x150]
mov ecx, dword [edx + 0xfc]
lea edi, [ecx + 1]
cmp edi, eax
jl 0x422bc0
mov edi, 1
call fcn.00569c56
mov eax, dword [eax + 4]
push 0
push edi
mov eax, dword [eax + 0x170]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov ecx, dword [0x5e8e38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x154]
mov byte [esp + 0x5d8], 1
test eax, eax
jle 0x422c5f
mov ebp, dword [esi + 0x150]
mov edi, 0x5ed678
lea edx, [ebp + 0x104]
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x422c2f
test cl, cl
je 0x422c2b
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x422c2f
add eax, 2
add edi, 2
test cl, cl
jne 0x422c0b
xor eax, eax
jmp 0x422c34
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x422c48
mov edx, dword [ebp + 0x64]
lea eax, [esp + 0x10]
push edx
push str.IP:_ld
push eax
jmp 0x422c53
push edx
lea ecx, [esp + 0x14]
push str.MAC:_s
push ecx
call fcn.00554dd4
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [esi + 0x3284]
mov eax, dword [edx + 0x49ec]
push eax
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5ed678
call fcn.0055969a
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0x5f4], 2
call fcn.005593a1
push 1
push 0
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x600], 3
call fcn.005593a1
push ecx
mov byte [esp + 0x600], 4
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5d8a0c
call fcn.0055969a
mov ecx, ebx
mov byte [esp + 0x600], 1
call fcn.0050bdc0
lea ecx, [esp + 0x10]
mov byte [esp + 0x5d8], 0
call fcn.0055962c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5d8], 0xffffffff
call fcn.0055962c
mov ecx, dword [esi + 0x2764]
push 0
push 0
push 0x1009
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0x2a88]
mov edi, dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
push edx
call edi
cmp eax, 4
jle 0x422d5a
mov eax, dword [esi + 0x2a88]
push eax
call edi
lea edi, [eax - 1]
cmp edi, 3
jle 0x422d5a
mov ebx, dword [sym.imp.COMCTL32.dll_ImageList_Remove]
mov ecx, dword [esi + 0x2a88]
push edi
push ecx
call ebx
dec edi
cmp edi, 3
jg 0x422d4a
mov eax, dword [esi + 0x16c]
xor ebp, ebp
test eax, eax
jle 0x423101
xor ebx, ebx
mov edx, dword [esi + 0x168]
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + edx + 4]
lea eax, [ebx + edx]
cmp ecx, 4
jne 0x422d9f
mov dword [esp + 0x64], 1
jmp 0x422e9d
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x422db3
mov dword [esp + 0x64], 3
jmp 0x422e9d
add eax, 0xc
lea ecx, [esp + 0x10]
push eax
call fcn.0055969a
push 0x5d8a08
lea ecx, [esp + 0x14]
mov dword [esp + 0x5dc], 5
call fcn.00554a4e
cmp eax, 0xffffffff
je 0x422e1b
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x28]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.00554938
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x5dc], 6
call fcn.00559765
lea ecx, [esp + 0x28]
mov byte [esp + 0x5d8], 5
call fcn.0055962c
jmp 0x422e29
push 0x5ed678
lea ecx, [esp + 0x14]
call fcn.005597b5
mov ecx, 0x58
xor eax, eax
lea edi, [esp + 0x70]
push 0x110
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x74]
push 0x160
push eax
push 0x80
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x422e67
mov dword [esp + 0x64], 3
jmp 0x422e89
mov edx, dword [esi + 0x2a88]
push eax
push 0xffffffffffffffff
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov eax, dword [esi + 0x2a88]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
dec eax
mov dword [esp + 0x64], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x5d8], 0xffffffff
call fcn.0055962c
mov edx, dword [esi + 0x2764]
lea ecx, [esp + 0x48]
push ecx
push 0
push 0x1007
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x168]
lea ecx, [ebx + eax + 0xc]
push ecx
lea ecx, [esp + 0x18]
call fcn.0055969a
lea ecx, [esp + 0x14]
mov dword [esp + 0x5d8], 7
call fcn.00554e33
lea ecx, [esp + 0x14]
call fcn.00554de7
mov edx, dword [esp + 0x14]
lea edi, [esi + 0x2748]
push edx
push 0
push ebp
mov ecx, edi
call fcn.00555f11
mov eax, dword [esi + 0x168]
mov ecx, dword [ebx + eax + 8]
test ecx, ecx
jne 0x422fb1
push 0x5d8a00
push 1
push ebp
mov ecx, edi
call fcn.00555f11
mov ecx, dword [esi + 0x168]
mov edx, dword [ebx + ecx + 0x218]
lea eax, [ebx + ecx + 0x218]
mov ecx, dword [ebx + ecx + 0x21c]
or edx, ecx
je 0x422f9d
mov edx, dword [eax]
push 0
push ecx
lea eax, [esp + 0x1d8]
push edx
push eax
call fcn.004382e0
add esp, 0x10
lea ecx, [esp + 0x1d0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0055969a
lea ecx, [esp + 0x18]
mov byte [esp + 0x5d8], 8
call fcn.00554e33
lea ecx, [esp + 0x18]
call fcn.00554de7
mov edx, dword [esp + 0x18]
mov ecx, edi
push edx
push 2
push ebp
call fcn.00555f11
mov byte [esp + 0x5d8], 7
lea ecx, [esp + 0x18]
jmp 0x42302e
push 0x5ed678
push 2
push ebp
mov ecx, edi
call fcn.00555f11
jmp 0x423033
push 0x5d89f8
push 1
push ebp
mov ecx, edi
call fcn.00555f11
mov eax, dword [esi + 0x168]
push 0
mov ecx, dword [ebx + eax + 0x21c]
push ecx
mov edx, dword [ebx + eax + 0x218]
lea eax, [esp + 0x3d8]
push edx
push eax
call fcn.004382e0
add esp, 0x10
lea ecx, [esp + 0x3d0]
push ecx
lea ecx, [esp + 0x28]
call fcn.0055969a
lea ecx, [esp + 0x24]
mov byte [esp + 0x5d8], 9
call fcn.00554e33
lea ecx, [esp + 0x24]
call fcn.00554de7
mov edx, dword [esp + 0x24]
mov ecx, edi
push edx
push 2
push ebp
call fcn.00555f11
mov byte [esp + 0x5d8], 7
lea ecx, [esp + 0x24]
call fcn.0055962c
mov eax, dword [esi + 0x168]
lea ecx, [ebx + eax + 0x110]
push ecx
lea ecx, [esp + 0x24]
call fcn.0055969a
lea ecx, [esp + 0x20]
mov byte [esp + 0x5d8], 0xa
call fcn.00554e33
lea ecx, [esp + 0x20]
call fcn.00554de7
mov edx, dword [esp + 0x20]
mov ecx, edi
push edx
push 3
push ebp
call fcn.00555f11
mov eax, dword [esi + 0x168]
lea ecx, [esp + 0x1c]
push str._H:_M:_S
push ecx
fld qword [ebx + eax + 0x228]
lea ecx, [esp + 0x44]
mov dword [esp + 0x4c], 0
fstp qword [esp + 0x44]
call fcn.00539277
mov edx, dword [esp + 0x1c]
mov ecx, edi
push edx
push 4
push ebp
mov byte [esp + 0x5e4], 0xb
call fcn.00555f11
lea ecx, [esp + 0x1c]
mov byte [esp + 0x5d8], 0xa
call fcn.0055962c
lea ecx, [esp + 0x20]
mov byte [esp + 0x5d8], 7
call fcn.0055962c
lea ecx, [esp + 0x14]
mov dword [esp + 0x5d8], 0xffffffff
call fcn.0055962c
mov eax, dword [esi + 0x16c]
inc ebp
add ebx, 0x238
cmp ebp, eax
jl 0x422d6c
lea edi, [esi + 0x2400]
mov dword [esi + 0x137ac], 0xffffffff
mov ecx, edi
call fcn.0055cf83
test eax, eax
je 0x423125
push 0
mov ecx, edi
call fcn.0055cf9e
add esi, 0x2460
mov ecx, esi
call fcn.0055cf83
test eax, eax
je 0x42313f
push 0
mov ecx, esi
call fcn.0055cf9e
mov ecx, dword [esp + 0x5d0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x5cc
ret