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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x590]
sub rsp, 0x690
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x588], rax
mov rbx, rdx
mov rdi, rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
call fcn.1400b6880
nop
lea rdx, [rbx + 0x2d0]
lea rcx, [rbp + 0x240]
call fcn.1400ba430
nop
lea rsi, [rdi + 8]
mov r14, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400b28c8
cmp qword [rax], rbx
je 0x1400b2a07
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400b28b6
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x70]
mov ecx, 0x638
call fcn.140062870
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14014afd0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x20], rbx
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400b6880
nop
lea rcx, [rbx + 0x2d0]
lea rdx, [rbp + 0x240]
call fcn.1400ba430
nop
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400b29d7
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.14014afd0
nop
lea rcx, [rsp + 0x20]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rsp + 0x70]
call fcn.1400c4c60
mov rcx, qword [rbp + 0x588]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x6d0]
add rsp, 0x690
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400b28c8
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.14009e010
nop
nop
jmp 0x1400b29d7
Function at 0x1400b3810
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x5c8], rax
mov rbx, rcx
lea rcx, [rsp + 0x70]
call fcn.1400bcad0
nop
lea rsi, [rbx + 8]
mov r14, qword [rbx]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400b3877
cmp qword [rax], rbx
je 0x1400b39d6
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400b3865
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x68]
mov ecx, 0x678
call fcn.140062870
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14014c3a0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x60], rbx
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400bd840
nop
add rbx, 0x2d8
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x248]
mov rcx, rbx
call fcn.1400bd940
movups xmm0, xmmword [rbp + 0x598]
movups xmmword [rbx + 0x350], xmm0
mov eax, dword [rbp + 0x5a8]
mov dword [rbx + 0x360], eax
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400b39a6
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.14014c3a0
nop
lea rcx, [rsp + 0x20]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rsp + 0x70]
call fcn.1400c4da0
mov rcx, qword [rbp + 0x5c8]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x710]
add rsp, 0x6d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400b3877
nop
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x70]
call fcn.14009e1d0
nop
nop
jmp 0x1400b39a6
Function at 0x1400b3a00
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x5c8], rax
mov rbx, rcx
lea rcx, [rsp + 0x70]
call fcn.1400bcb40
nop
lea rsi, [rbx + 8]
mov r14, qword [rbx]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400b3a67
cmp qword [rax], rbx
je 0x1400b3bc8
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400b3a55
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x68]
mov ecx, 0x678
call fcn.140062870
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14014c4d0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x60], rbx
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400bd840
nop
add rbx, 0x2d8
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x248]
mov rcx, rbx
call fcn.1400bd940
movups xmm0, xmmword [rbp + 0x598]
movups xmmword [rbx + 0x350], xmm0
mov rax, qword [rbp + 0x5a8]
mov qword [rbx + 0x360], rax
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400b3b98
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.14014c4d0
nop
lea rcx, [rsp + 0x20]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rsp + 0x70]
call fcn.1400c4da0
mov rcx, qword [rbp + 0x5c8]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x710]
add rsp, 0x6d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400b3a67
nop
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x70]
call fcn.14009e210
nop
nop
jmp 0x1400b3b98
Function at 0x1400b3bf0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x5a8], rax
mov rbx, rcx
lea rcx, [rsp + 0x70]
call fcn.1400bcf20
nop
lea rsi, [rbx + 8]
mov r14, qword [rbx]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400b3c57
cmp qword [rax], rbx
je 0x1400b3db7
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400b3c45
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x70]
mov ecx, 0x660
call fcn.140062870
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14014ce60]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x60], rbx
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400b6880
nop
add rbx, 0x2d0
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x240]
mov rcx, rbx
call fcn.1400bdb50
movaps xmm0, xmmword [rbp + 0x580]
movups xmmword [rbx + 0x340], xmm0
mov eax, dword [rbp + 0x590]
mov dword [rbx + 0x350], eax
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400b3d87
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.14014ce60
nop
lea rcx, [rsp + 0x20]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rsp + 0x70]
call fcn.1400c4ee0
mov rcx, qword [rbp + 0x5a8]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x6f0]
add rsp, 0x6b0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400b3c57
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.14009e2d0
nop
nop
jmp 0x1400b3d87
Function at 0x1400b3de0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x5a8], rax
mov rbx, rcx
lea rcx, [rsp + 0x70]
call fcn.1400bcf90
nop
lea rsi, [rbx + 8]
mov r14, qword [rbx]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400b3e47
cmp qword [rax], rbx
je 0x1400b3fa9
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400b3e35
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x70]
mov ecx, 0x660
call fcn.140062870
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14014cf90]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x60], rbx
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400b6880
nop
add rbx, 0x2d0
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x240]
mov rcx, rbx
call fcn.1400bdb50
movaps xmm0, xmmword [rbp + 0x580]
movups xmmword [rbx + 0x340], xmm0
mov rax, qword [rbp + 0x590]
mov qword [rbx + 0x350], rax
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400b3f79
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.14014cf90
nop
lea rcx, [rsp + 0x20]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rsp + 0x70]
call fcn.1400c4ee0
mov rcx, qword [rbp + 0x5a8]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x6f0]
add rsp, 0x6b0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400b3e47
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.14009e310
nop
nop
jmp 0x1400b3f79
Function at 0x1400b3fd0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov esi, edx
mov rbx, rcx
sub edi, edx
jne 0x1400b3ffd
mov eax, edx
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
cmp edi, 0xffffffff
jne 0x1400b4019
call fcn.140118d40
add eax, esi
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
xor edx, edx
mov qword [rsp + 0x30], rbp
lea ecx, [rdi + 1]
mov eax, 0xffffffff
div ecx
cmp edx, edi
lea ebp, [rax + 1]
cmovne ebp, eax
cmp qword [rbx + 0x9c0], 0x270
jne 0x1400b4047
mov rcx, rbx
call fcn.140169000
mov rax, qword [rbx + 0x9c0]
xor edx, edx
mov ecx, dword [rbx + rax*4]
inc rax
mov qword [rbx + 0x9c0], rax
mov eax, ecx
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
div ebp
cmp eax, edi
ja 0x1400b4032
mov rbp, qword [rsp + 0x30]
add eax, esi
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400bd4c0
Capabilities:
Initialize winsock library

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
movzx edi, dl
mov rbx, rcx
mov eax, 1
lock xadd dword [0x1403e7720], eax
inc eax
cmp eax, 1
jne 0x1400bd50d
lea ecx, [rax + 1]
lea rdx, [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_WSAStartup]
xchg dword [0x1403e7724], eax
test dil, dil
je 0x1400bd520
xor eax, eax
lock xadd dword [0x1403e7724], eax
test eax, eax
jne 0x1400bd544
mov rax, rbx
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1e0
pop rdi
ret
mov dword [rsp + 0x20], eax
call fcn.14018e9e0
lea rdx, str.winsock
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
call fcn.140063120
int3

