Function at 0x14013ea60
Capabilities:
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information

Disassembly:
mov word [rsp + 0x20], r9w
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x1090
call fcn.1401d5c30
sub rsp, rax
mov qword [rsp + 0x1030], 0xfffffffffffffffe
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0x1088], rax
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0x10a8]
cmp dword [rax + 0xc], 0
jge 0x14013eac1
mov eax, 1
jmp 0x14013f52a
mov rax, qword [rsp + 0x10a8]
cmp dword [rax + 0xc], 0x40
jl 0x14013eb42
mov rdx, qword [rsp + 0x10a8]
add rdx, 0xb0
lea rcx, [rsp + 0x1000]
call fcn.140010e20
mov qword [rsp + 0x1038], rax
mov rax, qword [rsp + 0x1038]
mov qword [rsp + 0x1040], rax
mov rcx, qword [rsp + 0x1040]
call fcn.140010eb0
mov r8, rax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
lea rdx, str._ERROR__ip__s_targetid__d_is_invalid
xor ecx, ecx
call fcn.1400dc5d0
nop
lea rcx, [rsp + 0x1000]
call fcn.140002e10
xor eax, eax
jmp 0x14013f52a
mov qword [rsp + 0x3a0], 0
mov rcx, qword [rsp + 0x10a0]
add rcx, 0x518
call fcn.140010ae0
mov rcx, qword [rsp + 0x10a0]
add rcx, 0x4e0
lea r8, [rsp + 0x3a0]
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax]
call fcn.14001fb20
test eax, eax
je 0x14013eb9d
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x84], 0
jne 0x14013ebc5
mov rcx, qword [rsp + 0x10a0]
add rcx, 0x518
mov rax, qword [rsp + 0x10a0]
mov rax, qword [rax + 0x518]
call qword [rax + 0x28]
xor eax, eax
jmp 0x14013f52a
mov rcx, qword [rsp + 0x10a0]
add rcx, 0x518
mov rax, qword [rsp + 0x10a0]
mov rax, qword [rax + 0x518]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x3a0]
call fcn.14001e350
cmp dword [rsp + 0x10b0], 2
je 0x14013ee0b
cmp dword [rsp + 0x10b0], 4
je 0x14013ee0b
mov dword [rsp + 0x3ac], 1
mov dword [rsp + 0x7b0], 0
xor eax, eax
mov word [rsp + 0x3b0], ax
lea rdi, [rsp + 0x3b2]
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
mov r8d, 0x200
lea rdx, [rsp + 0x3b0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r8, [rsp + 0x7b0]
lea rdx, [rsp + 0x3ac]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.imagehlp.dll_MapFileAndCheckSumW]
test eax, eax
je 0x14013ecc3
mov dword [rsp + 0x7b4], 0
jmp 0x14013ec96
mov eax, dword [rsp + 0x7b4]
add eax, 1
mov dword [rsp + 0x7b4], eax
movsxd rax, dword [rsp + 0x7b4]
cmp rax, 0xa
jae 0x14013ecc1
movsxd rcx, dword [rsp + 0x7b4]
mov rax, qword [rsp + 0x10a0]
mov dword [rax + rcx*4 + 0x4ac], 1
jmp 0x14013ec85
jmp 0x14013ed1c
mov eax, dword [rsp + 0x7b0]
cmp dword [rsp + 0x3ac], eax
je 0x14013ed1c
mov dword [rsp + 0x7b8], 0
jmp 0x14013ecf1
mov eax, dword [rsp + 0x7b8]
add eax, 1
mov dword [rsp + 0x7b8], eax
movsxd rax, dword [rsp + 0x7b8]
cmp rax, 0xa
jae 0x14013ed1c
movsxd rcx, dword [rsp + 0x7b8]
mov rax, qword [rsp + 0x10a0]
mov dword [rax + rcx*4 + 0x4ac], 1
jmp 0x14013ece0
mov rax, qword [rsp + 0x10a8]
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x48]
lea rdx, str.Reinstatement_iSCSI_connection__s_targetid__d_connectionid__d
xor ecx, ecx
call fcn.1400dc5d0
mov r8d, 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.140136070
mov dword [rsp + 0x3a8], 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.14001e330
test eax, eax
jne 0x14013edf2
mov rax, qword [rsp + 0x10a8]
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x48]
lea rdx, str.Reinstatement_iSCSI_connection_Open__s_targetid__d_connectionid__d
xor ecx, ecx
call fcn.1400dc5d0
mov r8d, 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.14013b180
mov dword [rsp + 0x3a8], eax
mov rcx, qword [rsp + 0x3a0]
call fcn.14001e380
mov eax, dword [rsp + 0x3a8]
jmp 0x14013f52a
mov dword [rsp + 0x34], reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x10a8]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [rsp + 0x4c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea rcx, [rsp + 0x1008]
call fcn.140010e20
mov qword [rsp + 0x1048], rax
mov rax, qword [rsp + 0x1048]
mov qword [rsp + 0x1050], rax
mov rcx, qword [rsp + 0x1050]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140002090
nop
lea rcx, [rsp + 0x1008]
call fcn.140002e10
mov rax, qword [rsp + 0x10a8]
movzx ecx, word [rax + 0x18]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x48]
lea rdx, str.New_iSCSI_connection__s_targetid__d_connectionid__d_serverip__s
xor ecx, ecx
call fcn.1400dc5d0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov rax, qword [rsp + 0x3a0]
mov dword [rax + 0xe0], edx
lea rcx, [rsp + 0x60]
call fcn.1401cd320
nop
mov rax, qword [rsp + 0x10a8]
mov eax, dword [rax]
mov dword [rsp + 0x1f8], eax
lea rcx, [rsp + 0x60]
call fcn.1401d1f50
test eax, eax
je 0x14013f2c5
lea rcx, [rsp + 0x2f0]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
test eax, eax
je 0x14013f2c5
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x7c0]
call fcn.140001440
nop
mov dword [rsp + 0x7d0], 0
lea rcx, [rsp + 0x7c8]
call fcn.140002d50
nop
lea r9, [rsp + 0x7d0]
lea r8, [0x140231674]
lea rdx, [rsp + 0x1010]
lea rcx, [rsp + 0x7c0]
call fcn.140006540
mov qword [rsp + 0x1058], rax
mov rax, qword [rsp + 0x1058]
mov qword [rsp + 0x1060], rax
mov rdx, qword [rsp + 0x1060]
lea rcx, [rsp + 0x7c8]
call fcn.140002d20
nop
lea rcx, [rsp + 0x1010]
call fcn.140001470
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x7c8]
call fcn.14001e660
movzx eax, al
test eax, eax
je 0x14013f2aa
cmp dword [rsp + 0x7d0], 0xffffffff
je 0x14013f2aa
lea r9, [rsp + 0x7d0]
lea r8, [0x1402316ec]
lea rdx, [rsp + 0x1018]
lea rcx, [rsp + 0x7c0]
call fcn.140006540
mov qword [rsp + 0x1068], rax
mov rax, qword [rsp + 0x1068]
mov qword [rsp + 0x1070], rax
mov rdx, qword [rsp + 0x1070]
lea rcx, [rsp + 0x7c8]
call fcn.140002d20
nop
lea rcx, [rsp + 0x1018]
call fcn.140001470
lea rcx, [rsp + 0x7c8]
call fcn.1400019f0
test eax, eax
jle 0x14013f2aa
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x7c8]
call fcn.14001e6b0
movzx eax, al
test eax, eax
je 0x14013f2aa
mov rcx, qword [rsp + 0x3a0]
add rcx, 0x100
lea rdx, [rsp + 0x7c8]
call fcn.140002d20
mov rax, qword [rsp + 0x3a0]
cmp qword [rax + 0x88], 0xffffffffffffffff
je 0x14013f0ca
mov rcx, qword [rsp + 0x3a0]
mov rcx, qword [rcx + 0x88]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rdx, qword [rsp + 0x3a0]
mov qword [rdx + 0x88], 0xffffffffffffffff
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov rdx, rax
mov rax, qword [rsp + 0x3a0]
mov qword [rax + 0x88], rdx
mov rcx, qword [rsp + 0x3a0]
add rcx, 0x100
call fcn.1400012c0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x3e8
mov r8, rax
mov rdx, qword [rsp + 0x3a0]
mov rdx, qword [rdx + 0x88]
mov rcx, qword [rsp + 0x10a0]
call fcn.1400d8e40
test eax, eax
je 0x14013f282
lea rcx, [rsp + 0xbe0]
call fcn.140002d50
nop
mov rax, qword [rsp + 0x3a0]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x100]
lea rdx, str.SyncConnect___HTTP_1.0_r_nHost:__s_r_nUserID:__d_r_nComputerName:__s_r_n_r_n
lea rcx, [rsp + 0xbe0]
call fcn.140002be0
lea rcx, [rsp + 0xbe0]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1020]
call fcn.140002d80
mov qword [rsp + 0x1078], rax
mov rax, qword [rsp + 0x1078]
mov qword [rsp + 0x1080], rax
lea rcx, [rsp + 0xbe0]
call fcn.1400019f0
movsxd rdi, eax
mov rcx, qword [rsp + 0x1080]
call fcn.140002e30
mov r9, rdi
mov r8, rax
mov rdx, qword [rsp + 0x3a0]
mov rdx, qword [rdx + 0x88]
lea rcx, [0x1403ab660]
call fcn.1400d8990
nop
lea rcx, [rsp + 0x1020]
call fcn.140002e10
lea rdx, str.send_SyncConnect
xor ecx, ecx
call fcn.1400dc5d0
mov r9d, 0x400
lea r8, [rsp + 0x7e0]
mov rdx, qword [rsp + 0x3a0]
mov rdx, qword [rdx + 0x88]
lea rcx, [0x1403ab660]
call fcn.1400d82e0
mov r9d, 0x400
lea r8, [rsp + 0x7e0]
mov rdx, qword [rsp + 0x3a0]
mov rdx, qword [rdx + 0x88]
lea rcx, [0x1403ab660]
call fcn.1400d82e0
nop
lea rcx, [rsp + 0xbe0]
call fcn.140001470
jmp 0x14013f2aa
mov rcx, qword [rsp + 0x3a0]
mov rcx, qword [rcx + 0x88]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rdx, qword [rsp + 0x3a0]
mov qword [rdx + 0x88], 0xffffffffffffffff
lea rcx, [rsp + 0x7c8]
call fcn.140001470
nop
lea rcx, [rsp + 0x7c0]
call fcn.140001470
mov r8d, 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.140136070
mov dword [rsp + 0xbe8], 1
mov dword [rsp + 0xff0], 0
xor eax, eax
mov word [rsp + 0xbf0], ax
lea rdi, [rsp + 0xbf2]
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
mov r8d, 0x200
lea rdx, [rsp + 0xbf0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r8, [rsp + 0xff0]
lea rdx, [rsp + 0xbe8]
lea rcx, [rsp + 0xbf0]
call qword [sym.imp.imagehlp.dll_MapFileAndCheckSumW]
test eax, eax
je 0x14013f397
mov dword [rsp + 0xff4], 0
jmp 0x14013f36a
mov eax, dword [rsp + 0xff4]
add eax, 1
mov dword [rsp + 0xff4], eax
movsxd rax, dword [rsp + 0xff4]
cmp rax, 0xa
jae 0x14013f395
movsxd rcx, dword [rsp + 0xff4]
mov rax, qword [rsp + 0x10a0]
mov dword [rax + rcx*4 + 0x4ac], 1
jmp 0x14013f359
jmp 0x14013f3f0
mov eax, dword [rsp + 0xff0]
cmp dword [rsp + 0xbe8], eax
je 0x14013f3f0
mov dword [rsp + 0xff8], 0
jmp 0x14013f3c5
mov eax, dword [rsp + 0xff8]
add eax, 1
mov dword [rsp + 0xff8], eax
movsxd rax, dword [rsp + 0xff8]
cmp rax, 0xa
jae 0x14013f3f0
movsxd rcx, dword [rsp + 0xff8]
mov rax, qword [rsp + 0x10a0]
mov dword [rax + rcx*4 + 0x4ac], 1
jmp 0x14013f3b4
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x80], 0
jne 0x14013f432
mov r8d, 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.140135120
mov rdx, qword [rsp + 0x3a0]
mov qword [rdx + 0xd0], 0
mov rax, qword [rsp + 0x10a8]
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x48]
lea rdx, str.New_iSCSI_connection_Open__s_targetid__d_connectionid__d
xor ecx, ecx
call fcn.1400dc5d0
mov r8d, 1
mov rax, qword [rsp + 0x10a8]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x3a0]
call fcn.14013b180
test eax, eax
jne 0x14013f4f6
mov rax, qword [rsp + 0x10a8]
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x10a8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x3a0]
mov r8, qword [r8 + 0x48]
lea rdx, str.New_iSCSI_connection_Open__s_targetid__d_connectionid__d_False
xor ecx, ecx
call fcn.1400dc5d0
mov rcx, qword [rsp + 0x3a0]
call fcn.14001e380
mov dword [rsp + 0x1028], 0
lea rcx, [rsp + 0x60]
call fcn.140005d50
nop
lea rcx, [rsp + 0x38]
call fcn.140001470
mov eax, dword [rsp + 0x1028]
jmp 0x14013f52a
mov rcx, qword [rsp + 0x3a0]
call fcn.14001e380
mov dword [rsp + 0x102c], 1
lea rcx, [rsp + 0x60]
call fcn.140005d50
nop
lea rcx, [rsp + 0x38]
call fcn.140001470
mov eax, dword [rsp + 0x102c]
mov rcx, qword [rsp + 0x1088]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x1090
pop rdi
ret