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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rbx, rdx
mov rdi, rcx
xor r15d, r15d
lea rcx, [rbp + 0xe0]
call fcn.140056350
movups xmm0, xmmword [rbx + 0xd0]
movaps xmmword [rbp + 0x1b0], xmm0
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax + 0x20]
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x18]
mov rcx, rdi
call rdx
lea r8, [0x1400f1e1b]
mov rdx, rax
lea rcx, [rsp + 0x50]
call rbx
nop
mov rcx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rcx
mov rax, qword [rsp + 0x78]
mov qword [rbp - 0x50], rax
lea rax, fcn.1400038f0
mov qword [rsp + 0x68], rax
lea rax, [0x1400f6d00]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x78]
call rax
mov qword [rsp + 0x70], r15
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x48], rax
lea rax, [0x1400f6d20]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
lea rcx, [rsp + 0x50]
call rdx
nop
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x40]
call fcn.14005ba70
mov rsi, rax
mov r14, qword [rax + 0x28]
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x140058db4
lea rcx, [0x14005eaf0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x30]
mov rcx, rsi
call rax
jmp 0x140058e82
mov r14, qword [r14 + 0x10]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 8]
call fcn.140056350
movaps xmm0, xmmword [rbp + 0x1b0]
movups xmmword [rbp + 0xc8], xmm0
lea rax, [rbp - 8]
mov qword [rbp + 0x1f0], rax
lea rax, [rbp + 0x208]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140058e04
mov rdx, qword [rax + 8]
jmp 0x140058e07
mov rdx, r15
mov r8d, 0xf0
call fcn.14005ee00
mov rdi, rax
mov qword [rsp + 0x40], r15
lea rdx, [rbp - 8]
lea rcx, [rax + 8]
call fcn.140056350
movups xmm0, xmmword [rbp + 0xc8]
movups xmmword [rdi + 0xd8], xmm0
lea rax, [0x14005f940]
mov qword [rdi], rax
mov qword [rbp + 0x200], rdi
mov qword [rsp + 0x38], r15
lea rcx, [rsp + 0x30]
call fcn.14005e820
nop
lea rcx, [rbp - 8]
call fcn.140044220
nop
lea rdx, [rbp + 0x200]
mov rcx, rsi
call r14
nop
mov rcx, qword [rbp + 0x200]
test rcx, rcx
je 0x140058e82
mov rax, qword [rcx]
xor edx, edx
call rax
nop
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax]
lea rcx, [rbp - 0x40]
call rdx
nop
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax]
lea rcx, [rbp - 0x78]
call rdx
nop
lea rcx, [rbp + 0xe0]
call fcn.140044220
mov rbx, qword [rsp + 0x2f8]
add rsp, 0x2c0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400593e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rbx, rdx
mov r8, rcx
lea rdx, [rbp - 0x30]
call fcn.14005bc20
mov rsi, rax
mov rcx, qword [rax + 0x28]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140059436
lea rcx, [0x14005eb20]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
lea rdx, [rsp + 0x20]
mov rcx, rsi
call rax
jmp 0x14005954a
mov r14, qword [rcx + 0x10]
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x40], xmm0
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x50], rax
lea rdx, [rbx + 0x18]
lea rcx, [rsp + 0x58]
call fcn.1400383e0
movups xmm0, xmmword [rbx + 0x80]
movups xmmword [rbp - 0x40], xmm0
lea rax, [rsp + 0x40]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edi, edi
test rax, rax
je 0x14005948f
mov rdx, qword [rax + 8]
jmp 0x140059492
mov rdx, rdi
mov r8d, 0xa0
call fcn.14005ee00
mov rbx, rax
mov qword [rsp + 0x30], rdi
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x18], rcx
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x58]
call fcn.1400383e0
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbx + 0x88], xmm0
lea rax, [0x14005fae0]
mov qword [rbx], rax
mov qword [rbp + 0x40], rbx
mov qword [rsp + 0x28], rdi
lea rcx, [rsp + 0x20]
call fcn.14005e730
nop
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x140059523
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140059523
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140059523
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x58]
call fcn.14002d7e0
nop
lea rdx, [rbp + 0x40]
mov rcx, rsi
call r14
nop
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14005954a
mov rax, qword [rcx]
xor edx, edx
call rax
nop
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
lea rcx, [rbp - 0x30]
call rdx
nop
add rsp, 0x110
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140059570
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x180
mov rdi, rdx
mov rbx, rcx
add rdx, 0x10
lea rcx, [rsp + 0x40]
call fcn.14005c640
mov rdx, rbx
lea rcx, [rsp + 0xb8]
call fcn.14005cb60
nop
mov rbp, qword [rdi]
lea rsi, [rdi + 8]
mov rbx, qword [rsi]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400595d7
cmp qword [rax], rbx
je 0x1400596be
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400595c5
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xc8]
mov ecx, 0x168
call fcn.14001dd90
mov rdi, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [0x140060960]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.1400384e0
lea rcx, [rdi + 0xb0]
lea rdx, [rsp + 0xb8]
call fcn.14005cb60
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140022420
nop
lea rcx, [rsp + 0xb8]
call fcn.140051760
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x14005969c
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005969c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14005969c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x48]
call fcn.14002d7e0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
cmp qword [rax + 8], 0
je 0x1400595d7
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140061b70
nop
jmp 0x140059656
Function at 0x14005bcd0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x150
mov rbx, rdx
mov rsi, rcx
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x40], rax
add rdx, 0x18
lea rcx, [rsp + 0x48]
call fcn.14004fc50
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xa0], xmm0
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x14005bd15
lock inc dword [rax + 8]
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xc0], rax
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0xc8]
call fcn.1400383e0
movups xmm0, xmmword [rsi + 0x80]
movaps xmmword [rsp + 0x130], xmm0
mov rsi, qword [rbx]
lea rdi, [rbx + 8]
mov rbx, qword [rdi]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005bd92
nop
cmp qword [rax], rbx
je 0x14005be62
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005bd80
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xc0]
mov ecx, 0x140
call fcn.14001dd90
mov rbx, rax
xor ebp, ebp
mov qword [rax + 0x20], rbp
lea rax, [0x140060ad0]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x38], rax
lea rcx, [rbx + 0x40]
lea rdx, [rsp + 0x48]
call fcn.1400383e0
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0xa8], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rbx + 0xb8], rax
lea rcx, [rbx + 0xc0]
lea rdx, [rsp + 0xc8]
call fcn.1400383e0
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rbx + 0x128], xmm0
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140022420
nop
lea rcx, [rsp + 0x40]
call fcn.14005bff0
mov rbx, qword [rsp + 0x180]
add rsp, 0x150
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14005bd92
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140061b40
nop
jmp 0x14005be45
Function at 0x14005c110
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xe0
mov r14, rdx
mov rbx, rcx
xor edi, edi
mov dword [rcx + 0x28], r9d
mov ecx, dword [rdx]
cmp r9d, 1
je 0x14005c277
mov rsi, qword [rbx + 0x20]
add rsi, r8
mov qword [rbx + 0x20], rsi
test ecx, ecx
jne 0x14005c151
test r8, r8
je 0x14005c164
cmp rsi, qword [rbx + 0x18]
jae 0x14005c164
test ecx, ecx
jne 0x14005c164
cmp rsi, qword [rbx]
jb 0x14005c284
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x50], rax
lea rdx, [rbx + 0x48]
lea rcx, [rsp + 0x58]
call fcn.14004fce0
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rsi
mov rbp, qword [rbx + 0x30]
lea r14, [rbx + 0x38]
mov rbx, qword [r14]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005c1be
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x14005c1df
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005c1b0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0x50]
cmp byte [rsi + 0x400], 0
jne 0x14005c1f8
mov byte [rsi + 0x400], 1
jmp 0x14005c205
cmp qword [rax + 8], 0
je 0x14005c1be
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.140062240
nop
jmp 0x14005c26b
mov ecx, 0xc0
call fcn.1400a0f60
mov rsi, rax
mov qword [rsi + 0x20], rdi
lea rax, [0x140061050]
mov qword [rsi + 0x28], rax
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
mov dword [rsi + 0x30], edi
lea rdx, [rsp + 0x50]
lea rcx, [rsi + 0x38]
call fcn.140050ac0
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [rsi + 0xa0], xmm0
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0xb0], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov r8, rsi
mov rdx, r14
mov rcx, rbp
call fcn.140022420
nop
lea rcx, [rsp + 0x60]
call fcn.14002d7e0
jmp 0x14005c2da
test ecx, ecx
jne 0x14005c289
mov rax, qword [rbx]
cmp qword [rbx + 0x20], rax
jae 0x14005c289
mov edi, 0x10000
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
cmovae rcx, rdx
sub rdx, rcx
add rcx, qword [rbx + 0x10]
mov qword [rsp + 0x38], rcx
cmp rdx, rdi
cmovae rdx, rdi
mov qword [rsp + 0x40], rdx
mov rax, qword [rbx + 8]
lea r8, [rax + 0x68]
lea rdx, [rax + 8]
mov rcx, qword [rax]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, [rsp + 0x38]
call fcn.14005f500
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x14005c300
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x1f0
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
xor ebp, ebp
mov dword [rcx + 0x48], r9d
cmp r9d, 1
je 0x14005c4ae
mov rdx, rbx
add qword [rcx + 0x30], rbx
mov r11, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x38]
shl rcx, 4
mov rax, qword [rdi + 0x10]
add rax, rcx
cmp rax, r11
je 0x14005c38e
test rdx, rdx
je 0x14005c38e
mov r9, qword [rdi + 0x40]
mov rcx, qword [rax]
mov qword [rsp + 0x38], rcx
mov r8, qword [rax + 8]
mov rcx, r8
cmp r9, r8
cmovb rcx, r9
sub r8, rcx
cmp rdx, r8
jae 0x14005c377
lea rcx, [r9 + rdx]
mov rdx, rbp
jmp 0x14005c385
sub rdx, r8
inc qword [rdi + 0x38]
add rax, 0x10
mov rcx, rbp
mov qword [rdi + 0x40], rcx
cmp rax, r11
jne 0x14005c347
mov ecx, dword [rsi]
test ecx, ecx
jne 0x14005c39f
test rbx, rbx
jne 0x14005c39f
lea rbx, [rdi + 0x30]
jmp 0x14005c3be
lea rbx, [rdi + 0x30]
mov rax, qword [rdi + 0x28]
cmp qword [rbx], rax
jae 0x14005c3be
mov r8d, 0x10000
test ecx, ecx
cmovne r8, rbp
je 0x14005c4ba
mov rbx, qword [rbx]
mov rax, qword [rdi + 0x60]
mov qword [rsp + 0x50], rax
lea rdx, [rdi + 0x68]
lea rcx, [rsp + 0x58]
call fcn.14004fce0
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rbx
mov rsi, qword [rdi + 0x50]
mov rbx, qword [rdi + 0x58]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005c412
cmp qword [rax], rbx
je 0x14005c433
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005c404
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x400], 0
jne 0x14005c44c
mov byte [rbx + 0x400], 1
jmp 0x14005c459
cmp qword [rax + 8], 0
je 0x14005c412
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.140062240
nop
jmp 0x14005c4a2
mov ecx, 0xc0
call fcn.1400a0f60
mov rbx, rax
mov qword [rbx + 0x20], rbp
lea rax, [0x1400611a0]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x50]
call fcn.140061320
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rbp
mov r8, rbx
lea rdx, [rdi + 0x58]
mov rcx, rsi
call fcn.140022420
nop
lea rcx, [rsp + 0x60]
call fcn.14002d7e0
jmp 0x14005c4f3
mov r8d, 0x10000
cmp dword [rdx], ebp
cmovne r8, rbp
mov rbx, qword [rdi + 8]
lea rdx, [rsp + 0xd0]
lea rcx, [rdi + 0x10]
call fcn.1400569f0
lea r8, [rbx + 0x68]
lea rdx, [rbx + 8]
mov rcx, qword [rbx]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rax
call fcn.14005f6f0
mov rbx, qword [rsp + 0x220]
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
Function at 0x14005de00
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xe0
mov rbx, rdx
mov rdi, rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x14005de45
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x80], xmm0
lea rdx, [rdi + 0x10]
lea rcx, [rsp + 0x90]
call fcn.140038460
nop
mov rbp, qword [rbx]
lea rsi, [rbx + 8]
mov rbx, qword [rsi]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005de92
nop dword [rax]
cmp qword [rax], rbx
je 0x14005df81
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005de80
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x90]
mov ecx, 0xd0
call fcn.14001dd90
mov rdi, rax
mov qword [rax + 0x20], r14
lea rax, [0x140061750]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.140038460
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rdi + 0x78], xmm0
lea rcx, [rdi + 0x88]
lea rdx, [rsp + 0x90]
call fcn.140038460
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140022420
nop
lea rcx, [rsp + 0x20]
call fcn.1400616c0
nop
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14005df4e
mov rax, qword [rcx]
lea rdx, [rsp + 0x90]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0xc8], r14
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14005df69
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
cmp qword [rax + 8], 0
je 0x14005de92
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140062810
nop
jmp 0x14005df25

