Function at 0x140003460
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0xb90
mov rax, qword [0x14007b960]
xor rax, rsp
mov qword [rsp + 0xb80], rax
mov rdi, qword [rcx + 0x10]
xor r15d, r15d
mov rbx, rdx
cmp qword [rcx + 8], rdi
mov qword [rsp + 0x98], rdx
mov r12, rcx
mov dword [rsp + 0x34], r15d
jbe 0x1400034a6
call fcn.14003f440
mov rsi, qword [r12 + 8]
cmp rsi, qword [r12 + 0x10]
jbe 0x1400034b7
call fcn.14003f440
cmp rsi, rdi
mov qword [rsp + 0xbc8], rbp
je 0x14000352b
mov rbp, qword [r12 + 0x10]
movabs rax, 0x8208208208208209
mov rcx, rbp
sub rcx, rdi
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 9
mov rax, rbx
shr rax, 0x3f
add rbx, rax
imul rbx, rbx, 0x3f0
add rbx, rsi
cmp rdi, rbp
je 0x14000351e
sub rsi, rdi
lea rcx, [rsi + rdi]
mov rdx, rdi
mov r8d, 0x3f0
call fcn.140042a20
add rdi, 0x3f0
cmp rdi, rbp
jne 0x140003500
mov qword [r12 + 0x10], rbx
mov rbx, qword [rsp + 0x98]
lea rax, [rsp + 0xcc]
lea r9, [rsp + 0xc8]
lea r8, [rsp + 0xd4]
lea rdx, [rsp + 0xdc]
lea rcx, [rsp + 0xe4]
mov qword [rsp + 0x20], rax
call sub.wsnmp32.dll_SnmpStrToEntity
cmp eax, 1
je 0x140003571
xor ecx, ecx
call sub.wsnmp32.dll_Ordinal_999
or eax, 0xffffffff
jmp 0x140003df7
lea r8, [0x140003450]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0xbd0], r13
call sub.wsnmp32.dll_SnmpSetPort
test rax, rax
mov r13, rax
jne 0x1400035a4
xor ecx, ecx
call sub.wsnmp32.dll_Ordinal_999
or r15d, 0xffffffff
jmp 0x140003de7
xor r8d, r8d
xor edx, edx
mov rcx, rax
call sub.wsnmp32.dll_Ordinal_600
test rax, rax
mov qword [rsp + 0x38], rax
jne 0x1400035cc
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_999
or r15d, 0xffffffff
jmp 0x140003ddf
lea rdx, [rsp + 0x40]
lea rcx, str.1.3.6.1.2.1.1.1.0
call sub.wsnmp32.dll_Ordinal_903
test eax, eax
je 0x140003777
lea r8, [rsp + 0x40]
xor r9d, r9d
xor edx, edx
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_605
lea rdx, [rsp + 0x40]
mov ecx, 6
mov edi, eax
call sub.wsnmp32.dll_Ordinal_900
test edi, edi
je 0x140003777
lea rdx, [rsp + 0x40]
lea rcx, str.1.3.6.1.2.1.1.2.0
call sub.wsnmp32.dll_Ordinal_903
test eax, eax
je 0x140003777
lea r8, [rsp + 0x40]
xor r9d, r9d
xor edx, edx
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_605
lea rdx, [rsp + 0x40]
mov ecx, 6
mov edi, eax
call sub.wsnmp32.dll_Ordinal_900
test edi, edi
je 0x140003777
lea rdx, [rsp + 0x40]
lea rcx, str.1.3.6.1.2.1.2.2.1.6.1
call sub.wsnmp32.dll_Ordinal_903
test eax, eax
je 0x140003777
lea r8, [rsp + 0x40]
xor r9d, r9d
xor edx, edx
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_605
lea rdx, [rsp + 0x40]
mov ecx, 6
mov edi, eax
call sub.wsnmp32.dll_Ordinal_900
test edi, edi
je 0x140003777
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov edx, 0xa0
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 1]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call sub.wsnmp32.dll_SnmpCreateVbl
test rax, rax
mov qword [rsp + 0x50], rax
jne 0x1400036db
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_999
or r15d, 0xffffffff
mov dword [rsp + 0x34], r15d
jmp 0x140003788
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, str.public
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdi
repne scasb al, byte [rdi]
lea rdx, [rsp + 0xa0]
not rcx
sub rcx, 1
mov dword [rsp + 0xa0], ecx
mov rcx, r13
call sub.wsnmp32.dll_SnmpCreatePdu
lea rcx, [rsp + 0x80]
xor r8d, r8d
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x50]
mov r9, rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, r13
mov qword [rsp + 0x70], rax
call sub.wsnmp32.dll_Ordinal_901
test eax, eax
jne 0x140003761
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_999
or r15d, 0xffffffff
mov dword [rsp + 0x34], r15d
mov rcx, qword [rsp + 0x50]
call sub.wsnmp32.dll_SnmpGetVb
mov rcx, qword [rsp + 0x70]
call sub.wsnmp32.dll_SnmpSetPduData
jmp 0x140003788
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_999
or r15d, 0xffffffff
mov dword [rsp + 0x34], r15d
mov rcx, qword [rsp + 0x38]
call sub.wsnmp32.dll_Ordinal_602
test r15d, r15d
mov qword [rsp + 0x38], 0
jne 0x140003ddf
mov edx, 2
xor r8d, r8d
mov qword [rsp + 0xbd8], r14
mov ecx, edx
call qword [sym.imp.WS2_32.dll_socket]
cmp rax, 0xffffffffffffffff
mov r14, rax
jne 0x1400037d3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
or r15d, r14d
jmp 0x140003dd7
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x20
mov rcx, rax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x20], 1
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140003843
xor ecx, ecx
mov word [rsp + 0x300], 2
call qword [sym.imp.WS2_32.dll_htons]
xor ecx, ecx
mov word [rsp + 0x302], ax
call qword [sym.imp.WS2_32.dll_htonl]
lea rdx, [rsp + 0x300]
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, r14
mov dword [rsp + 0x304], eax
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x140003852
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
or r15d, 0xffffffff
jmp 0x140003dce
mov cx, 0xa1
mov word [rsp + 0x300], 2
call qword [sym.imp.WS2_32.dll_htons]
or ecx, 0xffffffff
mov word [rsp + 0x302], ax
call qword [sym.imp.WS2_32.dll_htonl]
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x304], eax
lea rax, [rsp + 0x300]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayGetDim
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_sendto]
lea rdx, [rsp + 0x80]
mov ecx, 4
mov edi, eax
call sub.wsnmp32.dll_Ordinal_900
cmp edi, 0xffffffff
je 0x140003dce
mov r15, r12
nop
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
lea rax, [rsp + 0x90]
lea rdx, [rsp + 0xf0]
lea ecx, [r9 + 1]
xor r8d, r8d
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x94], 0
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x140003dc9
test eax, eax
jle 0x140003dc9
lea rdx, [rsp + 0xf0]
mov rcx, r14
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140003dc9
xor eax, eax
lea rdx, [rsp + 0x780]
xor r9d, r9d
mov dword [rsp + 0x300], eax
mov dword [rsp + 0x304], eax
mov dword [rsp + 0x308], eax
mov dword [rsp + 0x30c], eax
lea rax, [rsp + 0x78]
mov r8d, 0x400
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x300]
mov rcx, r14
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x78], reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
je 0x140003dc9
mov dword [rsp + 0x80], eax
lea rax, [rsp + 0x780]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x80]
lea r8, [rsp + 0xb8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, [rsp + 0xc0]
mov rcx, r13
mov qword [rsp + 0x20], rax
call sub.wsnmp32.dll_Ordinal_902
test eax, eax
je 0x1400038d0
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0xd8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe8]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
call sub.wsnmp32.dll_SnmpDuplicateVbl
cmp eax, 1
jne 0x140003d96
lea rcx, [rsp + 0x314]
xor edx, edx
mov r8d, 0x104
call fcn.1400421c0
lea rcx, [rsp + 0x418]
xor edx, edx
mov r8d, 0x80
call fcn.1400421c0
xor edx, edx
xor eax, eax
lea rcx, [rsp + 0x4f8]
mov r8d, 0x104
mov qword [rsp + 0x498], rdx
mov qword [rsp + 0x4a0], rdx
mov qword [rsp + 0x4a8], rdx
mov qword [rsp + 0x4b0], rdx
mov qword [rsp + 0x4b8], rdx
mov qword [rsp + 0x4c0], rdx
mov qword [rsp + 0x4c8], rdx
mov qword [rsp + 0x4d0], rdx
mov qword [rsp + 0x4d8], rax
mov qword [rsp + 0x4e0], rax
mov qword [rsp + 0x4e8], rax
mov qword [rsp + 0x4f0], rax
call fcn.1400421c0
movzx ecx, byte [rsp + 0x306]
movzx eax, byte [rsp + 0x307]
movzx r9d, byte [rsp + 0x305]
movzx r8d, byte [rsp + 0x304]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x498]
lea rdx, str._i._i._i._i
mov dword [rsp + 0x310], 4
call fcn.140005de0
mov rcx, qword [rsp + 0x38]
call sub.wsnmp32.dll_Ordinal_603
mov ebp, 1
cmp eax, ebp
mov r12d, eax
jb 0x140003d2c
nop
nop
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x40]
mov edx, ebp
call sub.wsnmp32.dll_Ordinal_604
lea r8, [rsp + 0x700]
lea rcx, [rsp + 0x40]
mov edx, 0x80
call sub.wsnmp32.dll_Ordinal_904
lea rsi, [rsp + 0x700]
lea rdi, str.1.3.6.1.2.1.1.1.0
mov ecx, reloc.WS2_32.dll_select
repe cmpsb byte [rsi], byte [rdi]
jne 0x140003c06
cmp dword [rsp + 0x58], 4
jne 0x140003d09
mov esi, dword [rsp + 0x60]
cmp esi, 0x103
jbe 0x140003bb4
mov r8d, 0x103
jmp 0x140003bb7
mov r8, rsi
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x314]
call fcn.140042a20
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x314]
lea rdx, [rsp + 0x60]
repne scasb al, byte [rdi]
mov rax, rsi
not rcx
sub rcx, 1
cmp rcx, rsi
cmovb rax, rcx
mov ecx, 4
mov byte [rsp + rax + 0x314], 0
call sub.wsnmp32.dll_Ordinal_900
jmp 0x140003d09
lea rsi, [rsp + 0x700]
lea rdi, str.1.3.6.1.2.1.1.2.0
mov ecx, reloc.WS2_32.dll_select
repe cmpsb byte [rsi], byte [rdi]
jne 0x140003c54
cmp dword [rsp + 0x58], 6
jne 0x140003d09
lea r8, [rsp + 0x418]
lea rcx, [rsp + 0x60]
mov edx, 0x80
call sub.wsnmp32.dll_Ordinal_904
lea rdx, [rsp + 0x60]
mov ecx, 6
call sub.wsnmp32.dll_Ordinal_900
jmp 0x140003d09
lea rsi, [rsp + 0x700]
lea rdi, str.1.3.6.1.2.1.2.2.1.6.1
mov ecx, socket
repe cmpsb byte [rsi], byte [rdi]
jne 0x140003d09
cmp dword [rsp + 0x58], 4
jne 0x140003d09
xor ebx, ebx
xor esi, esi
cmp dword [rsp + 0x60], ebx
mov byte [rsp + 0x4d8], bl
jbe 0x140003cda
nop
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x4d8]
repne scasb al, byte [rdi]
mov rax, qword [rsp + 0x68]
mov edx, 0x20
movzx r9d, byte [rbx + rax]
not rcx
lea r8, str._02X:
sub rcx, 1
sub rdx, rcx
lea rcx, [rsp + rcx + 0x4d8]
call fcn.14003f730
add esi, 1
add rbx, 1
cmp esi, dword [rsp + 0x60]
jb 0x140003c90
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x4d8]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
je 0x140003cfa
mov byte [rsp + rcx + 0x4d7], al
lea rdx, [rsp + 0x60]
mov ecx, 4
call sub.wsnmp32.dll_Ordinal_900
lea rdx, [rsp + 0x40]
mov ecx, 6
call sub.wsnmp32.dll_Ordinal_900
add ebp, 1
cmp ebp, r12d
jbe 0x140003b50
mov rbx, qword [rsp + 0x98]
lea rax, [rsp + 0x314]
mov rdi, rbx
sub rdi, rax
nop
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x140003d53
add rax, 1
test ecx, ecx
jne 0x140003d40
test edx, edx
je 0x140003d7c
lea rax, [rsp + 0x418]
mov rdi, rbx
sub rdi, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x140003d78
add rax, 1
test ecx, ecx
jne 0x140003d65
test edx, edx
jne 0x140003d8c
lea rdx, [rsp + 0x310]
mov rcx, r15
call fcn.140004b50
mov rcx, qword [rsp + 0x38]
call sub.wsnmp32.dll_Ordinal_602
mov rcx, qword [rsp + 0x50]
call sub.wsnmp32.dll_SnmpGetVb
mov rcx, qword [rsp + 0x70]
call sub.wsnmp32.dll_SnmpSetPduData
mov rcx, qword [rsp + 0xb8]
call sub.wsnmp32.dll_SnmpFreeContext
mov rcx, qword [rsp + 0xc0]
call sub.wsnmp32.dll_SnmpFreeContext
jmp 0x1400038d0
mov r15d, dword [rsp + 0x34]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov r14, qword [rsp + 0xbd8]
mov rcx, r13
call sub.wsnmp32.dll_Ordinal_203
call sub.wsnmp32.dll_SnmpEntityToStr
mov r13, qword [rsp + 0xbd0]
mov eax, r15d
mov rbp, qword [rsp + 0xbc8]
mov rcx, qword [rsp + 0xb80]
xor rcx, rsp
call fcn.14003dbe0
add rsp, 0xb90
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret