Function at 0x1402e6bc0
Capabilities:
Check for software breakpoints
Inspect section memory permissions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x90], rax
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x18], edx
lea rcx, [0x140450508]
cmp qword [rcx - 8], 0
jne 0x1402e75b7
mov rsi, qword [0x140bc4378]
xor ecx, ecx
mov dword [rbp - 0x58], ecx
mov rcx, qword [rsi + 0x20]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x80]
call fcn.1401d2410
mov dword [rbp - 0x58], 1
cmp qword [rsi + 0x18], 0
jne 0x1402e6c4c
mov rcx, qword [0x140bc3fb0]
mov rcx, qword [rcx + 8]
cmp byte [rcx], cl
lea rcx, [0x14043fdd8]
mov rax, qword [0x14043fdd8]
call qword [rax + 0x78]
mov qword [rbp - 0x70], rax
jmp 0x1402e6c67
lea rdi, [0x140450508]
cmp qword [rdi - 8], 0
jne 0x1402e7103
mov r14d, dword [rdi + 8]
jmp 0x1402e6f71
call fcn.14020ef30
nop
lea rdi, [0x140450508]
cmp qword [rdi - 8], 0
jne 0x1402e710d
mov ecx, dword [rdi]
or ecx, 0x189282
mov dword [rdi], ecx
lea rcx, [0x140472570]
call fcn.1400095a0
mov rsi, rax
mov dword [rsi + 0x20], 0x7fffffff
lea rcx, [0x140507280]
mov edx, reloc.WS2_32.dll_recv
call fcn.1400096c0
lea rcx, [rsi + 8]
mov rdx, rax
call fcn.1400097b0
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.1401e55f0
mov rcx, rax
mov edx, 2
call fcn.1401e55f0
mov rcx, rax
mov edx, reloc.WS2_32.dll_setsockopt
call fcn.1401e55f0
mov rcx, rax
mov edx, 0x17
call fcn.1401e55f0
mov edx, 0x18
mov rcx, rsi
call fcn.1401e55f0
mov rcx, rax
mov edx, 0x17
call fcn.1401e55f0
mov rcx, rax
mov edx, 0x18
call fcn.1401e55f0
mov rcx, rax
mov edx, 3
call fcn.1401e55f0
mov edx, 0x1a
mov rcx, rsi
call fcn.1401e55f0
mov rcx, rax
mov edx, 0x1b
call fcn.1401e55f0
mov rcx, rsi
call fcn.1401e4c60
mov r8, rax
mov rcx, qword [rbp - 0x70]
cmp byte [rcx], cl
mov rcx, qword [0x140bc3fa8]
mov rcx, qword [rcx + 8]
mov rdx, qword [rbp - 0x70]
cmp dword [rcx], ecx
call fcn.140249240
mov r14, rax
lea rcx, [0x14048c8d8]
call fcn.1400095a0
mov rbx, rax
lea rcx, [rbx + 8]
mov rdx, r14
call fcn.1400097b0
lea rcx, [0x1405071b8]
mov edx, 4
call fcn.1400096c0
lea rcx, [rbx + 0x10]
mov rdx, rax
call fcn.1400097b0
lea rcx, [0x140450508]
cmp qword [rcx - 8], 0
jne 0x1402e7117
mov rsi, qword [0x140bc4378]
lea rcx, [rsi + 0x18]
mov rdx, rbx
call fcn.1400097b0
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1402e7890
xor eax, 0xffffaf9b
movsx rdx, ax
test edx, edx
jne 0x1402e6df7
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1402e7890
xor eax, 0xffffaec4
movsx rcx, ax
mov word [rdi + 0xc], cx
jmp 0x1402e6e0e
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1400b6ec0
lea rcx, [rsi + 0x10]
mov rdx, rax
call fcn.1400097b0
mov rcx, qword [rbp - 0x70]
call fcn.1402e76c0
mov rbx, rax
mov rdx, qword [rbx + 0x18]
test rdx, rdx
jne 0x1402e6e3e
mov rcx, qword [rbx + 0x10]
call fcn.140210540
mov r14, rax
lea rcx, [rbx + 0x18]
mov rdx, r14
call fcn.1400097b0
mov rdx, r14
test rdx, rdx
je 0x1402e6e4b
cmp dword [rdx + 8], 0
jne 0x1402e6e4b
xor edx, edx
lea rcx, [rsi + 8]
call fcn.1400097b0
mov r14d, dword [rdi + 0x10]
xor r14d, 0x79320c06
xor eax, eax
mov dword [rdi + 0x10], eax
mov eax, r14d
xor eax, 0xdc119b09
imul ebx, eax, 0x14ad
mov edx, 0x9ad1ed9
mov eax, edx
imul ebx
mov ecx, edx
shr ecx, 0x1f
sar edx, 0x14
add ecx, edx
imul ecx, ecx, 0x1a74ded
sub ebx, ecx
mov r15d, 0x75
lea rcx, [0x14048c998]
call fcn.1400095a0
mov r13, rax
mov dword [r13 + 0x10], 0xfffffffe
call fcn.14018c0f0
mov dword [r13 + 0x18], eax
mov dword [r13 + 0x20], ebx
mov rcx, r13
call fcn.1402e8140
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x68]
mov r13, qword [rcx]
lea rcx, [0x14048c910]
cmp r13, rcx
je 0x1402e6eea
mov rcx, qword [rbp - 0x68]
lea r10, [0x140456f70]
call qword [r10]
test eax, eax
jne 0x1402e6ef5
jmp 0x1402e6f2d
mov rcx, qword [rbp - 0x68]
call fcn.1400b7580
jmp 0x1402e6ee4
lea rcx, [0x14048c998]
cmp r13, rcx
je 0x1402e6f16
lea rcx, [0x14048ca20]
cmp r13, rcx
je 0x1402e6f16
mov rcx, qword [rbp - 0x68]
mov ecx, dword [rcx + 0xc]
jmp 0x1402e6f1d
mov rcx, qword [rbp - 0x68]
mov ecx, dword [rcx + 0x14]
sub ecx, r15d
xor ebx, ecx
lea ecx, [rbx + 3]
sar ecx, 8
sub r15d, ecx
jmp 0x1402e6ec3
lea rcx, [0x14048c910]
cmp r13, rcx
je 0x1402e6f47
mov rcx, qword [rbp - 0x68]
lea r10, [0x140456fb0]
call qword [r10]
xor r14d, 0x9611d206
add r14d, ebx
mov dword [rdi + 8], r14d
mov ecx, dword [rdi]
and ecx, 0xfffff72
xor ecx, 0x1a84
mov dword [rdi], ecx
test byte [rdi + 4], 0x10
jne 0x1402e6f71
mov dword [rdi], 0xabba
cmp dword [rdi], 0xabba
jne 0x1402e6fb3
lea rcx, [0x140507280]
mov edx, 3
call fcn.1400096c0
mov dword [rax + 0x10], 0x300058
mov word [rax + 0x14], 0x58
mov rcx, rax
call fcn.14018f910
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x90], rcx
jmp 0x1402e74f8
mov r13d, dword [rbp + 0x10]
xor r13d, 0xc5283033
xor r13d, r14d
xor r13d, 0x38a4fffe
mov rcx, qword [rsi + 0x18]
mov rcx, qword [rcx + 8]
movsxd rdx, r13d
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp qword [rsi + 0x10], 0
je 0x1402e6fe6
mov r15, qword [rsi + 0x10]
jmp 0x1402e7055
cmp word [rdi + 0xc], 0xffff
jne 0x1402e7006
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1402e7890
xor eax, 0x75e8
xor eax, r13d
movsx rdx, ax
jmp 0x1402e700b
movsx rdx, word [rdi + 0xc]
test edx, edx
jne 0x1402e7014
xor r15d, r15d
jmp 0x1402e7055
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1400b6ec0
mov r15, rax
xor eax, eax
mov edx, dword [r15 + 8]
test edx, edx
je 0x1402e7055
cmp eax, edx
jae 0x1402e7121
lea r8, [r15 + rax + 0x10]
mov r10d, dword [rdi + 8]
mov ecx, eax
and ecx, 3
shl ecx, 3
sar r10d, cl
movzx ecx, r10b
xor byte [r8], cl
inc eax
cmp edx, eax
jne 0x1402e702c
mov rcx, qword [rsi + 0x18]
cmp dword [rcx], ecx
call fcn.1402e78e0
xor r13d, eax
xor r13d, 0xb1efde13
xor r13d, r14d
cmp r13d, 0xfffffffe
jne 0x1402e70d2
mov rcx, qword [rsi + 0x18]
mov edx, 4
cmp dword [rcx], ecx
call fcn.1400b6ec0
mov ecx, r14d
xor ecx, 0xb1efde13
mov dword [rbp + 0x10], ecx
mov ecx, dword [rax + 8]
cmp ecx, 2
jbe 0x1402e7121
movzx edx, byte [rax + 0x12]
cmp ecx, 3
jbe 0x1402e7121
nop dword [rax]
movzx ecx, byte [rax + 0x13]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [rax + 0x10]
shl edx, 8
or ecx, edx
movzx edx, byte [rax + 0x11]
shl edx, 0x18
or ecx, edx
mov edx, dword [rbp + 0x10]
neg edx
xor ecx, edx
mov dword [rbp + 0x10], ecx
jmp 0x1402e7561
mov edi, dword [rdi]
mov dword [rbp - 0x44], edi
lea r14d, [rdi - 0xc]
mov ecx, r13d
and ecx, 0xfffffff
mov r12d, ecx
mov rcx, qword [rsi + 0x18]
mov edx, r12d
cmp dword [rcx], ecx
call fcn.1400b6ec0
mov qword [rbp - 0x60], rax
mov rdx, qword [rsi + 8]
mov qword [rbp - 0x78], rdx
jmp 0x1402e7127
call fcn.1400016af
jmp 0x1402e6c5e
call fcn.1400016af
jmp 0x1402e6c7f
call fcn.140002e00
jmp 0x1402e6db2
call fcn.1401b8820
int3
mov rcx, qword [rbp - 0x80]
call fcn.1401d25a0
test r13d, 0x40000000
setne al
movzx eax, al
mov dword [rbp - 0x48], eax
test r13d, 0x80000000
setne dl
movzx edx, dl
mov dword [rbp - 0x54], edx
test r13d, 0x20000000
setne r13b
movzx r13d, r13b
mov dword [rbp - 0x4c], r13d
mov rcx, qword [rbp - 0x60]
mov r8d, dword [r15 + 8]
cmp r8d, 1
jbe 0x1402e75d5
movzx r10d, byte [r15 + 0x11]
mov r9d, dword [rcx + 8]
mov r11d, r9d
lea ebx, [r11 + 0xb]
lea r13d, [r10 + 7]
xor ebx, r13d
movzx ebx, bl
movzx r13d, byte [r15 + 0x10]
cmp r8d, 2
jbe 0x1402e75d5
movzx r8d, byte [r15 + 0x12]
shl r8d, 8
or r8d, r13d
lea r8d, [r8 + rbx*8]
xor r15d, r15d
xor r13d, r13d
test r11d, r11d
jle 0x1402e7205
test r15b, 1
jne 0x1402e71d8
imul r8d, r8d, 0x343fd
add r8d, 0x269ec3
mov r13d, r8d
shr r13d, 0x10
movzx r13d, r13w
movzx eax, r13b
sar r13d, 8
movzx r13d, r13w
movzx edx, byte [rcx + r15 + 0x10]
mov edi, r10d
xor edi, edx
add ebx, 3
xor ebx, edi
xor eax, ebx
mov byte [rcx + r15 + 0x10], al
inc r15d
mov ebx, edx
cmp r15d, r11d
jl 0x1402e71b9
cmp dword [rbp - 0x44], 0x188886
setne dl
movzx edx, dl
mov rbx, qword [rbp - 0x78]
test rbx, rbx
setne al
movzx eax, al
cmp edx, eax
je 0x1402e7276
xor edx, edx
test r12d, r12d
jle 0x1402e7276
cmp r9d, r12d
jl 0x1402e7289
mov eax, dword [rbx + 8]
mov r8d, edx
and r8d, 7
cmp r8d, eax
jae 0x1402e75d5
movzx r8d, byte [rbx + r8 + 0x10]
mov r10d, edx
movzx r10d, byte [rcx + r10 + 0x10]
lea r11d, [r8*8]
sar r8d, 5
or r8d, r11d
xor r8d, r10d
movzx r8d, r8b
mov r10d, edx
mov byte [rcx + r10 + 0x10], r8b
inc edx
cmp edx, r12d
jl 0x1402e7232
cmp dword [rbp - 0x54], 0
jne 0x1402e72dd
mov edi, r12d
mov r15, rcx
jmp 0x1402e7338
mov r8d, edx
and r8d, 7
mov eax, dword [rbx + 8]
cmp r8d, eax
jae 0x1402e75d5
mov eax, edx
and eax, 7
movzx r8d, byte [rbx + rax + 0x10]
cmp edx, r9d
jae 0x1402e75d5
mov eax, edx
movzx eax, byte [rcx + rax + 0x10]
lea r10d, [r8*8]
sar r8d, 5
or r8d, r10d
xor eax, r8d
movzx r8d, al
mov eax, edx
mov byte [rcx + rax + 0x10], r8b
inc edx
cmp edx, r12d
jl 0x1402e7289
jmp 0x1402e7276
cmp r9d, 2
jbe 0x1402e75d5
movzx edi, byte [rcx + 0x12]
movzx edx, byte [rcx + 0x10]
shl edx, 0x10
or edi, edx
cmp r9d, 3
jbe 0x1402e75d5
movzx edx, byte [rcx + 0x13]
shl edx, 8
or edi, edx
mov qword [rbp - 0x60], rcx
movzx edx, byte [rcx + 0x11]
shl edx, 0x18
or edi, edx
movsxd rdx, edi
lea rcx, [0x1405071b8]
call fcn.1400096c0
mov r15, rax
mov rcx, qword [rbp - 0x60]
mov r8, r15
mov edx, 4
call fcn.1402e7740
cmp dword [rbp - 0x48], 0
je 0x1402e7493
cmp r14d, 0x18887a
jne 0x1402e7493
movsxd rdx, edi
lea rcx, [0x140507280]
call fcn.1400096c0
xor ebx, ebx
test edi, edi
jle 0x1402e7396
test r15, r15
je 0x1402e74ca
cmp dword [r15 + 8], edi
jl 0x1402e74ca
cmp dword [rax + 8], edi
jl 0x1402e74ca
mov ecx, ebx
movzx r13d, byte [r15 + rcx + 0x10]
mov ecx, ebx
mov word [rax + rcx*2 + 0x10], r13w
inc ebx
cmp ebx, edi
jl 0x1402e7380
mov rcx, rax
call fcn.14018f910
mov qword [rbp - 0x40], rax
mov ecx, r14d
and ecx, 3
add ecx, 0x7f
shl ecx, 5
add r14d, ecx
cmp r14d, 0x18989a
je 0x1402e7433
mov r15d, r12d
add r15d, dword [rbp + 0x10]
xor r15d, 0xe4a78
mov ebx, r14d
and ebx, 0x50d
xor ebx, r15d
lea rcx, [0x140472570]
call fcn.1400095a0
mov r13, rax
mov dword [r13 + 0x20], 0x7fffffff
lea rcx, [0x140507280]
mov edx, reloc.WS2_32.dll_recv
call fcn.1400096c0
lea rcx, [r13 + 8]
mov rdx, rax
call fcn.1400097b0
mov edx, 0x58
mov rcx, r13
call fcn.1401e55f0
mov rcx, r13
call fcn.1401e4c60
mov r8, rax
mov ecx, ebx
mov edx, 0xffffffff
xor r9d, r9d
call fcn.1401b1ac0
mov qword [rbp - 0x40], rax
cmp dword [rbp - 0x4c], 0
sete cl
movzx ecx, cl
movzx eax, byte [rbp + 0x18]
test eax, ecx
je 0x1402e754c
mov rcx, qword [rbp - 0x40]
call fcn.14018e5c0
mov qword [rbp - 0x40], rax
mov rcx, qword [rsi + 0x20]
mov edx, dword [rbp + 0x10]
mov r8, qword [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.140321dd0
mov rcx, qword [rsi + 0x20]
cmp dword [rcx], ecx
call fcn.140321e30
cmp eax, 0xcd
jne 0x1402e754c
xor ecx, ecx
mov dword [rbp - 0x50], ecx
mov rcx, qword [rsi + 0x20]
mov qword [rbp - 0x88], rcx
jmp 0x1402e756b
lea rcx, [0x1404501c0]
cmp qword [rcx - 8], 0
jne 0x1402e75c1
mov rcx, qword [0x140bc3ef0]
mov rcx, qword [rcx + 0x10]
mov r9d, dword [r15 + 8]
mov rdx, r15
xor r8d, r8d
cmp dword [rcx], ecx
call fcn.1401eeca0
mov qword [rbp - 0x40], rax
jmp 0x1402e73a2
cmp ebx, dword [r15 + 8]
jae 0x1402e75d5
mov ecx, ebx
movzx r13d, byte [r15 + rcx + 0x10]
cmp ebx, dword [rax + 8]
jae 0x1402e75d5
mov ecx, ebx
mov word [rax + rcx*2 + 0x10], r13w
inc ebx
cmp ebx, edi
jl 0x1402e74ca
jmp 0x1402e7396
mov rcx, rsp
call fcn.1402e7681
nop
mov rax, qword [rbp - 0x90]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x140450508]
cmp qword [rcx - 8], 0
jne 0x1402e75cb
mov rsi, qword [0x140bc4378]
mov rcx, qword [rsi + 0x20]
lea r8, [rbp - 0x40]
mov edx, dword [rbp + 0x10]
cmp dword [rcx], ecx
call fcn.1403219c0
test eax, eax
je 0x1402e6c04
mov rax, qword [rbp - 0x40]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rsp
call fcn.1402e7681
jmp 0x1402e7519
call fcn.1401d2410
mov dword [rbp - 0x50], 1
cmp qword [rsi + 0x18], 0
je 0x1402e75a9
mov r14, qword [rsi + 0x18]
mov rcx, qword [r14 + 8]
xor eax, eax
mov qword [r14 + 8], rax
test rcx, rcx
je 0x1402e7597
mov rax, qword [rcx]
call qword [rax + 0x70]
xor ecx, ecx
mov qword [r14 + 0x10], rcx
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x10], rcx
mov qword [rsi + 8], rcx
mov rcx, qword [rbp - 0x88]
call fcn.1401d25a0
jmp 0x1402e754c
call fcn.140002e00
jmp 0x1402e6bfd
call fcn.1400024a0
jmp 0x1402e74a5
call fcn.140002e00
jmp 0x1402e752b
call fcn.1401b8820
int3