Function at 0x1800989e0
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
sub rsp, 0x38
mov qword [rax + 0x20], rbx
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov r12, rcx
mov r9, rcx
xor bpl, bpl
xor r13b, r13b
xor r10b, r10b
mov rdi, rdx
mov ecx, 0x25
xor eax, eax
rep stosb byte [rdi], al
mov r8, rdx
lea r14, [0x180144060]
mov dil, select
mov dword [rsp + 0x50], ebp
lea r11, [0x180000000]
nop word [rax + rax]
movzx edx, byte [r9]
inc r9
lea eax, [rdx - 0x26]
cmp eax, 0xcd
ja case.0x180098a67.44
cdqe
movzx eax, byte [r11 + rax + 0x99094]
mov ecx, dword [r11 + rax*4 + 0x99078]
add rcx, r11
jmp rcx
mov byte [r8 + 1], dl
or r10b, 4
jmp 0x180098aa3
mov byte [r8 + 1], dl
or r10b, 2
jmp 0x180098aa3
mov byte [r8 + 2], dl
or r10b, 0x20
jmp 0x180098aa3
mov byte [r8 + 3], dl
or r10b, 0x40
jmp 0x180098aa3
mov byte [r8 + 4], dl
or r10b, 8
jmp 0x180098aa3
mov byte [r8 + 5], dl
or r10b, 0x10
add dil, 0xff
jne 0x180098a40
movzx eax, r10b
movzx esi, r10b
mov ebx, 1
shl eax, 0x17
test r10b, r10b
mov qword [rsp], r15
mov dword [r8 + 0x21], eax
cmove esi, ebx
movzx eax, dl
and al, 0xf0
cmp al, 0x40
jne 0x180098b2f
or dword [r8 + 0x21], 0x40000000
movzx eax, dl
shr eax, 3
and eax, ebx
mov byte [r8 + 7], al
test al, al
je 0x180098afb
movzx eax, byte [r9]
movzx ebp, bpl
and al, 0xf8
cmp al, 0xb8
cmove ebp, ebx
mov dword [rsp + 0x50], ebp
movzx eax, dl
inc r9
shr al, 2
and al, bl
mov byte [r8 + 8], al
movzx eax, dl
and dl, bl
shr al, 1
mov byte [r8 + 0xa], dl
and al, bl
mov byte [r8 + 9], al
movzx edx, byte [r9 - 1]
movzx eax, dl
and al, 0xf0
cmp al, 0x40
jne 0x180098b2f
movzx r15d, dl
jmp 0x180098ba4
mov byte [r8 + 0xb], dl
cmp dl, 0xf
jne 0x180098b4c
movzx edx, byte [r9]
inc r9
lea r14, [0x1801440aa]
mov byte [r8 + 0xc], dl
jmp 0x180098b6a
lea eax, [rdx + 0x60]
cmp al, 3
ja 0x180098b6a
inc bpl
mov dword [rsp + 0x50], ebp
test sil, 0x10
je 0x180098b66
or sil, 8
jmp 0x180098b6a
and sil, 0xf7
movzx r10d, dl
movzx eax, dl
movzx r15d, dl
shr rax, 2
mov edi, r10d
movzx r11d, byte [rax + r14]
mov eax, r10d
and eax, 0x80000003
jge 0x180098b92
dec eax
or eax, 0xfffffffc
inc eax
movsxd rcx, eax
lea rax, [r14 + r11]
movzx r11d, byte [rcx + rax]
cmp r11b, 0xff
jne 0x180098bc6
or dword [r8 + 0x21], 0x3000
movzx r10d, dl
xor cl, cl
mov eax, r10d
movzx r11d, cl
mov edi, r10d
and eax, 0xfffffffd
cmp eax, 0x24
cmove r11d, ebx
xor bl, bl
test r11b, r11b
jns 0x180098be1
movzx eax, r11b
and eax, 0x7f
movzx ebx, word [rax + r14]
movzx r11d, bl
shr bx, 8
movzx r14d, byte [r8 + 0xc]
test r14b, r14b
je 0x180098c2c
movzx eax, dl
lea rdx, [0x180144060]
shr rax, 2
movzx ecx, byte [rax + rdx + 0x13c]
and r10d, 0x80000003
jge 0x180098c14
dec r10d
or r10d, 0xfffffffc
inc r10d
movsxd rax, r10d
add rcx, rax
test byte [rcx + rdx + 0x13c], sil
je 0x180098c2c
or dword [r8 + 0x21], 0x3000
test r11b, 1
je 0x180098f66
or dword [r8 + 0x21], 1
movzx r10d, byte [r9]
movzx r12d, r10b
movzx ebp, r10b
mov byte [r8 + 0xd], r10b
and bpl, 7
shr r10b, 3
shr r12b, 6
and r10b, 7
mov byte [r8 + 0xe], r12b
mov byte [rsp + 0x48], bpl
mov byte [r8 + 0x10], bpl
mov byte [r8 + 0xf], r10b
test bl, bl
je 0x180098c85
movzx ecx, r10b
movzx eax, bl
shl eax, cl
test al, al
jns 0x180098c85
or dword [r8 + 0x21], 0x3000
test r14b, r14b
jne 0x180098cd9
lea eax, [r15 + 0x27]
cmp al, 6
ja 0x180098cd9
lea eax, [r15 + 0x27]
lea rbx, [0x180144060]
cmp r12b, 3
jne 0x180098cbc
movzx ecx, al
movzx eax, r10b
lea rdx, [rax + rcx*8]
movzx ecx, bpl
movzx eax, byte [rdx + rbx + 0x104]
jmp 0x180098ccb
movzx eax, al
movzx ecx, r10b
movzx eax, byte [rax + rbx + 0xfd]
shl al, cl
test al, al
jns 0x180098cd9
or dword [r8 + 0x21], 0x3000
lea rdx, [0x180144238]
test sil, 0x20
je 0x180098d4c
cmp r12b, 3
jne 0x180098cf6
or dword [r8 + 0x21], 0x9000
jmp 0x180098d4c
movzx ebp, r15b
test r14b, r14b
je 0x180098d0b
lea rcx, [0x180144226]
mov rbx, rdx
jmp 0x180098d21
movzx ebp, r15b
lea rcx, [0x18014420e]
lea rbx, [0x180144226]
and bpl, 0xfe
cmp byte [rcx], bpl
je 0x180098d31
add rcx, 2
cmp rcx, rbx
jne 0x180098d21
jmp 0x180098d3f
movzx eax, byte [rcx + 1]
movzx ecx, r10b
shl eax, cl
test al, al
jns 0x180098d47
or dword [r8 + 0x21], 0x9000
movzx ebp, byte [rsp + 0x48]
mov ecx, edi
test r14b, r14b
je 0x180098d94
sub ecx, 0x20
je 0x180098d78
dec ecx
je 0x180098d64
dec ecx
je 0x180098d78
dec ecx
jne 0x180098da9
lea eax, [r10 - 4]
mov r12b, 3
cmp al, 1
ja 0x180098e3c
jmp 0x180098e34
mov r12b, 3
cmp r10b, 4
ja 0x180098e34
cmp r10b, 1
jne 0x180098e3c
jmp 0x180098e34
sub ecx, 0x8c
je 0x180098e2e
cmp ecx, 2
je 0x180098e28
cmp r12b, 3
jne 0x180098dfb
test r14b, r14b
je 0x180098dc4
lea rdx, [0x180144247]
lea rcx, [0x180144271]
jmp 0x180098dd0
lea rcx, [0x180144247]
nop dword [rax + rax]
movzx eax, byte [rdx]
inc rdx
cmp al, r15b
je 0x180098de6
add rdx, 2
cmp rdx, rcx
jne 0x180098dd0
jmp 0x180098e3c
test byte [rdx], sil
je 0x180098e3c
movzx eax, byte [rdx + 1]
movzx ecx, r10b
shl eax, cl
test al, al
jns 0x180098e34
jmp 0x180098e3c
test r14b, r14b
je 0x180098e3c
sub edi, 0x50
je 0x180098e18
sub edi, 0x75
je 0x180098e34
sub edi, 0x11
je 0x180098e20
dec edi
je 0x180098e18
cmp edi, 0x20
jne 0x180098e3c
test sil, 9
jne 0x180098e34
jmp 0x180098e3c
test sil, 6
jne 0x180098e34
jmp 0x180098e3c
cmp r10b, 1
je 0x180098e34
cmp r10b, 5
jbe 0x180098e3c
or dword [r8 + 0x21], 0x11000
movzx edx, byte [r9 + 1]
add r9, 2
cmp r10b, 1
ja 0x180098e61
cmp r15b, 0xf6
jne 0x180098e57
or r11b, 2
jmp 0x180098e61
cmp r15b, 0xf7
jne 0x180098e61
or r11b, 0x10
movzx ecx, r12b
mov edi, 4
test r12b, r12b
je 0x180098e8b
dec ecx
je 0x180098e86
dec ecx
jne 0x180098ea8
mov r13b, 2
test sil, 0x10
jne 0x180098ea8
movzx r13d, dil
jmp 0x180098ea8
mov r13b, 1
jmp 0x180098ea8
test sil, 0x10
je 0x180098e9c
cmp bpl, 6
jne 0x180098ea8
mov r13b, 2
jmp 0x180098ea8
movzx r13d, r13b
cmp bpl, 5
cmove r13d, edi
cmp r12b, 3
je 0x180098eef
cmp bpl, dil
jne 0x180098eef
or dword [r8 + 0x21], 2
movzx eax, dl
inc r9
shr al, 6
mov byte [r8 + 0x11], dl
mov byte [r8 + 0x12], al
movzx eax, dl
shr al, 3
and al, 7
mov byte [r8 + 0x13], al
movzx eax, dl
and eax, 7
mov byte [r8 + 0x14], al
cmp al, 5
jne 0x180098eef
test r12b, 1
movzx r13d, r13b
cmove r13d, edi
movzx ecx, r13b
dec r9
dec ecx
je 0x180098f47
dec ecx
je 0x180098f24
cmp ecx, 2
jne 0x180098f54
or dword [r8 + 0x21], 0x100
mov eax, dword [r9]
mov ebp, dword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov dword [r8 + 0x1d], eax
movzx eax, r13b
add r9, rax
jmp 0x180098f74
or dword [r8 + 0x21], 0x80
movzx eax, word [r9]
mov ebp, dword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov word [r8 + 0x1d], ax
movzx eax, r13b
add r9, rax
jmp 0x180098f74
or dword [r8 + 0x21], 0x40
movzx eax, byte [r9]
mov byte [r8 + 0x1d], al
mov ebp, dword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
movzx eax, r13b
add r9, rax
jmp 0x180098f74
test sil, 0x20
je 0x180098f74
or dword [r8 + 0x21], 0x9000
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x58]
test r11b, 0x10
je 0x180098fe5
test r11b, 0x40
je 0x180098fb8
test sil, 8
je 0x180099019
or dword [r8 + 0x21], 0x208
movzx eax, word [r9]
add r9, 2
mov word [r8 + 0x15], ax
jmp 0x180099047
test bpl, bpl
je 0x180098fcf
or dword [r8 + 0x21], 0x20
mov rax, qword [r9]
add r9, 8
mov qword [r8 + 0x15], rax
jmp 0x180098fe5
test sil, 8
jne 0x180098feb
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, 4
mov dword [r8 + 0x15], eax
test r11b, 4
je 0x180098ffd
or dword [r8 + 0x21], 8
movzx eax, word [r9]
add r9, 2
mov word [r8 + 0x15], ax
test r11b, 2
je 0x180099013
or dword [r8 + 0x21], 4
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
test r11b, 0x40
je 0x18009902e
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
add r9, 4
mov dword [r8 + 0x15], eax
jmp 0x180099047
test r11b, 0x20
je 0x180099047
or dword [r8 + 0x21], 0x204
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
sub r9, r12
mov r12, qword [rsp + 0x18]
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x18009906e
or dword [r8 + 0x21], 0x5000
mov byte [r8], reloc.WS2_32.dll_ntohs
movzx eax, byte [r8]
add rsp, 0x38
ret