Function at 0x180016130
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
sub rsp, 0x38
mov qword [rax + 0x20], rbx
xor r10b, r10b
mov qword [rax - 8], rbp
lea rbx, [0x180000000]
mov qword [rax - 0x10], rsi
xor bpl, bpl
mov qword [rax - 0x18], rdi
mov r8, rdx
mov qword [rax - 0x28], r13
mov r9, rcx
mov qword [rax - 0x30], r14
xor r13b, r13b
xor eax, eax
mov qword [rsp], r15
mov qword [rdx], rax
lea r14, [0x18046e960]
mov qword [rdx + 8], rax
mov r11b, reloc.WS2_32.dll_recv
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
mov dword [rdx + 0x20], eax
mov byte [rdx + 0x24], al
mov dword [rsp + 0x50], ebp
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r9]
inc r9
lea eax, [rdx - 0x26]
cmp eax, 0xcd
ja case.0x1800161c5.44
cdqe
movzx eax, byte [rbx + rax + 0x167ec]
mov ecx, dword [rbx + rax*4 + 0x167d0]
add rcx, rbx
jmp rcx
mov byte [r8 + 1], dl
or r10b, 4
jmp 0x180016201
mov byte [r8 + 1], dl
or r10b, 2
jmp 0x180016201
mov byte [r8 + 2], dl
or r10b, 0x20
jmp 0x180016201
mov byte [r8 + 3], dl
or r10b, 0x40
jmp 0x180016201
mov byte [r8 + 4], dl
or r10b, 8
jmp 0x180016201
mov byte [r8 + 5], dl
or r10b, 0x10
add r11b, 0xff
jne 0x1800161a0
movzx eax, r10b
mov edi, 1
shl eax, 0x17
test r10b, r10b
mov dword [r8 + 0x21], eax
movzx esi, r10b
movzx eax, dl
cmove esi, edi
mov qword [rsp + 0x18], r12
and al, 0xf0
cmp al, 0x40
jne 0x180016290
or dword [r8 + 0x21], 0x40000000
movzx eax, dl
shr eax, 3
and eax, edi
mov byte [r8 + 7], al
test al, al
je 0x18001625a
movzx eax, byte [r9]
and al, 0xf8
movzx ebp, bpl
cmp al, 0xb8
cmove ebp, edi
mov dword [rsp + 0x50], ebp
movzx eax, dl
shr al, 2
and al, dil
mov byte [r8 + 8], al
movzx eax, dl
shr al, 1
and dl, dil
and al, dil
mov byte [r8 + 0xa], dl
movzx edx, byte [r9]
inc r9
mov byte [r8 + 9], al
movzx eax, dl
and al, 0xf0
cmp al, 0x40
jne 0x180016290
movzx r12d, dl
jmp 0x180016303
mov byte [r8 + 0xb], dl
cmp dl, 0xf
jne 0x1800162ad
movzx edx, byte [r9]
lea r14, [0x18046e9aa]
mov byte [r8 + 0xc], dl
inc r9
jmp 0x1800162cb
lea eax, [rdx + 0x60]
cmp al, 3
ja 0x1800162cb
inc bpl
mov dword [rsp + 0x50], ebp
test sil, 0x10
je 0x1800162c7
or sil, 8
jmp 0x1800162cb
and sil, 0xf7
movzx r11d, dl
movzx r12d, dl
movzx eax, dl
mov r10d, r11d
shr rax, 2
movzx ebx, byte [rax + r14]
mov eax, r11d
and eax, 0x80000003
jge 0x1800162f3
dec eax
or eax, 0xfffffffc
inc eax
movsxd rcx, eax
lea rax, [r14 + rbx]
movzx ebx, byte [rcx + rax]
cmp bl, 0xff
jne 0x180016323
or dword [r8 + 0x21], 0x3000
xor cl, cl
movzx r11d, dl
mov eax, r11d
movzx ebx, cl
and eax, 0xfffffffd
mov r10d, r11d
cmp eax, 0x24
cmove ebx, edi
xor dil, dil
test bl, bl
jns 0x18001633d
movzx eax, bl
and eax, 0x7f
movzx edi, word [rax + r14]
movzx ebx, dil
shr di, 8
movzx r15d, byte [r8 + 0xc]
test r15b, r15b
je 0x180016388
movzx eax, dl
lea rdx, [0x18046e960]
shr rax, 2
movzx ecx, byte [rax + rdx + 0x13c]
and r11d, 0x80000003
jge 0x180016370
dec r11d
or r11d, 0xfffffffc
inc r11d
movsxd rax, r11d
add rcx, rax
test byte [rcx + rdx + 0x13c], sil
je 0x180016388
or dword [r8 + 0x21], 0x3000
test bl, 1
je 0x1800166c0
movzx r11d, byte [r9]
or dword [r8 + 0x21], 1
movzx r14d, r11b
movzx ebp, r11b
mov byte [r8 + 0xd], r11b
and bpl, 7
shr r11b, 3
and r11b, 7
shr r14b, 6
mov byte [r8 + 0xe], r14b
mov byte [rsp + 0x48], bpl
mov byte [r8 + 0x10], bpl
mov byte [r8 + 0xf], r11b
test dil, dil
je 0x1800163e2
movzx ecx, r11b
movzx eax, dil
shl eax, cl
test al, al
jns 0x1800163e2
or dword [r8 + 0x21], 0x3000
test r15b, r15b
jne 0x180016438
lea eax, [r12 + 0x27]
cmp al, 6
ja 0x180016438
lea eax, [r12 + 0x27]
lea rdi, [0x18046e960]
cmp r14b, 3
jne 0x18001641b
movzx ecx, al
movzx eax, r11b
lea rdx, [rax + rcx*8]
movzx ecx, bpl
movzx eax, byte [rdx + rdi + 0x104]
jmp 0x18001642a
movzx eax, al
movzx ecx, r11b
movzx eax, byte [rax + rdi + 0xfd]
shl al, cl
test al, al
jns 0x180016438
or dword [r8 + 0x21], 0x3000
lea rdx, [0x18046eb38]
test sil, 0x20
je 0x1800164ab
cmp r14b, 3
jne 0x180016455
or dword [r8 + 0x21], 0x9000
jmp 0x1800164ab
movzx ebp, r12b
test r15b, r15b
je 0x18001646a
lea rcx, [0x18046eb26]
mov rdi, rdx
jmp 0x180016480
movzx ebp, r12b
lea rcx, [0x18046eb0e]
and bpl, 0xfe
lea rdi, [0x18046eb26]
cmp byte [rcx], bpl
je 0x180016490
add rcx, 2
cmp rcx, rdi
jne 0x180016480
jmp 0x18001649e
movzx eax, byte [rcx + 1]
movzx ecx, r11b
shl eax, cl
test al, al
jns 0x1800164a6
or dword [r8 + 0x21], 0x9000
movzx ebp, byte [rsp + 0x48]
mov ecx, r10d
test r15b, r15b
je 0x1800164f7
sub ecx, 0x20
je 0x1800164db
sub ecx, 1
je 0x1800164c7
sub ecx, 1
je 0x1800164db
cmp ecx, 1
jne 0x18001650c
lea eax, [r11 - 4]
mov r14b, 3
cmp al, 1
ja 0x1800165a2
jmp 0x18001659a
mov r14b, 3
cmp r11b, 4
ja 0x18001659a
cmp r11b, 1
jne 0x1800165a2
jmp 0x18001659a
sub ecx, 0x8c
je 0x180016594
cmp ecx, 2
je 0x18001658e
cmp r14b, 3
jne 0x18001655b
test r15b, r15b
je 0x180016527
lea rdx, [0x18046eb47]
lea rcx, [0x18046eb71]
jmp 0x180016530
lea rcx, [0x18046eb47]
nop
movzx eax, byte [rdx]
inc rdx
cmp al, r12b
je 0x180016546
add rdx, 2
cmp rdx, rcx
jne 0x180016530
jmp 0x1800165a2
test byte [rdx], sil
je 0x1800165a2
movzx eax, byte [rdx + 1]
movzx ecx, r11b
shl eax, cl
test al, al
jns 0x18001659a
jmp 0x1800165a2
test r15b, r15b
je 0x1800165a2
sub r10d, 0x50
je 0x18001657e
sub r10d, 0x75
je 0x18001659a
sub r10d, 0x11
je 0x180016586
sub r10d, 1
je 0x18001657e
cmp r10d, 0x20
jne 0x1800165a2
test sil, 9
jne 0x18001659a
jmp 0x1800165a2
test sil, 6
jne 0x18001659a
jmp 0x1800165a2
cmp r11b, 1
je 0x18001659a
cmp r11b, 5
jbe 0x1800165a2
or dword [r8 + 0x21], 0x11000
movzx edx, byte [r9 + 1]
add r9, 2
cmp r11b, 1
ja 0x1800165c5
cmp r12b, 0xf6
jne 0x1800165bc
or bl, 2
jmp 0x1800165c5
cmp r12b, 0xf7
jne 0x1800165c5
or bl, 0x10
movzx ecx, r14b
mov r10d, 4
test r14b, r14b
je 0x1800165f2
sub ecx, 1
je 0x1800165ed
cmp ecx, 1
jne 0x18001660f
mov r13b, 2
test sil, 0x10
jne 0x18001660f
movzx r13d, r10b
jmp 0x18001660f
mov r13b, 1
jmp 0x18001660f
test sil, 0x10
je 0x180016603
cmp bpl, 6
jne 0x18001660f
mov r13b, 2
jmp 0x18001660f
cmp bpl, 5
movzx r13d, r13b
cmove r13d, r10d
cmp r14b, 3
je 0x180016656
cmp bpl, r10b
jne 0x180016656
or dword [r8 + 0x21], 2
movzx eax, dl
shr al, 6
inc r9
mov byte [r8 + 0x12], al
movzx eax, dl
shr al, 3
and al, 7
mov byte [r8 + 0x11], dl
mov byte [r8 + 0x13], al
movzx eax, dl
and eax, 7
mov byte [r8 + 0x14], al
cmp al, 5
jne 0x180016656
and r14b, 1
movzx r13d, r13b
cmove r13d, r10d
dec r9
movzx ecx, r13b
sub ecx, 1
je 0x1800166a6
sub ecx, 1
je 0x180016688
cmp ecx, 2
jne 0x1800166b3
mov eax, dword [r9]
or dword [r8 + 0x21], 0x100
mov ebp, dword [rsp + 0x50]
mov dword [r8 + 0x1d], eax
movzx eax, r13b
add r9, rax
jmp 0x1800166ce
movzx eax, word [r9]
or dword [r8 + 0x21], 0x80
mov ebp, dword [rsp + 0x50]
mov word [r8 + 0x1d], ax
movzx eax, r13b
add r9, rax
jmp 0x1800166ce
movzx eax, byte [r9]
or dword [r8 + 0x21], 0x40
mov byte [r8 + 0x1d], al
mov ebp, dword [rsp + 0x50]
movzx eax, r13b
add r9, rax
jmp 0x1800166ce
test sil, 0x20
je 0x1800166ce
or dword [r8 + 0x21], 0x9000
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
test bl, 0x10
je 0x18001673d
test bl, 0x40
je 0x180016710
test sil, 8
je 0x18001676e
movzx eax, word [r9]
or dword [r8 + 0x21], 0x208
mov word [r8 + 0x15], ax
add r9, 2
jmp 0x18001679b
test bpl, bpl
je 0x180016727
mov rax, qword [r9]
or dword [r8 + 0x21], 0x20
mov qword [r8 + 0x15], rax
add r9, 8
jmp 0x18001673d
test sil, 8
jne 0x180016742
mov eax, dword [r9]
or dword [r8 + 0x21], 0x10
add r9, 4
mov dword [r8 + 0x15], eax
test bl, 4
je 0x180016754
movzx eax, word [r9]
or dword [r8 + 0x21], 8
mov word [r8 + 0x15], ax
add r9, 2
test bl, 2
je 0x180016769
movzx eax, byte [r9]
or dword [r8 + 0x21], 4
mov byte [r8 + 0x15], al
inc r9
test bl, 0x40
je 0x180016783
mov eax, dword [r9]
or dword [r8 + 0x21], 0x210
add r9, 4
mov dword [r8 + 0x15], eax
jmp 0x18001679b
test bl, 0x20
je 0x18001679b
movzx eax, byte [r9]
or dword [r8 + 0x21], 0x204
mov byte [r8 + 0x15], al
inc r9
sub r9, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x1800167c4
or dword [r8 + 0x21], 0x5000
mov byte [r8], reloc.WS2_32.dll_ntohs
movzx eax, byte [r8]
add rsp, 0x38
ret