Function at 0x1400c82e0
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [rcx], 0xffffffffffffffff
mov rbx, rcx
je 0x1400c83b0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
call fcn.14018e9e0
mov rdi, qword [rbx]
cmp rdi, 0xffffffffffffffff
je 0x1400c839c
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.14018e9e0
mov rbp, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
test ebx, ebx
je 0x1400c839c
call fcn.14018e9e0
cmp rbp, rax
jne 0x1400c834d
cmp esi, 0x2733
je 0x1400c835f
call fcn.14018e9e0
cmp rbp, rax
jne 0x1400c83a1
cmp esi, 0x4d5
jne 0x1400c83a1
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov edx, 0x8004667e
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.14018e9e0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x1400c83a1
call fcn.14018e9e0
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbx
ret
Function at 0x1400caf50
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x340]
sub rsp, 0x440
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x338], rax
mov rbx, rdx
mov rdi, rcx
lea rcx, [rsp + 0x70]
call fcn.1400bb720
lea rdx, [rbx + 0xb0]
lea rcx, [rbp + 0x20]
call fcn.1400ff6d0
nop
lea rsi, [rdi + 8]
mov r14, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400cafd2
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x1400cb110
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400cafc0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x40]
mov ecx, 0x3f0
call fcn.140062870
mov rdi, rax
xor r15d, r15d
mov qword [rax + 0x20], r15
lea rax, [fcn.1400fdc60]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rdx, [rsp + 0x70]
lea rcx, [rdi + 0x38]
call fcn.1400bb720
lea rcx, [rdi + 0xe8]
lea rdx, [rbp + 0x20]
call fcn.1400ff6d0
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.140156110
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x1400cb0c9
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x38], rax
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x28]
call fcn.1400fdc60
nop
lea rcx, [rsp + 0x38]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp + 0x2b0]
call fcn.1400c11c0
lea rcx, [rbp + 0x110]
call fcn.1400c11c0
lea rcx, [rbp - 0x40]
call fcn.1400c11c0
mov rcx, qword [rbp + 0x338]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x480]
add rsp, 0x440
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400cafd2
nop
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400d6460
nop
nop
jmp 0x1400cb0c9
Function at 0x1400cc8c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rbx, rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x80], rax
xor r14d, r14d
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
add rdx, 0x18
lea rcx, [rbp - 0x78]
call fcn.1400bbe90
nop
lea rdi, [rbx + 8]
mov rsi, qword [rbx]
mov rbx, qword [rdi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400cc946
cmp qword [rax], rbx
je 0x1400ccab0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400cc934
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x70]
mov ecx, 0x1d0
call fcn.140062870
mov rbx, rax
mov qword [rax + 0x20], r14
lea rax, [fcn.14014d0c0]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
mov rcx, qword [rsp + 0x70]
mov qword [rbx + 0x38], rcx
mov qword [rbx + 0x40], r14
mov qword [rbx + 0x48], r14
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x40], rax
mov rax, qword [rbp - 0x80]
mov qword [rbx + 0x48], rax
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
lea rcx, [rbx + 0x50]
lea rdx, [rbp - 0x78]
call fcn.1400bbe90
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140156110
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x1400cca55
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rbx
mov rcx, qword [rsi + 0x28]
call fcn.14014d0c0
nop
lea rcx, [rsp + 0x38]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x78]
call fcn.1400c4bd0
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x1400cca93
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400cca93
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400cca93
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400cc946
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.1400f2380
nop
nop
jmp 0x1400cca55
Function at 0x1400cdf00
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rbx, rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x80], rax
xor r14d, r14d
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
add rdx, 0x18
lea rcx, [rbp - 0x78]
call fcn.1400bcca0
nop
lea rdi, [rbx + 8]
mov rsi, qword [rbx]
mov rbx, qword [rdi]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400cdf86
cmp qword [rax], rbx
je 0x1400ce0f0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400cdf74
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x70]
mov ecx, 0x200
call fcn.140062870
mov rbx, rax
mov qword [rax + 0x20], r14
lea rax, [fcn.14014de40]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
mov rcx, qword [rsp + 0x70]
mov qword [rbx + 0x38], rcx
mov qword [rbx + 0x40], r14
mov qword [rbx + 0x48], r14
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x40], rax
mov rax, qword [rbp - 0x80]
mov qword [rbx + 0x48], rax
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
lea rcx, [rbx + 0x50]
lea rdx, [rbp - 0x78]
call fcn.1400bcca0
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140156110
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x1400ce095
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
call fcn.14018e9e0
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rbx
mov rcx, qword [rsi + 0x28]
call fcn.14014de40
nop
lea rcx, [rsp + 0x38]
call fcn.1400c5a90
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1403e78b8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x78]
call fcn.1400c4e50
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x1400ce0d3
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400ce0d3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400ce0d3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
cmp qword [rax + 8], 0
je 0x1400cdf86
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.1400cd2b0
nop
nop
jmp 0x1400ce095