Function at 0x1400112cb
Capabilities:
Send data
Send data on socket

Disassembly:
jmp 0x140027350
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x888
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x182
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x8a8]
mov rax, qword [0x140042b18]
xor rax, rbp
mov qword [rbp + 0x838], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.140011c99
mov dword [rbp + 4], 0
mov dword [rbp + 0x24], 0
mov rax, qword [rbp + 0x860]
cmp qword [rax], 0xffffffffffffffff
je 0x14002787d
mov rdx, qword [rbp + 0x870]
mov rax, qword [rbp + 0x860]
mov rcx, qword [rax]
call fcn.140011032
test eax, eax
je 0x14002787d
mov rax, qword [rbp + 0x860]
cmp dword [rax + 8], 0x20
jne 0x14002787d
mov dword [rbp + 0x44], 0
jmp 0x140027402
mov eax, dword [rbp + 0x44]
inc eax
mov dword [rbp + 0x44], eax
movsxd rax, dword [rbp + 0x44]
mov qword [rbp + 0x828], rax
mov rcx, qword [rbp + 0x860]
add rcx, 0x100038
call fcn.14001184d
mov rcx, qword [rbp + 0x828]
cmp rcx, rax
jae 0x14002785a
movsxd rax, dword [rbp + 0x44]
mov rcx, qword [rbp + 0x860]
add rcx, 0x100038
mov rdx, rax
call fcn.140011b04
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc4]
lea r8, [rbp + 0xa4]
lea rdx, [rbp + 0x84]
mov rcx, qword [rbp + 0x68]
call fcn.1400114ba
mov eax, dword [0x140042afc]
add eax, 0xd
mov dword [rbp + 0x824], eax
call fcn.14001116d
mov ecx, dword [rbp + 0xe4]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp + 0x68]
mov ecx, dword [rcx]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp + 0xc4]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x824]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Tun_send_socketID__d_pack_to_TunServer_size__d_seq__d_n
call fcn.14001160e
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
mov dword [rbp + 0x124], eax
lea rcx, [rbp + 0x148]
call fcn.14001182f
nop
mov byte [rsp + 0x20], 1
lea r9, [rbp + 0x124]
mov rax, qword [rbp + 0x68]
mov r8d, dword [rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
lea rcx, [rbp + 0x148]
call fcn.140011b86
mov qword [rbp + 0x108], rax
xor r9d, r9d
mov r8d, dword [rbp + 0x124]
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x860]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0xffffffff
jne 0x1400275d2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140011424
movzx eax, al
test eax, eax
je 0x1400275d2
mov eax, dword [0x140042afc]
add eax, 0x1b
mov dword [rbp + 0x824], eax
call fcn.14001116d
mov ecx, dword [rbp + 0x124]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x824]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_send_to_Tun_err_size__d_wsaerr_WSAEWOULDBLOCK_n
call fcn.14001160e
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov r8d, dword [rbp + 0x124]
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x860]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbp + 0x24], eax
jmp 0x140027543
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x578], rax
mov rcx, qword [rbp + 0x578]
call fcn.140011627
cmp qword [rbp + 0x578], 0
jne 0x140027603
mov qword [rbp + 0x828], 0
jmp 0x14002761c
mov qword [rbp + 0x108], 0x8123
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x828], rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
mov qword [rbp + 0x598], rax
mov rcx, qword [rbp + 0x598]
call fcn.140011627
mov rax, qword [rbp + 0x68]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x68]
mov dword [rax], 0
cmp dword [rbp + 0x24], 0xffffffff
je 0x14002765d
cmp dword [rbp + 0x24], 0
jne 0x140027849
mov eax, dword [0x140042afc]
add eax, 0x28
mov dword [rbp + 0x824], eax
call fcn.14001116d
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x860]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x824]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Tun_SocketID__d_disconnect_because_send_err__x_n
call fcn.14001160e
mov rcx, qword [rbp + 0x860]
call fcn.140011b63
mov edx, 0x18
lea rcx, [rbp + 0x168]
call fcn.140011267
lea rdx, [rbp + 0x168]
mov rcx, qword [rbp + 0x868]
call fcn.140011db1
nop
jmp 0x1400276fb
xor r8d, r8d
lea rdx, [rbp + 0x5b8]
lea rcx, [rbp + 0x168]
call fcn.14001128a
lea rcx, [rbp + 0x5b8]
call fcn.140011aff
lea rdx, [rbp + 0x608]
mov rcx, qword [rbp + 0x868]
call fcn.140011a19
mov qword [rbp + 0x828], rax
mov rdx, qword [rbp + 0x828]
lea rcx, [rbp + 0x168]
call fcn.1400119b5
mov byte [rbp + 0x5e4], al
lea rcx, [rbp + 0x608]
call fcn.140011aff
movzx eax, byte [rbp + 0x5e4]
test eax, eax
je 0x14002781c
lea rcx, [rbp + 0x168]
call fcn.140011c62
mov rax, qword [rax + 8]
cmp qword [rax], 0xffffffffffffffff
je 0x140027817
lea rcx, [rbp + 0x168]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x828], rax
mov ecx, dword [0x140042afc]
add ecx, 0x30
mov dword [rbp + 0x830], ecx
call fcn.14001116d
mov rcx, qword [rbp + 0x828]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x830]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Svr_SocketID__d_disconnect_because_tun_socket_disconnect_n
call fcn.14001160e
lea rcx, [rbp + 0x168]
call fcn.140011c62
mov rcx, qword [rax + 8]
call fcn.140011b63
lea rcx, [rbp + 0x168]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x638], rax
cmp qword [rbp + 0x638], 0
je 0x14002780c
mov edx, 1
mov rcx, qword [rbp + 0x638]
call fcn.14001104b
mov qword [rbp + 0x828], rax
jmp 0x140027817
mov qword [rbp + 0x828], 0
jmp 0x1400276d9
lea rcx, [rbp + 0x168]
call fcn.140011aff
mov rcx, qword [rbp + 0x868]
call fcn.1400113a7
mov dword [rbp + 4], 0xffffffff
lea rcx, [rbp + 0x148]
call fcn.140011479
jmp 0x14002785a
lea rcx, [rbp + 0x148]
call fcn.140011479
jmp 0x1400273fa
mov rax, qword [rbp + 0x860]
add rax, 0x100038
mov rcx, rax
call fcn.14001142e
mov rax, qword [rbp + 0x860]
mov dword [rax + 8], reloc.WS2_32.dll_recv
mov edx, 0x20
lea rcx, [rbp + 0x198]
call fcn.1400117ee
lea rcx, [rbp + 0x198]
call fcn.1400115d2
nop
mov edx, 0x18
lea rcx, [rbp + 0x1d8]
call fcn.140011267
lea rdx, [rbp + 0x1d8]
mov rcx, qword [rbp + 0x868]
call fcn.140011db1
nop
jmp 0x1400278e4
xor r8d, r8d
lea rdx, [rbp + 0x658]
lea rcx, [rbp + 0x1d8]
call fcn.14001128a
lea rcx, [rbp + 0x658]
call fcn.140011aff
lea rdx, [rbp + 0x6a8]
mov rcx, qword [rbp + 0x868]
call fcn.140011a19
mov qword [rbp + 0x828], rax
mov rdx, qword [rbp + 0x828]
lea rcx, [rbp + 0x1d8]
call fcn.1400119b5
mov byte [rbp + 0x684], al
lea rcx, [rbp + 0x6a8]
call fcn.140011aff
movzx eax, byte [rbp + 0x684]
test eax, eax
je 0x140027c7a
lea rcx, [rbp + 0x1d8]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x208]
cmp qword [rax], 0xffffffffffffffff
je 0x140027c75
mov rax, qword [rbp + 0x208]
cmp dword [rax + 8], 0x20
jne 0x140027c75
mov dword [rbp + 0x224], 0
jmp 0x140027985
mov eax, dword [rbp + 0x224]
inc eax
mov dword [rbp + 0x224], eax
movsxd rax, dword [rbp + 0x224]
mov qword [rbp + 0x828], rax
mov rcx, qword [rbp + 0x208]
add rcx, 0x100038
call fcn.14001184d
mov rcx, qword [rbp + 0x828]
cmp rcx, rax
jae 0x140027c52
movsxd rax, dword [rbp + 0x224]
mov rcx, qword [rbp + 0x208]
add rcx, 0x100038
mov rdx, rax
call fcn.140011b04
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x248]
cmp dword [rax], 0x14
jle 0x140027c13
lea rax, [rbp + 0x2c4]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2a4]
lea r8, [rbp + 0x284]
lea rdx, [rbp + 0x264]
mov rcx, qword [rbp + 0x248]
call fcn.1400114ba
mov rax, qword [rbp + 0x248]
mov eax, dword [rax]
sub eax, 0x14
mov dword [rbp + 0x824], eax
mov ecx, dword [0x140042afc]
add ecx, 0x4e
mov dword [rbp + 0x828], ecx
call fcn.14001116d
mov ecx, dword [rbp + 0x2c4]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x824]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp + 0x2a4]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x828]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Svr_send_socketID__d_pack_to_User_size__d_seq__d_n
call fcn.14001160e
mov rax, qword [rbp + 0x248]
mov eax, dword [rax]
sub eax, 0x14
mov rcx, qword [rbp + 0x248]
mov rcx, qword [rcx + 8]
add rcx, 0x14
xor r9d, r9d
mov r8d, eax
mov rdx, rcx
mov rax, qword [rbp + 0x208]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0xffffffff
jne 0x140027b69
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140011424
movzx eax, al
test eax, eax
je 0x140027b69
mov rax, qword [rbp + 0x248]
mov eax, dword [rax]
sub eax, 0x14
mov dword [rbp + 0x824], eax
mov ecx, dword [0x140042afc]
add ecx, 0x54
mov dword [rbp + 0x828], ecx
call fcn.14001116d
mov ecx, dword [rbp + 0x824]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x828]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_send_to_User_err_size__d_wsaerr_WSAEWOULDBLOCK_n
call fcn.14001160e
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rbp + 0x248]
mov eax, dword [rax]
sub eax, 0x14
mov rcx, qword [rbp + 0x248]
mov rcx, qword [rcx + 8]
add rcx, 0x14
xor r9d, r9d
mov r8d, eax
mov rdx, rcx
mov rax, qword [rbp + 0x208]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbp + 0x24], eax
jmp 0x140027ab1
cmp dword [rbp + 0x24], 0xffffffff
je 0x140027b79
cmp dword [rbp + 0x24], 0
jne 0x140027c13
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x824], eax
mov ecx, dword [0x140042afc]
add ecx, 0x5b
mov dword [rbp + 0x828], ecx
call fcn.14001116d
mov ecx, dword [rbp + 0x824]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x208]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x828]
mov r9d, ecx
lea r8, str.ProcessWrite
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Svr_SocketID__d_disconnect_because_send_err__x_wsaerr__x_n
call fcn.14001160e
mov rdx, qword [rbp + 0x860]
mov rcx, qword [rbp + 0x208]
call fcn.140011181
mov rcx, qword [rbp + 0x208]
call fcn.140011b63
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x198]
call fcn.140011064
mov dword [rbp + 4], 0xffffffff
jmp 0x140027c52
mov rax, qword [rbp + 0x248]
mov rax, qword [rax + 8]
mov qword [rbp + 0x6d8], rax
mov rcx, qword [rbp + 0x6d8]
call fcn.140011627
mov rax, qword [rbp + 0x248]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x248]
mov dword [rax], 0
jmp 0x140027977
mov rax, qword [rbp + 0x208]
add rax, 0x100038
mov rcx, rax
call fcn.14001142e
mov rax, qword [rbp + 0x208]
mov dword [rax + 8], reloc.WS2_32.dll_recv
jmp 0x1400278c2
lea rcx, [rbp + 0x1d8]
call fcn.140011aff
mov dword [rbp + 0x2e4], 0
jmp 0x140027ca0
mov eax, dword [rbp + 0x2e4]
inc eax
mov dword [rbp + 0x2e4], eax
movsxd rax, dword [rbp + 0x2e4]
mov qword [rbp + 0x828], rax
lea rcx, [rbp + 0x198]
call fcn.140011c03
mov rcx, qword [rbp + 0x828]
cmp rcx, rax
jae 0x140027e6e
movsxd rax, dword [rbp + 0x2e4]
mov rdx, rax
lea rcx, [rbp + 0x198]
call fcn.1400118e8
cmp qword [rax], 0
je 0x140027e69
mov edx, 0x18
lea rcx, [rbp + 0x308]
call fcn.140011267
lea rdx, [rbp + 0x308]
mov rcx, qword [rbp + 0x868]
call fcn.140011db1
jmp 0x140027d32
xor r8d, r8d
lea rdx, [rbp + 0x6f8]
lea rcx, [rbp + 0x308]
call fcn.14001128a
lea rcx, [rbp + 0x6f8]
call fcn.140011aff
lea rdx, [rbp + 0x748]
mov rcx, qword [rbp + 0x868]
call fcn.140011a19
mov qword [rbp + 0x828], rax
mov rdx, qword [rbp + 0x828]
lea rcx, [rbp + 0x308]
call fcn.1400119b5
mov byte [rbp + 0x724], al
lea rcx, [rbp + 0x748]
call fcn.140011aff
movzx eax, byte [rbp + 0x724]
test eax, eax
je 0x140027e0e
movsxd rax, dword [rbp + 0x2e4]
mov rdx, rax
lea rcx, [rbp + 0x198]
call fcn.1400118e8
mov qword [rbp + 0x828], rax
lea rcx, [rbp + 0x308]
call fcn.140011c62
mov rax, qword [rax + 8]
mov rcx, qword [rbp + 0x828]
cmp qword [rcx], rax
jne 0x140027e09
lea rax, [rbp + 0x778]
mov qword [rbp + 0x7a8], rax
lea rdx, [rbp + 0x308]
mov rcx, qword [rbp + 0x7a8]
call fcn.140011933
mov qword [rbp + 0x828], rax
mov r8, qword [rbp + 0x828]
lea rdx, [rbp + 0x7c8]
mov rcx, qword [rbp + 0x868]
call fcn.140011b5e
lea rcx, [rbp + 0x7c8]
call fcn.140011aff
jmp 0x140027e0e
jmp 0x140027d10
lea rcx, [rbp + 0x308]
call fcn.140011aff
movsxd rax, dword [rbp + 0x2e4]
mov rdx, rax
lea rcx, [rbp + 0x198]
call fcn.1400118e8
mov rax, qword [rax]
mov qword [rbp + 0x7f8], rax
cmp qword [rbp + 0x7f8], 0
je 0x140027e5e
mov edx, 1
mov rcx, qword [rbp + 0x7f8]
call fcn.14001104b
mov qword [rbp + 0x828], rax
jmp 0x140027e69
mov qword [rbp + 0x828], 0
jmp 0x140027c92
mov eax, dword [rbp + 4]
mov dword [rbp + 0x814], eax
lea rcx, [rbp + 0x198]
call fcn.1400116d1
mov eax, dword [rbp + 0x814]
mov edi, eax
lea rcx, [rbp - 0x40]
lea rdx, [0x14003a6c0]
call fcn.140011a64
mov eax, edi
mov rcx, qword [rbp + 0x838]
xor rcx, rbp
call fcn.140011636
lea rsp, [rbp + 0x848]
pop rdi
pop rbp
ret