Function at 0x14005e680
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005e6a7
add rcx, 8
call fcn.140051760
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14005e6f3
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005e6e3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005e6e3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14005e6fe
inc ecx
inc rax
cmp rax, 6
jl 0x14005e6d1
mov rcx, rbx
call fcn.14007dc1c
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xc0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14005e730
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14005e7a3
mov qword [rsp + 0x30], rbp
lea rbp, [rax + 0x20]
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x14005e78e
mov qword [rsp + 0x38], rsi
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005e789
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x14005e789
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14002d7e0
mov rbp, qword [rsp + 0x30]
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14005e7f2
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005e7e2
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005e7e2
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14005e7fd
inc ecx
inc rax
cmp rax, 6
jl 0x14005e7d0
mov rcx, rbx
call fcn.14007dc1c
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xa0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x40]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14005e820
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005e847
add rcx, 8
call fcn.140044220
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14005e893
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005e883
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005e883
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14005e89e
inc ecx
inc rax
cmp rax, 6
jl 0x14005e871
mov rcx, rbx
call fcn.14007dc1c
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xf0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14005e8d0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005e8ff
mov rcx, qword [rcx + 0x38]
test rcx, rcx
je 0x14005e8f7
mov rax, qword [rcx]
xor edx, edx
call rax
nop
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14005e948
mov ecx, dword [0x140119f38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005e938
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005e938
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14005e953
inc ecx
inc rax
cmp rax, 2
jl 0x14005e926
mov rcx, rbx
call fcn.14007dc1c
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x48]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14005ecc0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x180
mov rdi, rdx
mov rbx, rcx
add rdx, 0x50
lea rcx, [rsp + 0x40]
call fcn.14004fce0
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.14005d7f0
movups xmm0, xmmword [rbx + 0xb0]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rbx + 0xc0]
mov qword [rsp + 0x160], rax
mov rsi, qword [rdi + 0x40]
mov rbx, qword [rdi + 0x48]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005ed42
nop word [rax + rax]
cmp qword [rax], rbx
je 0x14005edd6
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005ed30
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
mov ecx, 0x168
call fcn.14001dd90
mov rbx, rax
xor ebp, ebp
mov qword [rax + 0x20], rbp
lea rax, [0x1400629b0]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x40]
call fcn.140062b60
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov r8, rbx
lea rdx, [rdi + 0x48]
mov rcx, rsi
call fcn.140022420
nop
lea rcx, [rsp + 0xa0]
call fcn.14004fb50
lea rcx, [rsp + 0x48]
call fcn.14002d7e0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x180
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14005ed42
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140063730
nop
jmp 0x14005edac
Function at 0x14005f190
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0xf0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor ebp, ebp
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14005c640
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xd0], rbp
mov rax, qword [rdi + 8]
test rax, rax
je 0x14005f1e0
lock inc dword [rax + 8]
mov rax, qword [rdi]
mov qword [rsp + 0xc8], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xd8], rax
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov ecx, dword [0x140119f58]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14005f232
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x14005f323
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14005f220
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
mov ecx, 0xe0
call fcn.14001dd90
mov rbx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x140062070]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x40]
call fcn.14005d190
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov r8, rbx
lea rdx, [rsi + 8]
mov rcx, rdi
call fcn.140022420
nop
mov edi, 0xffffffff
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x14005f2d2
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005f2d2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14005f2d2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x14005f306
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005f306
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14005f306
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x48]
call fcn.14002d7e0
mov rbx, qword [rsp + 0x118]
add rsp, 0xf0
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14005f232
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.14005be80
nop
jmp 0x14005f297
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
add rcx, 0x78
lea r8, [rcx + 0x98]
lea rdx, [rcx + 0x88]
add rsp, 0x28
jmp 0x14005f190