Function at 0x416513
Capabilities:
Initialize winsock library

Disassembly:
push 0x3bc
mov eax, 0x5788a0
call fcn.0054d2bd
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x394]
push eax
xor ebx, ebx
mov dword [ebp - 0x3a0], edi
push 0x101
mov dword [edi], ebx
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x416c77
push str.inetmib1.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x3b0], eax
cmp eax, 0x20
jb 0x416c77
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SnmpExtensionInit
push eax
call esi
push str.SnmpExtensionQuery
push dword [ebp - 0x3b0]
mov dword [ebp - 0x398], eax
call esi
push str.SnmpExtensionTrap
push dword [ebp - 0x3b0]
mov dword [ebp - 0x39c], eax
call esi
cmp dword [ebp - 0x398], ebx
je 0x416c77
mov esi, dword [ebp - 0x39c]
test esi, esi
je 0x416c77
test eax, eax
je 0x416c77
lea eax, [ebp - 0x3c8]
push eax
lea eax, [ebp - 0x3c0]
push eax
call sub.snmpapi.dll_SnmpSvcGetUptime
push eax
call dword [ebp - 0x398]
test eax, eax
je 0x416c77
lea eax, [ebp - 0x100]
mov dword [ebp - 0x3b4], 1
push 0x5e41b4
push eax
mov dword [ebp - 0x3b8], eax
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 0xa1
call esi
test eax, eax
je 0x416c77
mov eax, dword [ebp - 0xf4]
mov dword [edi], eax
xor eax, eax
mov word [edi + 2], ax
mov eax, dword [edi]
test eax, eax
je 0x416c77
xor ecx, ecx
mov edx, 0x2c08
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041917f
imul ecx, dword [edi], 0x2c08
mov esi, eax
mov dword [ebp - 0x3b0], esi
push ecx
push ebx
push esi
call fcn.0054ee80
add esp, 0x10
mov ecx, ebx
cmp dword [edi], ebx
jbe 0x41667d
mov eax, esi
or dword [eax], 0xffffffff
inc ecx
lea eax, [eax + 0x2c08]
cmp ecx, dword [edi]
jb 0x41666f
push 0xf0
lea eax, [ebp - 0x100]
push ebx
push eax
call fcn.0054ee80
add esp, 0xc
mov dword [ebp - 0x3b4], 5
lea eax, [ebp - 0x100]
push 0x5e41e4
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e4214
lea eax, [ebp - 0xe8]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e4244
lea eax, [ebp - 0xd0]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e4274
lea eax, [ebp - 0xb8]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e42a4
lea eax, [ebp - 0xa0]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 0xa1
call dword [ebp - 0x39c]
test eax, eax
je 0x416880
lea edi, [esi + 8]
mov dword [ebp - 0x398], edi
cmp dword [ebp - 0x3a8], 0
jne 0x416874
push dword [0x5e4244]
lea eax, [ebp - 0xd0]
push 0x5e4244
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x416874
push dword [0x5e42a4]
lea eax, [ebp - 0xa0]
push 0x5e42a4
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x41684c
mov eax, dword [ebp - 0xf4]
mov dword [edi - 8], eax
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xdc]
call fcn.0041a2f3
push eax
push esi
push edi
lea ecx, [ebp - 0x3a4]
call fcn.004164b2
mov esi, dword [ebp - 0x3a4]
lea eax, [ebp - 0x200]
push 1
push esi
lea ecx, [ebp - 0x204]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x204], eax
call fcn.0040705c
mov edi, dword [ebp - 0x398]
push 0xffffffffffffffff
push dword [ebp - 0x204]
lea eax, [edi + 0x1ab0]
push 0x100
push eax
call fcn.00560250
mov eax, dword [ebp - 0xc4]
mov ecx, ebx
mov dword [edi], eax
add esp, 0x10
mov eax, dword [ebp - 0xac]
mov dword [edi + 4], eax
mov al, byte [ebp - 0x90]
mov byte [edi + 8], al
cmp byte [ebp - 0x90], cl
jbe 0x416816
lea edx, [edi + 9]
mov eax, dword [ebp - 0x94]
mov al, byte [eax + ecx]
inc ecx
mov byte [edx], al
inc edx
movzx eax, byte [edi + 8]
cmp ecx, eax
jb 0x416801
mov byte [edi - 4], 1
lea eax, [ebp - 0x200]
add edi, 0x2c08
mov dword [ebp - 0x398], edi
cmp dword [ebp - 0x204], eax
je 0x416840
push dword [ebp - 0x204]
call fcn.00560aa1
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00408abd
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 0xa1
call dword [ebp - 0x39c]
test eax, eax
jne 0x416722
mov edi, dword [ebp - 0x3a0]
mov esi, dword [ebp - 0x3b0]
push 0x5e42d4
lea eax, [ebp - 0x100]
mov dword [ebp - 0x3b4], 3
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e4304
lea eax, [ebp - 0xe8]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x5e4334
lea eax, [ebp - 0xd0]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
jmp 0x416a22
cmp dword [ebp - 0x3a8], 0
jne 0x416a4a
push dword [0x5e42d4]
lea eax, [ebp - 0x100]
push 0x5e42d4
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x416a4a
mov eax, ebx
cmp dword [edi], eax
jbe 0x416a22
mov edx, dword [ebp - 0xdc]
mov ecx, esi
cmp dword [ecx], edx
je 0x41690f
inc eax
add ecx, 0x2c08
cmp eax, dword [edi]
jb 0x416900
cmp eax, dword [edi]
jae 0x416a22
imul eax, eax, 0x2c08
mov dword [ebp - 0x398], eax
add eax, 0x20
add eax, esi
mov dword [ebp - 0x3a0], eax
cmp word [eax], bx
je 0x416959
push 0x58e904
push 0x6a5
push eax
call fcn.00560020
mov edx, dword [ebp - 0x3a0]
push ebx
push edx
call fcn.0054efda
add esp, 0x14
mov dword [ebp - 0x3a0], eax
mov edx, dword [ebp - 0xf4]
movzx ecx, byte [edx + 3]
movzx eax, byte [edx]
push ecx
movzx ecx, byte [edx + 2]
push ecx
movzx ecx, byte [edx + 1]
mov edx, dword [ebp - 0x3a0]
push ecx
mov ecx, edx
sub ecx, dword [ebp - 0x398]
push eax
sub ecx, esi
mov eax, 0x6a5
sub ecx, 0x20
sar ecx, 1
push str._d._d._d._d
sub eax, ecx
push eax
push edx
call fcn.0040411b
mov eax, dword [ebp - 0x398]
add esp, 0x1c
add eax, 0xd6a
add eax, esi
mov dword [ebp - 0x3a0], eax
cmp word [eax], bx
je 0x4169db
push 0x58e904
push 0x6a5
push eax
call fcn.00560020
mov edx, dword [ebp - 0x3a0]
push ebx
push edx
call fcn.0054efda
add esp, 0x14
mov dword [ebp - 0x3a0], eax
mov edx, dword [ebp - 0xc4]
movzx ecx, byte [edx + 3]
movzx eax, byte [edx]
push ecx
movzx ecx, byte [edx + 2]
push ecx
movzx ecx, byte [edx + 1]
mov edx, dword [ebp - 0x3a0]
push ecx
mov ecx, edx
sub ecx, dword [ebp - 0x398]
push eax
sub ecx, esi
mov eax, 0x6a5
sub ecx, 0xd6a
sar ecx, 1
push str._d._d._d._d
sub eax, ecx
push eax
push edx
call fcn.0040411b
add esp, 0x1c
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 0xa1
call dword [ebp - 0x39c]
test eax, eax
jne 0x4168c2
push 0xf0
lea eax, [ebp - 0x100]
push ebx
push eax
call fcn.0054ee80
add esp, 0xc
lea eax, [ebp - 0x100]
push 0x5e43d0
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
jmp 0x416ade
cmp dword [ebp - 0x3a8], 0
jne 0x416b06
push dword [0x5e43a0]
lea eax, [ebp - 0x100]
push 0x5e43a0
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x416b06
mov edx, ebx
cmp dword [edi], ebx
jbe 0x416ade
lea eax, [esi + 0x1ab4]
mov dword [ebp - 0x398], eax
mov ecx, ebx
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + ecx]
inc ecx
mov byte [esi], al
inc esi
cmp ecx, 4
jl 0x416ab0
mov eax, dword [ebp - 0x398]
inc edx
add eax, 0x2c08
mov dword [ebp - 0x398], eax
cmp edx, dword [edi]
jb 0x416aac
mov esi, dword [ebp - 0x3b0]
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 0xa1
call dword [ebp - 0x39c]
test eax, eax
jne 0x416a72
mov edx, dword [edi]
mov eax, ebx
mov dword [ebp - 0x3a0], eax
test edx, edx
je 0x416c13
lea ecx, [esi + 4]
mov dword [ebp - 0x39c], ecx
cmp byte [ecx + 0xc], 0
je 0x416bf4
mov edx, 0x58e844
mov dword [ebp - 0x398], ebx
mov dword [ebp - 0x3a4], edx
movzx eax, word [edx - 2]
add ecx, 0xd
push eax
movzx eax, word [edx - 4]
push edx
add eax, ecx
push eax
call fcn.0054f8ee
mov ecx, dword [ebp - 0x39c]
add esp, 0xc
test eax, eax
je 0x416b83
mov eax, dword [ebp - 0x398]
mov edx, dword [ebp - 0x3a4]
add eax, 0xc
add edx, 0xc
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x3a4], edx
cmp eax, 0x6c
jb 0x416b3c
jmp 0x416b85
mov byte [ecx], bl
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], ebx
test eax, eax
je 0x416bf6
add ecx, 0xd
lea edx, [esi + 0x11]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x398], edx
push 6
push edx
push ecx
call fcn.0054f8ee
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x3a0]
je 0x416bee
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x398]
inc ecx
add edx, 0x2c08
mov dword [ebp - 0x3a4], ecx
cmp ecx, eax
mov dword [ebp - 0x398], edx
mov ecx, dword [ebp - 0x3bc]
jb 0x416ba7
mov ecx, dword [ebp - 0x39c]
jmp 0x416bf6
mov ecx, dword [ebp - 0x39c]
mov byte [ecx], bl
mov edx, dword [edi]
inc eax
add ecx, 0x2c08
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], ecx
cmp eax, edx
jb 0x416b21
mov ecx, ebx
mov dword [ebp - 0x398], ecx
test edx, edx
je 0x416c71
mov eax, esi
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x3a4], eax
cmp byte [esi + 4], 0
je 0x416c5a
push 0x2c08
push esi
push eax
call fcn.0054e900
mov eax, dword [ebp - 0x3a4]
add esp, 0xc
mov ecx, dword [ebp - 0x398]
inc ebx
add eax, 0x2c08
mov dword [ebp - 0x3a4], eax
inc ecx
add esi, 0x2c08
mov dword [ebp - 0x398], ecx
cmp ecx, dword [edi]
jb 0x416c2d
mov esi, dword [ebp - 0x3b0]
mov dword [edi], ebx
mov eax, esi
jmp 0x416c79
xor eax, eax
call fcn.0054d26c
ret