Function at 0x401bf7
Capabilities:
Create process on windows
Read .ini file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x928
mov dword [ebp - 0x108], 0
call fcn.0040120c
cmp dword [ebp + 8], 0
je 0x401c55
call sub.CRMEM32.dll_Ordinal_131
test eax, eax
je 0x401c55
call fcn.004011b0
push eax
push str._s_Task_Setup
call sub.CRMEM32.dll_Ordinal_58
push eax
lea eax, [ebp - 0x5dc]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x4044fc
push 0x404294
lea ecx, [ebp - 0x5dc]
push ecx
call sub.CRMEM32.dll_Ordinal_123
push 0x4042a4
call sub.CRMEM32.dll_Ordinal_37
push eax
lea edx, [ebp - 0x6e4]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
lea eax, [ebp - 0x6e4]
push eax
call dword [sym.imp.MSVCRT.dll__chdir]
add esp, 4
push str.startup.crc
lea ecx, [ebp - 0x6e4]
push ecx
call sub.MSVCRT.dll_strcat
add esp, 8
push 0x4042b4
lea edx, [ebp - 0x6e4]
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x7a8], eax
cmp dword [ebp - 0x7a8], 0
jne 0x401cf0
lea eax, [ebp - 0x6e4]
push eax
push str.Unable_to_open:__s
call sub.CRMEM32.dll_Ordinal_58
push eax
lea ecx, [ebp - 0x100]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x100]
push edx
call fcn.004011b0
push eax
call sub.CRMEM32.dll_Ordinal_127
jmp 0x4020a6
push 0x4042cc
call sub.CRMEM32.dll_Ordinal_37
push eax
push 0x80
lea eax, [ebp - 0x5dc]
push eax
push 0x4042d8
push 0x4042dc
push 0x4042ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x4042f8
lea ecx, [ebp - 0x5dc]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x401d54
push 0x4042fc
call sub.CRMEM32.dll_Ordinal_37
push eax
push 0x404308
push 0x40430c
push 0x40431c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [ebp - 0x7a8]
push edx
push 1
push 4
lea eax, [ebp - 0x51c]
push eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
mov ecx, dword [ebp - 0x7a8]
push ecx
push 1
push 4
lea edx, [ebp - 0x5e4]
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
test eax, eax
je 0x401db2
cmp dword [ebp + 0xc], 0
je 0x401db2
cmp dword [ebp - 0x5e4], 0
jne 0x401db2
mov eax, dword [ebp - 0x7a8]
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
jmp 0x4020a6
mov ecx, dword [ebp - 0x7a8]
push ecx
push 1
push 4
lea edx, [ebp - 0x5e0]
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
mov eax, dword [ebp - 0x7a8]
push eax
push 1
push 4
lea ecx, [ebp - 0x518]
push ecx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
test eax, eax
je 0x401f49
mov edx, dword [ebp - 0x7a8]
push edx
push 0x40
push 1
lea eax, [ebp - 0x55c]
push eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
mov ecx, dword [ebp - 0x7a8]
push ecx
push 0x40
push 1
lea edx, [ebp - 0x724]
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
mov eax, dword [ebp - 0x5e4]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call sub.CRMEM32.dll_Ordinal_120
call sub.CRMEM32.dll_Ordinal_122
mov edx, dword [ebp - 0x7a8]
push edx
push 1
push 0x40c
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
test eax, eax
je 0x401f44
lea ecx, [ebp - 0x414]
push ecx
call sub.CRMEM32.dll_Ordinal_8
cmp dword [ebp + 8], 0
je 0x401e81
cmp dword [ebp - 0x10c], 0
jne 0x401e81
jmp 0x401e3e
cmp dword [ebp + 8], 0
je 0x401ecc
push str.Management_Server
call sub.CRMEM32.dll_Ordinal_58
push eax
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x401eb0
mov dword [ebp - 0x108], 1
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x20c]
push edx
call sub.CRMEM32.dll_Ordinal_123
jmp 0x401f3f
push 0x40433c
lea eax, [ebp - 0x414]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x401ee9
jmp 0x401e3e
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x7a4]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
push str..exe
lea eax, [ebp - 0x7a4]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x401f2c
mov ecx, dword [ebp - 0x104]
mov byte [ecx], 0
lea edx, [ebp - 0x7a4]
push edx
lea eax, [ebp - 0x20c]
push eax
call sub.CRMEM32.dll_Ordinal_124
jmp 0x401e3e
call sub.CRMEM32.dll_Ordinal_121
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x404354
lea ecx, [ebp - 0x5dc]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x401f8c
push str._snmpc.ini
call sub.CRMEM32.dll_Ordinal_37
push eax
push 0x404364
push str.ShowExitMesg
push str.SNMPcConfig
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [ebp - 0x7a8]
push edx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
cmp dword [ebp + 8], 0
je 0x4020a6
cmp dword [ebp - 0x5e0], 0
je 0x4020a6
cmp dword [ebp - 0x108], 0
je 0x4020a6
cmp dword [ebp + 0x10], 0
jne 0x4020a6
mov byte [ebp - 0x928], 0
mov byte [ebp - 0x8a8], 0
movsx eax, byte [ebp - 0x55c]
test eax, eax
je 0x401fff
lea ecx, [ebp - 0x55c]
push ecx
push str._u_s
lea edx, [ebp - 0x928]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
movsx eax, byte [ebp - 0x724]
test eax, eax
je 0x402026
lea ecx, [ebp - 0x724]
push ecx
push str._p_s
lea edx, [ebp - 0x8a8]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x402039
push 0x4e20
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x402044
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x8a8]
push eax
lea ecx, [ebp - 0x928]
push ecx
push str.localhost
call sub.CRMEM32.dll_Ordinal_58
push eax
push str._a_s__s__s
lea edx, [ebp - 0x828]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push 0x4043ac
call sub.CRMEM32.dll_Ordinal_37
push eax
call dword [sym.imp.MSVCRT.dll__chdir]
add esp, 4
push 5
push 0x404500
lea eax, [ebp - 0x828]
push eax
push str.snmpc32.exe
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov esp, ebp
pop ebp
ret