Function at 0x405660
Capabilities:
Initialize winsock library

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53f050
push 0x427816
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x768
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x300]
push eax
push 2
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
je 0x4056d0
mov dword [0x56e6d8], 1
xor eax, eax
mov esp, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x28
mov edx, dword [eax + 0x53eb68]
mov dword [ebp + eax - 0x13c], edx
mov ecx, dword [eax + 0x53eb64]
mov dword [ebp + eax - 0x140], ecx
mov esi, dword [eax + 0x53eb60]
mov dword [ebp + eax - 0x144], esi
mov edi, dword [eax + 0x53eb5c]
mov dword [ebp + eax - 0x148], edi
mov edx, dword [eax + 0x53eb58]
mov dword [ebp + eax - 0x14c], edx
sub eax, 0x14
jne 0x4056d5
mov eax, 0x28
mov edx, dword [eax + 0x53eb90]
mov dword [ebp + eax - 0x10c], edx
mov ecx, dword [eax + 0x53eb8c]
mov dword [ebp + eax - 0x110], ecx
mov esi, dword [eax + 0x53eb88]
mov dword [ebp + eax - 0x114], esi
mov edi, dword [eax + 0x53eb84]
mov dword [ebp + eax - 0x118], edi
mov edx, dword [eax + 0x53eb80]
mov dword [ebp + eax - 0x11c], edx
sub eax, 0x14
jne 0x405720
mov dword [ebp - 0x15c], 3
mov esi, 1
mov eax, 2
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x158], 6
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], esi
mov eax, 0x28
mov edx, dword [eax + 0x53ebb8]
mov dword [ebp + eax - 0xdc], edx
mov ecx, dword [eax + 0x53ebb4]
mov dword [ebp + eax - 0xe0], ecx
mov edi, dword [eax + 0x53ebb0]
mov dword [ebp + eax - 0xe4], edi
mov edx, dword [eax + 0x53ebac]
mov dword [ebp + eax - 0xe8], edx
mov ecx, dword [eax + 0x53eba8]
mov dword [ebp + eax - 0xec], ecx
sub eax, 0x14
jne 0x4057ad
mov eax, 0x28
mov edx, dword [eax + 0x53ebe0]
mov dword [ebp + eax - 0xac], edx
mov ecx, dword [eax + 0x53ebdc]
mov dword [ebp + eax - 0xb0], ecx
mov edi, dword [eax + 0x53ebd8]
mov dword [ebp + eax - 0xb4], edi
mov edx, dword [eax + 0x53ebd4]
mov dword [ebp + eax - 0xb8], edx
mov ecx, dword [eax + 0x53ebd0]
mov dword [ebp + eax - 0xbc], ecx
sub eax, 0x14
jne 0x4057f8
push str.inetmib1.dll
mov eax, dword [0x53ec0c]
mov ecx, dword [0x53ec14]
mov dword [ebp - 0x78], eax
mov eax, dword [0x53ec1c]
lea edx, [ebp - 0x138]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x60], ecx
mov ecx, dword [0x53ec24]
lea edi, [ebp - 0x108]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], eax
mov eax, dword [0x53ec2c]
lea edx, [ebp - 0x160]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x70], ecx
mov ecx, dword [0x53ec34]
lea edi, [ebp - 0xd8]
mov dword [ebp - 0x6c], edi
mov edi, dword [0x53ec38]
mov dword [ebp - 0x68], eax
lea edx, [ebp - 0xa8]
mov dword [ebp - 0x64], edx
xor eax, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x2c], eax
cmp eax, 0x20
jae 0x4058fe
mov dword [ebp - 0x2c], 0
xor eax, eax
mov dword [0x56e6d8], 1
mov esp, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.SnmpExtensionInit
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SnmpExtensionInitEx
push dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SnmpExtensionQuery
push dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SnmpExtensionTrap
push dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x168]
lea edx, [ebp - 0x170]
push edx
push ecx
push eax
call dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [0x56e6d8], esi
lea edi, [ebp - 0x378]
mov dword [ebp - 0x140], edi
mov dword [edi], ecx
mov dword [ebp - 0x360], ecx
mov dword [ebp - 0x35c], eax
mov dword [edi + 4], eax
add esp, 0xfffffff8
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x314], eax
mov eax, edi
mov dword [ebp - 0x13c], esi
lea edx, [ebp - 0x58]
call fcn.00405e20
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x140]
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x7c]
push eax
push edx
push ecx
push 0xa1
call dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x13c], 5
lea edx, [ebp - 0x78]
add esp, 0xfffffff8
mov eax, edi
call fcn.00405e20
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x70]
add esp, 0xfffffff8
call fcn.00405e20
lea eax, [ebp - 0x348]
lea edx, [ebp - 0x68]
add esp, 0xfffffff8
call fcn.00405e20
lea eax, [ebp - 0x330]
lea edx, [ebp - 0x60]
add esp, 0xfffffff8
call fcn.00405e20
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x140]
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x7c]
push eax
push edx
push ecx
push 0xa1
call dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x48], 0
jne 0x405c42
mov dword [ebp - 0x48], 1
cmp dword [ebp - 0x48], 0
jne 0x405aa3
push dword [ebp - 0x320]
push dword [ebp - 0x324]
mov eax, dword [ebp - 0x36c]
inc dword [ebp - 0x44]
mov dword [ebp - 0x164], eax
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
cmp dword [ebp - 0x164], 6
je 0x405afe
cmp dword [ebp - 0x48], 0
je 0x405a2c
lea eax, [ebp - 0x378]
push eax
call fcn.00405dc0
lea eax, [ebp - 0x360]
push eax
call fcn.00405dc0
cmp dword [ebp - 0x40], 0
je 0x405ae2
mov eax, 6
mov esp, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor eax, eax
mov esp, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x70]
add esp, 0xfffffff4
call fcn.00405c60
mov dword [ebp - 0x48], eax
test eax, eax
je 0x405b25
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
cmp dword [ebp - 0x354], 0
jne 0x405b3d
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov eax, dword [ebp - 0x354]
movzx edx, byte [eax]
cmp edx, 0x44
jne 0x405b7d
movzx edx, byte [eax + 1]
cmp edx, 0x45
jne 0x405b7d
movzx edx, byte [eax + 2]
cmp edx, 0x53
jne 0x405b7d
movzx edx, byte [eax + 3]
cmp edx, 0x54
jne 0x405b7d
movzx edx, byte [eax + 4]
test edx, edx
jne 0x405b7d
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
push eax
call fcn.00405cb0
pop ecx
test eax, eax
je 0x405b97
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov eax, dword [ebp - 0x354]
push eax
call fcn.00405cf0
pop ecx
test eax, eax
je 0x405bb7
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov eax, dword [ebp - 0x354]
push eax
call fcn.00405d30
pop ecx
test eax, eax
je 0x405bd7
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov eax, dword [ebp - 0x354]
push eax
call fcn.00405d90
pop ecx
test eax, eax
je 0x405bf7
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov esi, dword [ebp - 0x354]
mov edi, dword [ebx + 8]
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [edi], al
movzx eax, byte [esi + 3]
mov byte [edi + 1], dl
movzx edx, byte [esi + 4]
mov byte [edi + 2], cl
movzx ecx, byte [esi + 5]
mov byte [edi + 3], al
mov byte [edi + 4], dl
mov byte [edi + 5], cl
mov esi, 1
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x48], 0
je 0x405a2c
jmp 0x405aa5
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x378]
lea edx, [ebp - 0x78]
add esp, 0xfffffff4
call fcn.00405c60
mov dword [ebp - 0x48], eax
jmp 0x405a65