Function at 0x40bad0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime
Set console window title

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x441370]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push esi
push edi
call fcn.0040eeb0
push str.russian
push 0
call fcn.0041aba6
add esp, 8
push 0x43d688
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
push str.color_02
call fcn.0041b218
add esp, 4
push 0x43d6e4
call fcn.00401690
add esp, 4
call fcn.0040aea0
push 0x43d708
call fcn.00401690
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 4
push str.send
push str.ws2_32.dll
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push 0x442de8
push 0x40ac00
push eax
mov dword [0x442de8], eax
call fcn.0040eff0
push 0
call fcn.0040f410
call fcn.00408c00
push 0x43d1c0
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call ebx
push 0x442df8
push 0x4043c0
push eax
mov dword [0x442df8], eax
call fcn.0040eff0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x442de4
push 0x404650
push str.ZwDeviceIoControlFile
push str.ntdll.dll
call esi
push eax
call ebx
push eax
call fcn.0040eff0
push 0x442dec
push 0x4046e0
push 0x43d1fc
push str.kernelbase.dll
call esi
push eax
call ebx
push eax
call fcn.0040eff0
push str.GetAdaptersInfo
push str.iphlpapi.dll
call edi
push eax
call ebx
push 0x442e04
push 0x404900
push eax
mov dword [0x442e04], eax
call fcn.0040eff0
push str._Get_CWbemObject__UAGJPBGJPAUtagVARIANT__PAJ2_Z
push str.fastprox.dll
call edi
push eax
call ebx
mov dword [0x442e00], eax
push 0x442e00
push 0x404f10
push eax
call fcn.0040eff0
push str.GetSystemFirmwareTable
push str.kernel32.dll
call edi
push eax
call ebx
push 0x442df0
push 0x40a660
push eax
mov dword [0x442df0], eax
call fcn.0040eff0
push 0
call fcn.0040f410
push str.netc.dll
call edi
mov esi, eax
test esi, esi
jne 0x40bc67
push str.Invalid_netc
call fcn.00401690
add esp, 4
call fcn.00404180
push str.INIT_n
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 8
movups xmmword [ecx], xmm0
push str.MAIN.log
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
call fcn.004036e0
add esp, 0x1c
push str.InitNetInterface
push esi
call ebx
push 0x40
push 0x3000
push 0x190
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ecx, dword fs:[0x2c]
mov esi, eax
mov edx, dword [ecx]
mov dword [esi + 0x170], 0x403c90
mov dword [esi + 0x174], 0x403ca0
mov dword [esi + 0x178], 0x403cb0
mov ecx, dword [0x442e14]
cmp ecx, dword [edx + 4]
jle 0x40bd1c
push 0x442e14
call fcn.004125cd
add esp, 4
cmp dword [0x442e14], 0xffffffff
jne 0x40bd1c
push 0x442e14
mov dword [0x442e18], esi
call fcn.0041257c
add esp, 4
push 0x442e18
call edi
add esp, 4
xorps xmm0, xmm0
mov esi, eax
push str.GET_SERIAL_n
sub esp, 0x18
mov ecx, esp
push 8
movups xmmword [ecx], xmm0
push str.MAIN.log
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
call fcn.004036e0
add esp, 0x1c
lea eax, [esp + 0x10]
push 0x40
push 0
push eax
call fcn.00415210
mov eax, dword [esi]
lea ecx, [esp + 0x1c]
add esp, 0xc
push 0x40
push ecx
mov ecx, esi
call dword [eax + 0x44]
lea eax, [esp + 0x10]
push eax
push str.Serial:__s
call fcn.00401690
add esp, 8
xorps xmm0, xmm0
push str.PULSE_n
sub esp, 0x18
mov ecx, esp
push 8
movups xmmword [ecx], xmm0
push str.MAIN.log
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
call fcn.004036e0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x1c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
push 1
call edi
jmp 0x40bdc3