Function at 0x140011253
Capabilities:
Receive data
Receive data on socket

Disassembly:
jmp 0x140026240
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x35b8
call fcn.14001123a
sub rsp, rax
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xbde
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x35d8]
mov rax, qword [0x140042b18]
xor rax, rbp
mov qword [rbp + 0x3568], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.140011c99
mov dword [rbp + 4], 0
mov rdx, qword [rbp + 0x35a0]
mov rax, qword [rbp + 0x3590]
mov rcx, qword [rax]
call fcn.140011032
test eax, eax
je 0x140026a2e
mov rcx, qword [rbp + 0x3590]
call fcn.140011d84
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
jg 0x1400264b5
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x3554], eax
mov ecx, dword [0x140042af8]
add ecx, 7
mov dword [rbp + 0x3558], ecx
call fcn.14001116d
mov ecx, dword [rbp + 0x3554]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x3590]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x3558]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Tun_SocketID__d_disconnect_because_read_err__d_wsaerr__x_n
call fcn.14001160e
mov rcx, qword [rbp + 0x3590]
call fcn.140011b63
mov edx, 0x18
lea rcx, [rbp + 0x48]
call fcn.140011267
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x3598]
call fcn.140011db1
nop
jmp 0x140026382
xor r8d, r8d
lea rdx, [rbp + 0x3108]
lea rcx, [rbp + 0x48]
call fcn.14001128a
lea rcx, [rbp + 0x3108]
call fcn.140011aff
lea rdx, [rbp + 0x3158]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0x48]
call fcn.1400119b5
mov byte [rbp + 0x3134], al
lea rcx, [rbp + 0x3158]
call fcn.140011aff
movzx eax, byte [rbp + 0x3134]
test eax, eax
je 0x140026494
lea rcx, [rbp + 0x48]
call fcn.140011c62
mov rax, qword [rax + 8]
cmp qword [rax], 0xffffffffffffffff
je 0x14002648f
lea rcx, [rbp + 0x48]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x3558], rax
mov ecx, dword [0x140042af8]
add ecx, 0xe
mov dword [rbp + 0x3560], ecx
call fcn.14001116d
mov rcx, qword [rbp + 0x3558]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x3560]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Svr__s__d:_Svr_SocketID__d_disconnect_because_tun_socket_disconnect_n
call fcn.14001160e
lea rcx, [rbp + 0x48]
call fcn.140011c62
mov rcx, qword [rax + 8]
call fcn.140011b63
lea rcx, [rbp + 0x48]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x3188], rax
cmp qword [rbp + 0x3188], 0
je 0x140026484
mov edx, 1
mov rcx, qword [rbp + 0x3188]
call fcn.14001104b
mov qword [rbp + 0x3558], rax
jmp 0x14002648f
mov qword [rbp + 0x3558], 0
jmp 0x140026363
lea rcx, [rbp + 0x48]
call fcn.140011aff
mov rcx, qword [rbp + 0x3598]
call fcn.1400113a7
mov dword [rbp + 4], 0xffffffff
jmp 0x140026a2e
mov rax, qword [rbp + 0x3590]
mov rcx, qword [rbp + 0x3590]
mov ecx, dword [rcx + 0x20]
cmp dword [rax + 0x24], ecx
jl 0x140026a2e
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x20], 0
jle 0x140026a2e
mov eax, dword [0x140042af8]
add eax, 0x1b
mov dword [rbp + 0x3554], eax
call fcn.14001116d
mov rcx, qword [rbp + 0x3590]
mov ecx, dword [rcx + 0x18]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x3590]
mov ecx, dword [rcx + 0x14]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x3554]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Tun_recv_socketID__d_pack_size__d_seq__d_n
call fcn.14001160e
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x1c], 0x3e7
jne 0x1400266e7
mov edx, 0x18
lea rcx, [rbp + 0x78]
call fcn.140011267
mov rax, qword [rbp + 0x3590]
add rax, 0x14
mov r8, rax
lea rdx, [rbp + 0x78]
mov rcx, qword [rbp + 0x3598]
call fcn.140011429
nop
lea rdx, [rbp + 0x31c8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0x78]
call fcn.1400119b5
mov byte [rbp + 0x31a4], al
lea rcx, [rbp + 0x31c8]
call fcn.140011aff
movzx eax, byte [rbp + 0x31a4]
test eax, eax
je 0x1400266cc
lea rcx, [rbp + 0x78]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x3558], rax
mov ecx, dword [0x140042af8]
add ecx, 0x21
mov dword [rbp + 0x3560], ecx
call fcn.14001116d
mov rcx, qword [rbp + 0x3558]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x3560]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Svr__s__d:_Svr_SocketID__d_disconnect_because_Cli_send_DataEnd_n
call fcn.14001160e
lea rcx, [rbp + 0x78]
call fcn.140011c62
mov rax, qword [rax + 8]
mov ecx, dword [rax]
call fcn.140011519
lea rcx, [rbp + 0x78]
call fcn.140011c62
mov rcx, qword [rax + 8]
call fcn.140011b63
lea rcx, [rbp + 0x78]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x31f8], rax
cmp qword [rbp + 0x31f8], 0
je 0x140026676
mov edx, 1
mov rcx, qword [rbp + 0x31f8]
call fcn.14001104b
mov qword [rbp + 0x3558], rax
jmp 0x140026681
mov qword [rbp + 0x3558], 0
lea rax, [rbp + 0x3218]
mov qword [rbp + 0x3248], rax
lea rdx, [rbp + 0x78]
mov rcx, qword [rbp + 0x3248]
call fcn.140011933
mov qword [rbp + 0x3558], rax
mov r8, qword [rbp + 0x3558]
lea rdx, [rbp + 0x3268]
mov rcx, qword [rbp + 0x3598]
call fcn.140011b5e
lea rcx, [rbp + 0x3268]
call fcn.140011aff
mov rcx, qword [rbp + 0x3590]
call fcn.14001188e
nop
lea rcx, [rbp + 0x78]
call fcn.140011aff
jmp 0x140026a29
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x1c], 0x64
jle 0x140026886
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x1c], 0x3e7
jg 0x140026886
mov edx, 0x18
lea rcx, [rbp + 0xa8]
call fcn.140011267
mov rax, qword [rbp + 0x3590]
add rax, 0x14
mov r8, rax
lea rdx, [rbp + 0xa8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011429
nop
lea rdx, [rbp + 0x32b8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0xa8]
call fcn.1400119b5
mov byte [rbp + 0x3294], al
lea rcx, [rbp + 0x32b8]
call fcn.140011aff
movzx eax, byte [rbp + 0x3294]
test eax, eax
je 0x14002680e
lea rcx, [rbp + 0xa8]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0xd8]
cmp qword [rax], 0xffffffffffffffff
je 0x14002680c
mov eax, dword [0x140042af8]
add eax, 0x34
mov dword [rbp + 0x3554], eax
call fcn.14001116d
mov ecx, dword [rbp + 0x3554]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Tun_send_pack_to_Server_n
call fcn.14001160e
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x3590]
call fcn.14001145b
movzx eax, al
test eax, eax
je 0x14002680c
mov rax, qword [rbp + 0xd8]
mov dword [rax + 8], 0x20
jmp 0x140026875
xor r8d, r8d
mov rax, qword [rbp + 0x3590]
mov edx, dword [rax + 0x14]
lea rcx, [rbp + 0xf8]
call fcn.14001137f
cmp qword [rbp + 0x3590], 0
je 0x140026868
mov rax, qword [rbp + 0x3590]
cmp qword [rax], 0xffffffffffffffff
je 0x140026868
mov rax, qword [rbp + 0x3590]
add rax, 0x100038
lea rdx, [rbp + 0xf8]
mov rcx, rax
call fcn.140011b13
mov rax, qword [rbp + 0x3590]
mov dword [rax + 8], 0x20
mov rcx, qword [rbp + 0x3590]
call fcn.14001188e
nop
lea rcx, [rbp + 0xa8]
call fcn.140011aff
jmp 0x140026a29
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x1c], 0x7cf
jne 0x1400269b3
mov edx, 0x18
lea rcx, [rbp + 0x128]
call fcn.140011267
lea rdx, [rbp + 0x128]
mov rcx, qword [rbp + 0x3598]
call fcn.140011db1
nop
jmp 0x1400268e3
xor r8d, r8d
lea rdx, [rbp + 0x32e8]
lea rcx, [rbp + 0x128]
call fcn.14001128a
lea rcx, [rbp + 0x32e8]
call fcn.140011aff
lea rdx, [rbp + 0x3338]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0x128]
call fcn.1400119b5
mov byte [rbp + 0x3314], al
lea rcx, [rbp + 0x3338]
call fcn.140011aff
movzx eax, byte [rbp + 0x3314]
test eax, eax
je 0x14002698d
lea rcx, [rbp + 0x128]
call fcn.140011c62
mov rcx, qword [rax + 8]
call fcn.140011b63
lea rcx, [rbp + 0x128]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x3368], rax
cmp qword [rbp + 0x3368], 0
je 0x14002697d
mov edx, 1
mov rcx, qword [rbp + 0x3368]
call fcn.14001104b
mov qword [rbp + 0x3558], rax
jmp 0x140026988
mov qword [rbp + 0x3558], 0
jmp 0x1400268c1
lea rcx, [rbp + 0x128]
call fcn.140011aff
mov rcx, qword [rbp + 0x3598]
call fcn.1400113a7
mov rcx, qword [rbp + 0x3590]
call fcn.14001188e
jmp 0x140026a29
mov rax, qword [rbp + 0x3590]
cmp dword [rax + 0x1c], 3
jne 0x1400269ce
mov rcx, qword [rbp + 0x3590]
call fcn.14001188e
jmp 0x140026a29
mov eax, dword [0x140042af8]
add eax, 0x5e
mov dword [rbp + 0x3554], eax
call fcn.14001116d
mov rcx, qword [rbp + 0x3590]
mov ecx, dword [rcx + 0x20]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x3590]
mov ecx, dword [rcx + 0x1c]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x3554]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Svr__s__d:_receive_illeage_packe_type__d_size__d_n
call fcn.14001160e
mov rcx, qword [rbp + 0x3590]
call fcn.14001188e
jmp 0x1400264b5
mov edx, 0x20
lea rcx, [rbp + 0x158]
call fcn.1400117ee
lea rcx, [rbp + 0x158]
call fcn.1400115d2
nop
mov edx, 0x18
lea rcx, [rbp + 0x198]
call fcn.140011267
lea rdx, [rbp + 0x198]
mov rcx, qword [rbp + 0x3598]
call fcn.140011db1
nop
jmp 0x140026a95
xor r8d, r8d
lea rdx, [rbp + 0x3388]
lea rcx, [rbp + 0x198]
call fcn.14001128a
lea rcx, [rbp + 0x3388]
call fcn.140011aff
lea rdx, [rbp + 0x33d8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0x198]
call fcn.1400119b5
mov byte [rbp + 0x33b4], al
lea rcx, [rbp + 0x33d8]
call fcn.140011aff
movzx eax, byte [rbp + 0x33b4]
test eax, eax
je 0x140026da3
lea rcx, [rbp + 0x198]
call fcn.140011c62
mov rax, qword [rax + 8]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x1c8]
cmp qword [rax], 0xffffffffffffffff
je 0x140026d9e
mov rdx, qword [rbp + 0x35a0]
mov rax, qword [rbp + 0x1c8]
mov rcx, qword [rax]
call fcn.140011032
test eax, eax
je 0x140026d9e
xor r9d, r9d
mov r8d, 0x2800
lea rdx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x1c8]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_recv]
mov dword [rbp + 0x2a04], eax
cmp dword [rbp + 0x2a04], 0xffffffff
je 0x140026b65
cmp dword [rbp + 0x2a04], 0
jne 0x140026c05
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x2a24], eax
mov eax, dword [0x140042af8]
add eax, 0x77
mov dword [rbp + 0x3554], eax
call fcn.14001116d
mov ecx, dword [rbp + 0x2a24]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x2a04]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x1c8]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x3554]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Svr_SocketID__d_disconnect_because_read_err__x_wsaerr__x_n
call fcn.14001160e
mov rdx, qword [rbp + 0x3590]
mov rcx, qword [rbp + 0x1c8]
call fcn.140011181
mov rcx, qword [rbp + 0x1c8]
call fcn.140011b63
lea rdx, [rbp + 0x1c8]
lea rcx, [rbp + 0x158]
call fcn.140011064
mov dword [rbp + 4], 0xffffffff
jmp 0x140026d9e
cmp dword [rbp + 0x2a04], 0
jle 0x140026d9e
call fcn.140011640
mov rcx, qword [rbp + 0x1c8]
mov dword [rcx + 0x10005c], eax
mov rax, qword [rbp + 0x1c8]
mov edx, dword [rax]
xor ecx, ecx
call fcn.1400113ac
mov dword [rbp + 0x2a44], eax
mov eax, dword [0x140042af8]
add eax, 0x82
mov dword [rbp + 0x3554], eax
call fcn.14001116d
mov ecx, dword [rbp + 0x2a44]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0x2a04]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x1c8]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x3554]
mov r9d, ecx
lea r8, str.ProcessRead
mov rdx, rax
lea rcx, str._s_Cli__s__d:_Svr_socketID__d_recv_pack_size__d_seq__d_n
call fcn.14001160e
mov eax, dword [rbp + 0x2a04]
add eax, 0x14
cdqe
mov rcx, rax
call fcn.14001158c
mov qword [rbp + 0x3408], rax
mov rax, qword [rbp + 0x3408]
mov qword [rbp + 0x2a70], rax
mov eax, dword [rbp + 0x2a04]
add eax, 0x14
mov dword [rbp + 0x2a68], eax
mov rax, qword [rbp + 0x2a70]
mov qword [rbp + 0x2a98], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rbp + 0x2a98]
mov dword [rcx + rax], 0xfeeffeef
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rbp + 0x2a98]
mov dword [rcx + rax], 0x65
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rbp + 0x2a98]
mov edx, dword [rbp + 0x2a68]
mov dword [rcx + rax], edx
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rbp + 0x2a98]
mov rdx, qword [rbp + 0x1c8]
mov edx, dword [rdx]
mov dword [rcx + rax], edx
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rbp + 0x2a98]
mov edx, dword [rbp + 0x2a44]
mov dword [rcx + rax], edx
movsxd rax, dword [rbp + 0x2a04]
mov rcx, qword [rbp + 0x2a70]
add rcx, 0x14
mov r8, rax
lea rdx, [rbp + 0x1f0]
call fcn.14001163b
mov rax, qword [rbp + 0x3590]
add rax, 0x100038
lea rdx, [rbp + 0x2a68]
mov rcx, rax
call fcn.140011b13
mov rax, qword [rbp + 0x3590]
mov dword [rax + 8], 0x20
jmp 0x140026a73
lea rcx, [rbp + 0x198]
call fcn.140011aff
mov dword [rbp + 0x2ab4], 0
jmp 0x140026dc9
mov eax, dword [rbp + 0x2ab4]
inc eax
mov dword [rbp + 0x2ab4], eax
movsxd rax, dword [rbp + 0x2ab4]
mov qword [rbp + 0x3558], rax
lea rcx, [rbp + 0x158]
call fcn.140011c03
mov rcx, qword [rbp + 0x3558]
cmp rcx, rax
jae 0x140026f97
movsxd rax, dword [rbp + 0x2ab4]
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.1400118e8
cmp qword [rax], 0
je 0x140026f92
mov edx, 0x18
lea rcx, [rbp + 0x2ad8]
call fcn.140011267
lea rdx, [rbp + 0x2ad8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011db1
jmp 0x140026e5b
xor r8d, r8d
lea rdx, [rbp + 0x3428]
lea rcx, [rbp + 0x2ad8]
call fcn.14001128a
lea rcx, [rbp + 0x3428]
call fcn.140011aff
lea rdx, [rbp + 0x3478]
mov rcx, qword [rbp + 0x3598]
call fcn.140011a19
mov qword [rbp + 0x3558], rax
mov rdx, qword [rbp + 0x3558]
lea rcx, [rbp + 0x2ad8]
call fcn.1400119b5
mov byte [rbp + 0x3454], al
lea rcx, [rbp + 0x3478]
call fcn.140011aff
movzx eax, byte [rbp + 0x3454]
test eax, eax
je 0x140026f37
movsxd rax, dword [rbp + 0x2ab4]
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.1400118e8
mov qword [rbp + 0x3558], rax
lea rcx, [rbp + 0x2ad8]
call fcn.140011c62
mov rax, qword [rax + 8]
mov rcx, qword [rbp + 0x3558]
cmp qword [rcx], rax
jne 0x140026f32
lea rax, [rbp + 0x34a8]
mov qword [rbp + 0x34d8], rax
lea rdx, [rbp + 0x2ad8]
mov rcx, qword [rbp + 0x34d8]
call fcn.140011933
mov qword [rbp + 0x3558], rax
mov r8, qword [rbp + 0x3558]
lea rdx, [rbp + 0x34f8]
mov rcx, qword [rbp + 0x3598]
call fcn.140011b5e
lea rcx, [rbp + 0x34f8]
call fcn.140011aff
jmp 0x140026f37
jmp 0x140026e39
lea rcx, [rbp + 0x2ad8]
call fcn.140011aff
movsxd rax, dword [rbp + 0x2ab4]
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.1400118e8
mov rax, qword [rax]
mov qword [rbp + 0x3528], rax
cmp qword [rbp + 0x3528], 0
je 0x140026f87
mov edx, 1
mov rcx, qword [rbp + 0x3528]
call fcn.14001104b
mov qword [rbp + 0x3558], rax
jmp 0x140026f92
mov qword [rbp + 0x3558], 0
jmp 0x140026dbb
mov eax, dword [rbp + 4]
mov dword [rbp + 0x3544], eax
lea rcx, [rbp + 0x158]
call fcn.1400116d1
mov eax, dword [rbp + 0x3544]
mov edi, eax
lea rcx, [rbp - 0x40]
lea rdx, reloc.WS2_32.dll_inet_addr
call fcn.140011a64
mov eax, edi
mov rcx, qword [rbp + 0x3568]
xor rcx, rbp
call fcn.140011636
lea rsp, [rbp + 0x3578]
pop rdi
pop rbp
ret