joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140146970
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push r14
sub rsp, 0x60
mov rbx, rdx
mov r14, rcx
mov rax, qword [rcx + 8]
xor edi, edi
test al, 1
jne 0x1401469d2
and rax, 0xfffffffffffffffc
mov rax, qword [rax + 0x10]
lea rsi, [rax + 0x28]
test rax, rax
cmove rsi, rdi
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401469d2
nop
cmp qword [rax], rsi
je 0x140146a92
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401469c0
mov rdx, qword [r14]
mov r8d, 1
xchg dword [rdx + 0x408], r8d
test r8d, r8d
je 0x1401469f4
mov ecx, 0x78
call fcn.1401ae1f0
mov rdx, rax
mov qword [rdx + 0x20], rdi
lea rax, [0x14014dfb0]
mov qword [rdx + 0x28], rax
mov qword [rdx], rdi
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rdi
mov dword [rdx + 0x30], edi
mov rcx, qword [rbx]
mov qword [rdx + 0x38], rcx
mov rax, qword [rbx + 8]
mov qword [rdx + 0x40], rax
mov qword [rdx + 0x48], rdi
mov qword [rdx + 0x50], rdi
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x48], rax
mov rax, qword [rbx + 0x18]
mov qword [rdx + 0x50], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov rax, qword [rbx + 0x20]
mov qword [rbx + 0x20], rdi
mov qword [rdx + 0x58], rax
mov byte [rdx + 0x60], 0
movzx eax, byte [rbx + 0x30]
mov byte [rdx + 0x68], al
mov rax, qword [r14]
mov qword [rdx + 0x70], rax
mov rax, qword [r14 + 8]
and rax, 0xfffffffffffffffc
mov rcx, qword [rax + 0x10]
lock inc dword [rcx + 0x30]
call fcn.1401257a0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
cmp qword [rax + 8], rdi
je 0x1401469d2
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov rax, qword [rbx + 0x20]
mov qword [rbx + 0x20], rdi
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], dil
movzx eax, byte [rbx + 0x30]
mov byte [rsp + 0x50], al
nop
lea rcx, [rsp + 0x28]
call fcn.140149250
nop
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x140146b40
mov rcx, rbx
call fcn.14014d180
test rbx, rbx
je 0x140146b40
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140146b45
mov rcx, qword [rsp + 0x40]
mov r8, qword [rcx + 0xc8]
test r8, r8
je 0x140146b34
mov rax, qword [r8]
mov rdx, rcx
mov rcx, r8
call qword [rax]
jmp 0x140146b45
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x140146b45
mov edi, 0xffffffff
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140146b7d
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140146b7d
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140146b7d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140146a7b
Function at 0x140146bc0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov rsi, rcx
cmp qword [rcx + 0x20], 0
je 0x140146d8f
mov rcx, qword [rcx + 0x28]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140146c2c
lea rcx, [0x140145820]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rdx
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea rdx, [rbp - 0x60]
mov rcx, rsi
call rax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov r14, qword [rcx + 0x10]
mov rax, qword [rdx]
mov qword [rbp - 0x40], rax
mov rax, qword [rdx + 8]
mov qword [rbp - 0x38], rax
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x30], rax
xor ebx, ebx
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rbx
mov rax, qword [rdx + 0x18]
mov qword [rbp - 0x28], rax
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x20], rax
mov qword [rdx + 0x18], rbx
mov qword [rdx + 0x20], rbx
movups xmm0, xmmword [rdx + 0x28]
movups xmmword [rbp - 0x18], xmm0
lea rax, [rbp - 0x40]
mov qword [rbp + 0x30], rax
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140146c90
mov rdx, qword [rax + 8]
jmp 0x140146c93
mov rdx, rbx
mov r9d, 8
mov r8d, 0x48
movzx ecx, byte [rbp + 0x20]
call fcn.1400aa770
mov rdx, rax
mov rcx, qword [rbp - 0x40]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
mov rcx, qword [rbp - 0x38]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x30]
mov qword [rax + 0x18], rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], rbx
mov rax, qword [rbp - 0x28]
mov qword [rdx + 0x20], rax
mov rax, qword [rbp - 0x20]
mov qword [rdx + 0x28], rax
movdqu xmmword [rbp - 0x28], xmm0
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rdx + 0x30], xmm0
lea rax, [0x140145830]
mov qword [rdx], rax
mov qword [rbp + 0x20], rdx
mov edi, 0xffffffff
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140146d3d
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140146d3d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140146d3d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x140146d6e
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140146d6e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140146d6e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rdx, [rbp + 0x20]
mov rcx, rsi
call r14
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140146d8a
mov rax, qword [rcx]
xor edx, edx
call rax
nop
jmp 0x140146c14
lea rcx, [rbp - 0x60]
call fcn.1400d7910
nop
lea rcx, [rbp - 0x60]
call fcn.1400d01d0
int3
Function at 0x140148930
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rbx, rdx
cmp qword [rcx + 0x20], 0
jne 0x140148999
cmp qword [rcx + 0x58], 0
jne 0x140148999
movups xmm0, xmmword [rdx + 0x1b0]
movaps xmmword [rsp + 0x20], xmm0
xor r9d, r9d
mov r8, qword [rdx + 0x1c0]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140149cf0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rsi, [rcx + 0x38]
cmp qword [rsi + 0x20], 0
je 0x140148aef
mov rcx, qword [rsi + 0x28]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x1401489dd
lea rcx, [0x140145ac0]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
mov rcx, rsi
call rax
jmp 0x140148981
mov r14, qword [rcx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.140147df0
movups xmm0, xmmword [rbx + 0x1b0]
movups xmmword [rbp + 0xf0], xmm0
mov rax, qword [rbx + 0x1c0]
mov qword [rbp + 0x100], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x148], rax
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140148a2a
mov rdx, qword [rax + 8]
jmp 0x140148a2c
xor edx, edx
mov r9d, 8
mov r8d, 0x1d8
movzx ecx, byte [rbp + 0x130]
call fcn.1400aa770
mov rdi, rax
lea rdx, [rsp + 0x40]
lea rcx, [rax + 8]
call fcn.140147df0
movups xmm0, xmmword [rbp + 0xf0]
movups xmmword [rdi + 0x1b8], xmm0
mov rcx, qword [rbp + 0x100]
mov qword [rdi + 0x1c8], rcx
lea rax, [0x140145af0]
mov qword [rdi], rax
mov qword [rbp + 0x130], rdi
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140148aa3
mov eax, 0xffffffff
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x140148aa3
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
cmp byte [rbp + 0x70], 0
je 0x140148abe
cmp qword [rbp + 0x58], 0
je 0x140148abe
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax]
lea rcx, [rbp + 0x38]
call rdx
nop
lea rcx, [rbp + 0x18]
call fcn.1400e1380
nop
lea rdx, [rbp + 0x130]
mov rcx, rsi
call r14
nop
mov rcx, qword [rbp + 0x130]
test rcx, rcx
je 0x140148aea
mov rax, qword [rcx]
xor edx, edx
call rax
nop
jmp 0x140148981
lea rcx, [rsp + 0x20]
call fcn.1400d7910
nop
lea rcx, [rsp + 0x20]
call fcn.1400d01d0
int3
Function at 0x140148ff0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov r14, rcx
xor r12d, r12d
mov rbx, qword [rcx]
mov r8, qword [rcx + 0x30]
lea rdx, [rcx + 0x20]
cmp qword [rcx + 0x38], 0xf
jbe 0x140149022
mov rdx, qword [rcx + 0x20]
movabs r9, 0xcbf29ce484222325
mov rcx, r12
test r8, r8
je 0x140149053
movabs r10, 0x100000001b3
nop
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140149040
lea r8, [r14 + 0x20]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140005c30
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14014908b
cmp rcx, qword [rbx + 8]
je 0x14014908b
mov rax, qword [rcx + 0x30]
mov byte [rax + 0xe8], 1
mov rcx, qword [rcx + 0x30]
add rcx, 0x20
call fcn.14010bcd0
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 0x48]
mov rsi, qword [rcx]
mov ecx, 0x100
call fcn.1401ae1f0
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1401490ef
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_asio2::detail::user_timer_obj_.0
mov qword [rdi], rax
lea rdx, [r14 + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140018550
mov r8, rsi
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x10]
call fcn.1401482b0
jmp 0x1401490f2
mov rdi, r12
lea rsi, [rdi + 0x10]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rdi
lea rbp, [r14 + 0x58]
lea rbx, [rdi + 0xa8]
cmp rbx, rbp
je 0x140149134
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140149129
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], r12
mov rdx, rbp
mov rcx, rbx
call fcn.140020520
imul rax, qword [r14 + 0x40], 0x3b9aca00
mov qword [rdi + 0xe8], rax
mov rax, qword [r14 + 0x48]
mov qword [rdi + 0xf0], rax
lea r8, [r14 + 0x20]
lea rdx, [rsp + 0x40]
mov rcx, qword [r14]
call fcn.140144170
mov rcx, qword [rax]
test rdi, rdi
je 0x140149170
lock inc dword [rdi + 8]
mov rsi, qword [rsp + 0x20]
mov qword [rcx + 0x30], rsi
mov rbx, qword [rcx + 0x38]
mov qword [rcx + 0x38], rdi
test rbx, rbx
je 0x1401491b2
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401491ad
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x1401491ad
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rsp + 0x20]
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 0x48]
add rcx, 0x18
lea rax, [rsi + 0x20]
mov qword [rsp + 0x90], rax
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x40]
call fcn.140145f00
mov rcx, qword [r14 + 8]
add rcx, 0x190
mov r9, qword [r14 + 0x50]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x48], rax
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r12
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.140144480
nop
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x140149b00
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x14032aa00]
xor rax, rsp
mov qword [rbp + 0x140], rax
lea rsi, [rcx + 0xf8]
mov rdx, rcx
lea rcx, [rbp + 0x48]
call fcn.140147ec0
nop
cmp qword [rsi + 0x20], 0
je 0x140149ccb
mov rcx, qword [rsi + 0x28]
mov rax, qword [rcx + 0x18]
mov edi, 0xffffffff
test rax, rax
je 0x140149b8e
lea rcx, [0x1401456e0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x48]
mov qword [rsp + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rsi
call rax
jmp 0x140149c58
mov r14, qword [rcx + 0x10]
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140147ec0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140149bc1
mov rdx, qword [rax + 8]
jmp 0x140149bc3
xor edx, edx
mov r9d, 8
mov r8d, 0x108
movzx ecx, byte [rsp + 0x20]
call fcn.1400aa770
mov rbx, rax
lea rcx, [rax + 8]
lea rdx, [rsp + 0x50]
call fcn.140147ec0
lea rax, [0x140145720]
mov qword [rbx], rax
mov qword [rsp + 0x28], rbx
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140149c14
mov eax, edi
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x140149c14
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
cmp byte [rbp - 0x38], 0
je 0x140149c2f
cmp qword [rbp - 0x50], 0
je 0x140149c2f
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
lea rcx, [rbp - 0x70]
call rdx
nop
lea rcx, [rsp + 0x70]
call fcn.1400e1380
nop
lea rdx, [rsp + 0x28]
mov rcx, rsi
call r14
nop
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140149c58
mov rax, qword [rcx]
xor edx, edx
call rax
nop
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x140149c74
lock xadd dword [rcx + 0xc], edi
cmp edi, 1
jne 0x140149c74
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
cmp byte [rbp + 0xc0], 0
je 0x140149c9b
cmp qword [rbp + 0xa8], 0
je 0x140149c9b
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rax]
lea rcx, [rbp + 0x88]
call rdx
nop
lea rcx, [rbp + 0x68]
call fcn.1400e1380
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.1401ae6a0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rcx, [rsp + 0x30]
call fcn.1400d7910
nop
lea rcx, [rsp + 0x30]
call fcn.1400d01d0
int3
Function at 0x14014d610
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x14014d7ef
lea rax, [rdx - 1]
mov qword [rsp + 0x38], rdi
mov rdi, qword [rsi + 8]
or rax, rbx
bsr rcx, rax
mov r8, rdi
mov qword [rsp + 0x40], r14
inc ecx
shl rbx, cl
lea rcx, [rsi + 0x18]
lea rdx, [rbx + rbx]
call fcn.14001f5e0
mov qword [rsi + 0x38], rbx
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
cmp rcx, rdi
je 0x14014d7b4
mov qword [rsp + 0x30], rbp
mov rax, rcx
movabs rbp, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x14]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x15]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x16]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x17]
imul r9, rbx
xor r9, rdx
imul r9, rbx
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rdi
jne 0x14014d72c
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x14014d7a3
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x14014d769
mov r10, qword [rdx]
cmp r10, rax
je 0x14014d763
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x14014d7a3
cmp r9, rdx
je 0x14014d77f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x14014d7c9
cmp r9, rdx
jne 0x14014d770
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rdi
jne 0x14014d6b0
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x14014d7a3
lea rcx, str.invalid_hash_bucket_count
call fcn.1400d02c0
int3
Function at 0x140150620
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push r14
sub rsp, 0x50
mov rbx, rdx
mov r14, rcx
mov rax, qword [rcx + 8]
xor edi, edi
test al, 1
jne 0x14015067e
and rax, 0xfffffffffffffffc
mov rax, qword [rax + 0x10]
lea rsi, [rax + 0x28]
test rax, rax
cmove rsi, rdi
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14015067e
nop
cmp qword [rax], rsi
je 0x14015069c
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140150670
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140150734
mov rdx, qword [rax + 8]
jmp 0x140150737
cmp qword [rax + 8], rdi
je 0x14015067e
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
nop
lea rcx, [rsp + 0x20]
call fcn.140152960
nop
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140150717
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140150717
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140150717
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x1401507c0
mov rdx, rdi
mov r9d, 8
mov r8d, 0x60
movzx ecx, byte [rsp + 0x60]
call fcn.1400aa650
mov rdx, rax
mov qword [rax + 0x20], rdi
lea rax, [0x1401536a0]
mov qword [rdx + 0x28], rax
mov qword [rdx], rdi
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rdi
mov dword [rdx + 0x30], edi
mov rcx, qword [rbx]
mov qword [rdx + 0x38], rcx
mov rcx, qword [rbx + 8]
mov qword [rdx + 0x40], rcx
mov qword [rdx + 0x48], rdi
mov qword [rdx + 0x50], rdi
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x48], rax
mov rax, qword [rbx + 0x18]
mov qword [rdx + 0x50], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov rcx, qword [r14 + 8]
movzx r8d, cl
shr r8b, 1
and r8b, 1
and rcx, 0xfffffffffffffffc
mov rcx, qword [rcx + 0x10]
call fcn.140125830
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret
Function at 0x1401507e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push r14
sub rsp, 0x40
mov rbx, rdx
mov r14, rcx
mov rax, qword [rcx + 8]
xor edi, edi
test al, 1
jne 0x14015083e
and rax, 0xfffffffffffffffc
mov rax, qword [rax + 0x10]
lea rsi, [rax + 0x28]
test rax, rax
cmove rsi, rdi
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14015083e
nop
cmp qword [rax], rsi
je 0x14015085c
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140150830
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401508f3
mov rdx, qword [rax + 8]
jmp 0x1401508f6
cmp qword [rax + 8], rdi
je 0x14015083e
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
nop
lea rcx, [rsp + 0x20]
call fcn.1400f59f0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1401508d6
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401508d6
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1401508d6
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140150980
mov rdx, rdi
mov r9d, 8
mov r8d, 0x60
movzx ecx, byte [rsp + 0x50]
call fcn.1400aa650
mov rdx, rax
mov qword [rax + 0x20], rdi
lea rax, [0x14010ffc0]
mov qword [rdx + 0x28], rax
mov qword [rdx], rdi
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rdi
mov dword [rdx + 0x30], edi
mov rcx, qword [rbx]
mov qword [rdx + 0x38], rcx
mov rcx, qword [rbx + 8]
mov qword [rdx + 0x40], rcx
mov qword [rdx + 0x48], rdi
mov qword [rdx + 0x50], rdi
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x48], rax
mov rax, qword [rbx + 0x18]
mov qword [rdx + 0x50], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov rcx, qword [r14 + 8]
movzx r8d, cl
shr r8b, 1
and r8b, 1
and rcx, 0xfffffffffffffffc
mov rcx, qword [rcx + 0x10]
call fcn.140125830
nop
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x1401509a0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r14, rdx
mov rdi, rcx
mov rax, qword [rcx + 8]
xor esi, esi
test al, 1
jne 0x1401509f2
and rax, 0xfffffffffffffffc
mov rax, qword [rax + 0x10]
lea rbx, [rax + 0x28]
test rax, rax
cmove rbx, rsi
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401509f2
cmp qword [rax], rbx
je 0x140150a10
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401509e4
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140150af7
mov rdx, qword [rax + 8]
jmp 0x140150afa
cmp qword [rax + 8], rsi
je 0x1401509f2
mov r15, qword [r14]
mov rcx, qword [r14 + 8]
mov rbx, qword [r14 + 0x10]
mov qword [rsp + 0x20], rbx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov rdi, qword [r14 + 0x20]
mov qword [rsp + 0x78], rdi
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x20], rsi
nop
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140150a65
add rcx, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x70]
call fcn.14011b110
mov rcx, qword [r15 + 0x28]
call fcn.14010bcd0
nop
mov esi, 0xffffffff
test rdi, rdi
je 0x140150a99
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140150a99
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140150a99
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
test rbx, rbx
je 0x140150ac5
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140150ac5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x140150ac5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140150b9c
mov rdx, rsi
mov r9d, 8
mov r8d, 0x68
movzx ecx, byte [rsp + 0x60]
call fcn.1400aa650
mov rdx, rax
mov qword [rax + 0x20], rsi
lea rax, [0x140153770]
mov qword [rdx + 0x28], rax
mov qword [rdx], rsi
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x30], esi
mov rcx, qword [r14]
mov qword [rdx + 0x38], rcx
mov qword [rdx + 0x40], rsi
mov qword [rdx + 0x48], rsi
mov rax, qword [r14 + 8]
mov qword [rdx + 0x40], rax
mov rax, qword [r14 + 0x10]
mov qword [rdx + 0x48], rax
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov qword [rdx + 0x50], rsi
mov qword [rdx + 0x58], rsi
mov rax, qword [r14 + 0x18]
mov qword [rdx + 0x50], rax
mov rax, qword [r14 + 0x20]
mov qword [rdx + 0x58], rax
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x20], rsi
mov rcx, qword [rdi + 8]
movzx r8d, cl
shr r8b, 1
and r8b, 1
and rcx, 0xfffffffffffffffc
mov rcx, qword [rcx + 0x10]
call fcn.140125830
nop
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret