Function at 0x415906
Capabilities:
Initialize winsock library

Disassembly:
push ebp
lea ebp, [esp - 0x218]
sub esp, 0x2b0
mov eax, dword [0x4a9c04]
xor eax, ebp
mov dword [ebp + 0x214], eax
push ebx
mov ebx, dword [ebp + 0x220]
and dword [ebx], 0
lea eax, [ebp + 0x84]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x415947
xor eax, eax
jmp 0x415e8b
push edi
push str.inetmib1.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, 0x20
jae 0x415961
xor eax, eax
jmp 0x415e8a
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SnmpExtensionInit
push edi
call esi
push str.SnmpExtensionQuery
push edi
mov dword [ebp + 0x78], eax
call esi
push str.SnmpExtensionTrap
push edi
mov dword [ebp + 0x80], eax
call esi
cmp dword [ebp + 0x78], 0
je 0x4159fe
cmp dword [ebp + 0x80], 0
je 0x4159fe
test eax, eax
je 0x4159fe
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp + 0x60]
push eax
call sub.snmpapi.dll_SnmpSvcGetUptime
push eax
call dword [ebp + 0x78]
test eax, eax
je 0x4159fe
lea eax, [ebp - 0x90]
push 0x4a8338
push eax
mov dword [ebp + 0x68], 1
mov dword [ebp + 0x64], eax
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x64]
push eax
push 0xa1
call dword [ebp + 0x80]
test eax, eax
je 0x4159fe
mov eax, dword [ebp - 0x84]
mov dword [ebx], eax
xor eax, eax
mov word [ebx + 2], ax
mov esi, dword [ebx]
test esi, esi
jne 0x415a05
xor eax, eax
jmp 0x415e89
xor ecx, ecx
mov eax, esi
mov edx, 0x1618
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00419190
mov esi, eax
mov eax, dword [ebx]
imul eax, eax, 0x1618
push eax
xor edi, edi
push edi
push esi
mov dword [ebp + 0x74], esi
call fcn.0044f370
add esp, 0x10
xor eax, eax
cmp dword [ebx], edi
jbe 0x415a4d
mov ecx, esi
or dword [ecx], 0xffffffff
inc eax
add ecx, 0x1618
cmp eax, dword [ebx]
jb 0x415a3f
push pe_nt_image_headers32
lea eax, [ebp - 0x90]
push edi
push eax
call fcn.0044f370
add esp, 0xc
push 0x4a8368
lea eax, [ebp - 0x90]
push eax
mov dword [ebp + 0x68], 5
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a8398
lea eax, [ebp - 0x78]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a83c8
lea eax, [ebp - 0x60]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a83f8
lea eax, [ebp - 0x48]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a8428
lea eax, [ebp - 0x30]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x64]
push eax
mov edi, 0xa1
push edi
call dword [ebp + 0x80]
test eax, eax
je 0x415bb2
push 0xfffffffffffffff8
pop eax
add esi, 8
sub eax, dword [ebp + 0x74]
mov dword [ebp + 0x78], eax
cmp dword [ebp + 0x70], 0
jne 0x415baf
push dword [0x4a83c8]
lea eax, [ebp - 0x60]
push 0x4a83c8
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x415baf
push dword [0x4a8428]
lea eax, [ebp - 0x30]
push 0x4a8428
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x415b94
mov eax, dword [ebp - 0x84]
mov dword [esi - 8], eax
mov ecx, dword [ebp - 0x68]
mov eax, 0xff
mov dword [ebp + 0x7c], ecx
cmp ecx, eax
jb 0x415b37
mov dword [ebp + 0x7c], eax
push dword [ebp + 0x7c]
lea eax, [esi + 0xd65]
push dword [ebp - 0x6c]
push eax
call fcn.004500e0
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
add eax, esi
add eax, dword [ebp + 0x7c]
add esp, 0xc
mov byte [eax + ecx + 0xd6d], 0
mov eax, dword [ebp - 0x54]
mov dword [esi], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 4], eax
mov al, byte [ebp - 0x20]
mov byte [esi + 8], al
xor eax, eax
cmp byte [ebp - 0x20], al
jbe 0x415b8a
mov ecx, dword [ebp - 0x24]
mov cl, byte [ecx + eax]
mov byte [esi + eax + 9], cl
movzx ecx, byte [esi + 8]
inc eax
cmp eax, ecx
jb 0x415b77
mov byte [esi - 4], 1
add esi, 0x1618
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x64]
push eax
push edi
call dword [ebp + 0x80]
test eax, eax
jne 0x415ade
mov esi, dword [ebp + 0x74]
push 0x4a8458
lea eax, [ebp - 0x90]
push eax
mov dword [ebp + 0x68], 3
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a8488
lea eax, [ebp - 0x78]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
push 0x4a84b8
lea eax, [ebp - 0x60]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
jmp 0x415cd3
cmp dword [ebp + 0x70], 0
jne 0x415cee
push dword [0x4a8458]
lea eax, [ebp - 0x90]
push 0x4a8458
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x415cee
cmp dword [ebx], eax
jbe 0x415c2c
mov ecx, esi
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x6c]
je 0x415c2c
inc eax
add ecx, 0x1618
cmp eax, dword [ebx]
jb 0x415c1a
cmp eax, dword [ebx]
jae 0x415cd3
imul eax, eax, 0x1618
lea edi, [eax + esi]
lea esi, [edi + 0x1f]
cmp byte [esi], 0
je 0x415c5d
push 0x48c89c
push esi
call fcn.0044fb40
push 0
push esi
call fcn.0044ed90
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x84]
movzx ecx, byte [eax + 3]
push ecx
movzx ecx, byte [eax + 2]
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
push str._d._d._d._d
push esi
call fcn.0044f3ea
lea esi, [edi + 0x6c4]
add esp, 0x18
cmp byte [esi], 0
je 0x415ca7
push 0x48c89c
push esi
call fcn.0044fb40
push 0
push esi
call fcn.0044ed90
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x54]
movzx ecx, byte [eax + 3]
push ecx
movzx ecx, byte [eax + 2]
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
push str._d._d._d._d
push esi
call fcn.0044f3ea
mov esi, dword [ebp + 0x74]
add esp, 0x18
mov edi, 0xa1
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x64]
push eax
push edi
call dword [ebp + 0x80]
test eax, eax
jne 0x415beb
push pe_nt_image_headers32
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.0044f370
add esp, 0xc
push 0x4a8554
lea eax, [ebp - 0x90]
push eax
call sub.snmpapi.dll_SnmpUtilOidCpy
jmp 0x415d66
cmp dword [ebp + 0x70], 0
jne 0x415d7d
push dword [0x4a8524]
lea eax, [ebp - 0x90]
push 0x4a8524
push eax
call sub.snmpapi.dll_SnmpUtilOidNCmp
test eax, eax
jne 0x415d7d
xor ecx, ecx
cmp dword [ebx], ecx
jbe 0x415d66
add esi, 0xd69
xor eax, eax
mov edx, dword [ebp - 0x84]
mov dl, byte [eax + edx]
mov byte [eax + esi], dl
inc eax
cmp eax, 4
jl 0x415d46
inc ecx
add esi, 0x1618
cmp ecx, dword [ebx]
jb 0x415d44
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x64]
push eax
push edi
call dword [ebp + 0x80]
test eax, eax
jne 0x415d17
and dword [ebp + 0x80], 0
cmp dword [ebx], 0
jbe 0x415e3b
push 0xfffffffffffffffc
pop eax
add esi, 4
sub eax, dword [ebp + 0x74]
mov dword [ebp + 0x78], eax
cmp byte [esi + 0xc], 0
je 0x415e1b
and dword [ebp + 0x7c], 0
mov edi, 0x48c834
movzx eax, word [edi - 2]
movzx ecx, word [edi - 4]
push eax
mov eax, dword [ebp + 0x78]
add eax, esi
add ecx, eax
mov eax, dword [ebp + 0x74]
lea eax, [ecx + eax + 0x11]
push edi
push eax
call fcn.00452306
add esp, 0xc
test eax, eax
je 0x415ddc
add dword [ebp + 0x7c], 0xc
add edi, 0xc
cmp dword [ebp + 0x7c], 0x6c
jb 0x415da8
jmp 0x415ddf
mov byte [esi], 0
and dword [ebp + 0x7c], 0
cmp dword [ebp + 0x80], 0
jbe 0x415e1e
mov edi, dword [ebp + 0x74]
add edi, 0x11
push 6
lea eax, [esi + 0xd]
push edi
push eax
call fcn.00452306
add esp, 0xc
test eax, eax
je 0x415e1b
inc dword [ebp + 0x7c]
mov eax, dword [ebp + 0x7c]
add edi, 0x1618
cmp eax, dword [ebp + 0x80]
jb 0x415df2
jmp 0x415e1e
mov byte [esi], 0
inc dword [ebp + 0x80]
mov eax, dword [ebp + 0x80]
add esi, 0x1618
cmp eax, dword [ebx]
jb 0x415d99
mov esi, dword [ebp + 0x74]
xor eax, eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x80], eax
cmp dword [ebx], eax
jbe 0x415e82
mov dword [ebp + 0x7c], esi
mov edi, esi
cmp byte [edi + 4], 0
mov esi, 0x1618
je 0x415e6d
push esi
push edi
push dword [ebp + 0x7c]
call fcn.004500e0
add esp, 0xc
inc dword [ebp + 0x78]
add dword [ebp + 0x7c], esi
inc dword [ebp + 0x80]
mov eax, dword [ebp + 0x80]
add edi, esi
cmp eax, dword [ebx]
jb 0x415e4f
mov esi, dword [ebp + 0x74]
mov eax, dword [ebp + 0x78]
mov dword [ebx], eax
mov eax, esi
pop esi
pop edi
mov ecx, dword [ebp + 0x214]
xor ecx, ebp
pop ebx
call fcn.0044f35b
add ebp, 0x218
leave
ret