joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400f6950
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov r14, r8
inc r14
sete r13b
je 0x1400f6ac7
js 0x1400f6ad3
mov rdi, r9
mov rbx, r8
mov r12, rdx
mov rsi, rcx
movzx eax, byte [0x1401d2160]
xor ecx, ecx
mov rdx, r14
call fcn.140101e80
test rax, rax
je 0x1400f6ad8
mov r15, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp rbx, 0xf
ja 0x1400f69d1
test rbx, rbx
je 0x1400f6a1f
xor eax, eax
nop
cmp byte [r12 + rax], 0
je 0x1400f69e3
inc rax
cmp rbx, rax
jne 0x1400f69c0
jmp 0x1400f6a1f
xor ecx, ecx
mov rdx, r12
mov r8, rbx
call fcn.1400419f0
test rax, rax
je 0x1400f6a1f
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test r13b, r13b
jne 0x1400f6ab5
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, r15
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1401220e0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], rbx
lea rcx, [rbp - 0x30]
call fcn.1400287c0
mov rbx, rax
mov r14, rdx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x28], 1
mov qword [rbp], 0
lea r8, [rbp - 0x30]
mov r9, rbp
mov rcx, rax
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x1400f6a81
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x1400f6a95
mov rcx, qword [rdi]
mov rax, qword [rbp]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [rbx], 0
test r14, r14
je 0x1400f6ab5
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rbx
call fcn.1401220e0
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.library_alloc_src_ffic_str.rs
call fcn.14003fb80
call fcn.1400285d0
mov ecx, 1
mov rdx, r14
call fcn.1400285b0
int3
Function at 0x1400fcbd0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rsi, rcx
movabs rbx, 0x8000000000000000
lea rcx, [rbp - 0x28]
call fcn.1400d5920
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
cmp rcx, rbx
jne 0x1400fcc0e
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rbx
jmp 0x1400fcc34
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rdx
lea rcx, [rbp - 0x10]
lea rdx, [rbp - 0x40]
call fcn.1400fcaf0
mov r14, qword [rbp - 0x10]
cmp r14, rbx
jne 0x1400fcc4d
lea rcx, [rbp - 8]
call fcn.1400d37e0
mov qword [rsi], rbx
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rdi, qword [rbp - 8]
mov r15, qword [rbp]
mov rcx, rdi
call sub.kernel32.dll_GetFileAttributesW
cmp eax, 0xffffffff
je 0x1400fcc6f
mov qword [rsi], r14
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r15
jmp 0x1400fcc40
mov qword [rsi], rbx
test r14, r14
je 0x1400fcc40
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rdi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
jmp fcn.1401220e0
Function at 0x1400ff5e0
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rdi, r8
mov r14, rdx
mov rbx, rcx
movzx eax, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x1400ff6b0
mov rsi, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1400ff720]
xor edi, edi
xor ecx, ecx
mov rdx, rbx
mov r9, rax
call sub.kernel32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x1400ff6a2
mov rdi, qword [rsi]
mov r14, qword [rsi + 8]
mov rcx, rdi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400ff67d
cmp qword [r14 + 0x10], 0x11
jb 0x1400ff66c
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rdi
call fcn.1401220e0
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rsi
call fcn.1401220e0
call sub.kernel32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov ecx, 8
mov edx, 0x10
call fcn.140028610
ud2
Function at 0x1401019b0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov rdi, rdx
cmp qword [rdx], 0
jne 0x140101b16
mov rsi, rcx
mov rbx, qword [rdi + 0x18]
mov rax, qword [rbx]
test rax, rax
jne 0x1401019ed
mov rdx, qword [rbx + 0x10]
lea rax, [rdx + 0xf]
cmp rax, 0xf
jbe 0x140101b00
xor eax, eax
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x140101ae3
sub rax, rdx
add rdx, qword [rbx + 8]
mov r8, qword [rdi + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
mov dword [rbp + 4], 0
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x20], r8
lea r9, [rbp + 4]
mov r8d, eax
call sub.kernel32.dll_ReadFile
test eax, eax
je 0x140101a4b
mov eax, dword [rbp + 4]
mov ecx, 2
test rax, rax
je 0x140101a8d
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov byte [rsi + 1], 1
jmp 0x140101a91
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x40], rax
movabs rcx, 0xffffffff00000000
and rcx, rax
movabs rdx, 0x6d00000000
cmp rcx, rdx
je 0x140101a95
movabs rdx, 0x3e500000000
cmp rcx, rdx
jne 0x140101abf
lea rax, [rbp - 8]
jmp 0x140101aa1
mov byte [rsi + 1], 0
xor eax, eax
jmp 0x140101ac5
mov qword [rbp - 8], 1
lea rax, [rbp - 0x10]
mov qword [rax], 0
lea rcx, [rbp - 0x40]
call fcn.1400d37e0
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
cmp rcx, 2
jne 0x140101ad0
mov qword [rsi + 8], rax
mov al, 1
mov byte [rsi], al
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop rbp
ret
test rcx, rcx
jne 0x140101a34
mov ecx, 1
jmp 0x140101a3e
mov r8d, 1
mov rcx, rbx
mov rdx, rax
call fcn.1400d9590
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
jmp 0x1401019fa
mov r8d, 0x10
mov rcx, rbx
call fcn.1400d9590
mov rax, qword [rbx]
jmp 0x1401019ed
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140101b30
int3

Function at 0x140101d40
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov ecx, dword [0x140125328]
test ecx, ecx
je 0x140101ddd
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140101d6c
cmp byte [rax + 8], 0
jne 0x140101dce
mov ecx, dword [0x140125328]
test ecx, ecx
je 0x140101df0
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140101dd4
test rax, rax
jne 0x140101dc8
movzx eax, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x140101e19
lea rcx, [0x140125310]
mov qword [rax], rcx
mov byte [rax + 8], 0
mov ecx, dword [0x140125328]
test ecx, ecx
je 0x140101e03
dec ecx
mov rdx, rax
mov rsi, rax
call sub.kernel32.dll_TlsSetValue
mov rax, rsi
mov word [rax + 8], 1
add rax, 9
jmp 0x140101dd6
xor eax, eax
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x140125310]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140101d5b
lea rcx, [0x140125310]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140101d78
lea rcx, [0x140125310]
mov rsi, rax
call fcn.1400d46e0
mov ecx, eax
mov rax, rsi
jmp 0x140101dba
mov ecx, 8
mov edx, 0x10
call fcn.140028610
int3
Function at 0x140106ac0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov ecx, dword [0x140125388]
test ecx, ecx
je 0x140106b90
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140106af1
cmp qword [rax + 8], 0
jne 0x140106b81
mov ecx, dword [0x140125388]
test ecx, ecx
je 0x140106ba3
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140106b87
mov rsi, rax
test rax, rax
jne 0x140106b59
movzx eax, byte [0x1401d2160]
mov edx, 0x20
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x140106bcc
lea rcx, [0x140125370]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x140125388]
test ecx, ecx
je 0x140106bb6
dec ecx
mov rsi, rax
mov rdx, rax
call sub.kernel32.dll_TlsSetValue
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x10]
mov edx, 0x10
call sub.bcryptprimitives.dll_ProcessPrng
movaps xmm0, xmmword [rbp - 0x10]
mov rax, rsi
mov qword [rsi + 8], 1
movups xmmword [rsi + 0x10], xmm0
add rax, 0x10
jmp 0x140106b89
xor eax, eax
add rsp, 0x38
pop rsi
pop rbp
ret
lea rcx, [0x140125370]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140106adb
lea rcx, [0x140125370]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140106b01
lea rcx, [0x140125370]
mov rsi, rax
call fcn.1400d46e0
mov ecx, eax
mov rax, rsi
jmp 0x140106b4e
mov ecx, 8
mov edx, 0x20
call fcn.140028610
int3

Function at 0x140109f49
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xd0
mov rsi, rcx
mov ecx, dword [0x1401253d0]
test ecx, ecx
je 0x14010a084
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140109f84
mov rbx, rax
cmp qword [rax + 8], 0
je 0x140109f84
add rbx, 0x10
jmp 0x14010a076
mov ecx, dword [0x1401253d0]
test ecx, ecx
je 0x14010a097
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14010a014
mov rbx, rax
test rax, rax
jne 0x140109fef
mov al, byte [0x1401d2160]
mov edx, 0x60
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14010a0bd
mov rbx, rax
lea rax, [0x1401253b8]
mov qword [rbx], rax
mov qword [rbx + 8], 0
mov ecx, dword [0x1401253d0]
test ecx, ecx
je 0x14010a0aa
dec ecx
mov rdx, rbx
call sub.kernel32.dll_TlsSetValue
lea rax, [rbx + 8]
test rsi, rsi
je 0x14010a018
lea rcx, [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
lea rsi, [0x140196be0]
cmovne rsi, rcx
jmp 0x14010a01f
xor ebx, ebx
jmp 0x14010a076
lea rsi, [0x140196be0]
lea rdx, [rsp + 0x80]
mov ecx, 0xa
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea r8, [rsp + 0x28]
mov ecx, 0xb
mov rdi, r8
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rbx + 8], 1
add rbx, 0x10
mov ecx, 0xa
mov rdi, rbx
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
cmp qword [r8], 0
je 0x14010a076
cmp dword [rsp + 0x38], 2
je 0x14010a076
lea rcx, [rsp + 0x38]
call fcn.140108b3c
mov rax, rbx
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1401253b8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140109f66
lea rcx, [0x1401253b8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140109f94
lea rcx, [0x1401253b8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140109fe7
mov ecx, 8
mov edx, 0x60
call fcn.140028610
int3
Function at 0x14010a234
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x14010a26a
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x14010a272
mov esi, dword [rdx]
mov r9d, 4
jmp 0x14010a277
xor r10d, r10d
jmp 0x14010a325
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x14010a29a
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14010a2b1
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x14010a2d1
add r11, r8
jmp 0x14010a3f6
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x14010a399
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x14010a347
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x14010a3ab
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x14010a3b1
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14010a3d8
lea rcx, [rdx + r8]
movzx esi, word [r10 + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x14010a3f2
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x14010a57b
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov ecx, dword [0x1401253f0]
test ecx, ecx
je 0x14010a645
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14010a5af
mov rdi, rax
cmp qword [rax + 8], 0
je 0x14010a5af
add rdi, 8
jmp 0x14010a63b
mov ecx, dword [0x1401253f0]
test ecx, ecx
je 0x14010a658
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14010a639
mov rsi, rax
test rax, rax
jne 0x14010a616
mov al, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14010a67b
mov rsi, rax
lea rax, [0x1401253d8]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x1401253f0]
test ecx, ecx
je 0x14010a66b
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
lea rdi, [rsi + 8]
call fcn.1401120f9
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], rax
test rcx, rcx
je 0x14010a63b
lock dec qword [rcx]
jne 0x14010a63b
call fcn.14006727f
jmp 0x14010a63b
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1401253d8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010a591
lea rcx, [0x1401253d8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010a5bf
lea rcx, [0x1401253d8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010a60e
mov ecx, 8
mov edx, 0x10
call fcn.140028610
int3

Function at 0x14010eecd
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x14010eed4
test al, 1
je 0x14010eef3
test al, 2
jne 0x14010ef0b
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1401979f8]
mov edx, 0x23
call fcn.1400396c0
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140197a10]
mov edx, 0x25
call fcn.1400396c0
int3

Function at 0x14010fe27
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov ecx, dword [0x140125460]
test ecx, ecx
je 0x14010fef9
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14010fe5b
cmp qword [rax + 8], 0
je 0x14010fe5b
add rax, 0x10
jmp 0x14010fef2
mov ecx, dword [0x140125460]
test ecx, ecx
je 0x14010ff0c
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14010fedc
mov rdi, rax
test rax, rax
jne 0x14010fec2
mov al, byte [0x1401d2160]
mov edx, 0x18
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14010ff2f
mov rdi, rax
lea rax, [0x140125448]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x140125460]
test ecx, ecx
je 0x14010ff1f
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x14010fee0
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14010fee2
mov rcx, qword [rsi + 8]
jmp 0x14010fee2
xor eax, eax
jmp 0x14010fef2
xor ecx, ecx
lea rax, [rdi + 0x10]
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rcx
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140125448]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010fe40
lea rcx, [0x140125448]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010fe6b
lea rcx, [0x140125448]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010feba
mov ecx, 8
mov edx, 0x18
call fcn.140028610
int3
Function at 0x14010ff3f
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov ecx, dword [0x1401254a0]
test ecx, ecx
je 0x140110011
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14010ff73
cmp qword [rax + 8], 0
je 0x14010ff73
add rax, 0x10
jmp 0x14011000a
mov ecx, dword [0x1401254a0]
test ecx, ecx
je 0x140110024
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14010fff4
mov rdi, rax
test rax, rax
jne 0x14010ffda
mov al, byte [0x1401d2160]
mov edx, 0x18
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x140110047
mov rdi, rax
lea rax, [0x140125488]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x1401254a0]
test ecx, ecx
je 0x140110037
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x14010fff8
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x14010fffa
mov rcx, qword [rsi + 8]
jmp 0x14010fffa
xor eax, eax
jmp 0x14011000a
xor ecx, ecx
lea rax, [rdi + 0x10]
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rcx
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140125488]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010ff58
lea rcx, [0x140125488]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010ff83
lea rcx, [0x140125488]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14010ffd2
mov ecx, 8
mov edx, 0x18
call fcn.140028610
int3
Function at 0x140111ef2
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rdi, rcx
mov ecx, dword [0x140125440]
test ecx, ecx
je 0x14011203c
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140111f24
mov rsi, rax
cmp qword [rax + 8], 0
jne 0x14011202a
mov ecx, dword [0x140125440]
test ecx, ecx
je 0x14011204f
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140112030
mov rsi, rax
test rax, rax
jne 0x140111f93
mov al, byte [0x1401d2160]
mov edx, 0x40
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x140112075
mov rsi, rax
lea rax, [0x140125428]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140125440]
test ecx, ecx
je 0x140112062
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
lea rcx, [rsi + 8]
mov eax, 3
test rdi, rdi
je 0x140111fca
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140111fca
mov rdx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
movups xmm0, xmmword [rdi + 0x28]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rsp + 0x20], xmm0
jmp 0x140111fcc
xor edx, edx
mov r8, qword [rcx + 0x30]
mov qword [rsp + 0x70], r8
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x20], xmm0
cmp qword [rsp + 0x40], 0
je 0x14011202a
cmp dword [rsp + 0x50], 3
je 0x14011202a
lea rcx, [rsp + 0x50]
call fcn.140110057
add rsi, 0x10
jmp 0x140112032
xor esi, esi
mov rax, rsi
add rsp, 0x78
pop rdi
pop rsi
ret
lea rcx, [0x140125428]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140111f0b
lea rcx, [0x140125428]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140111f34
lea rcx, [0x140125428]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140111f8b
mov ecx, 8
mov edx, 0x40
call fcn.140028610
int3
Function at 0x14011214a
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov ecx, dword [0x140125420]
test ecx, ecx
je 0x140112214
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x14011217e
mov rdi, rax
cmp qword [rax + 8], 0
je 0x14011217e
add rdi, 8
jmp 0x14011220a
mov ecx, dword [0x140125420]
test ecx, ecx
je 0x140112227
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140112208
mov rsi, rax
test rax, rax
jne 0x1401121e5
mov al, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14011224a
mov rsi, rax
lea rax, [0x140125408]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140125420]
test ecx, ecx
je 0x14011223a
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
lea rdi, [rsi + 8]
call fcn.1401120f9
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], rax
test rcx, rcx
je 0x14011220a
lock dec qword [rcx]
jne 0x14011220a
call fcn.14006727f
jmp 0x14011220a
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140125408]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140112160
lea rcx, [0x140125408]
call fcn.1400d46e0
mov ecx, eax
jmp 0x14011218e
lea rcx, [0x140125408]
call fcn.1400d46e0
mov ecx, eax
jmp 0x1401121dd
mov ecx, 8
mov edx, 0x10
call fcn.140028610
int3

Function at 0x14011238b
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov ecx, dword [0x140125480]
test ecx, ecx
je 0x140112452
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1401123be
cmp byte [rax + 8], 0
je 0x1401123be
add rax, 9
jmp 0x14011244b
mov ecx, dword [0x140125480]
test ecx, ecx
je 0x140112465
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14011243a
mov rdi, rax
test rax, rax
jne 0x140112421
mov al, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x140112488
mov rdi, rax
lea rax, [0x140125468]
mov qword [rdi], rax
mov byte [rdi + 8], 0
mov ecx, dword [0x140125480]
test ecx, ecx
je 0x140112478
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x14011243e
cmp byte [rsi], 0
mov byte [rsi], 0
movzx eax, byte [rsi + 1]
mov ecx, 2
cmovne ecx, eax
jmp 0x140112440
xor eax, eax
jmp 0x14011244b
mov cl, 2
lea rax, [rdi + 9]
mov byte [rdi + 8], 1
mov byte [rdi + 9], cl
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140125468]
call fcn.1400d46e0
mov ecx, eax
jmp 0x1401123a4
lea rcx, [0x140125468]
call fcn.1400d46e0
mov ecx, eax
jmp 0x1401123ce
lea rcx, [0x140125468]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140112419
mov ecx, 8
mov edx, 0x10
call fcn.140028610
int3
Function at 0x140114392
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov ecx, dword [0x1401254c0]
test ecx, ecx
je 0x140114466
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1401143c5
cmp byte [rax + 8], 0
je 0x1401143c5
add rax, 9
jmp 0x14011445f
mov ecx, dword [0x1401254c0]
test ecx, ecx
je 0x140114479
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140114445
mov rdi, rax
test rax, rax
jne 0x140114428
mov al, byte [0x1401d2160]
mov edx, 0x10
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14011449c
mov rdi, rax
lea rax, [0x1401254a8]
mov qword [rdi], rax
mov byte [rdi + 8], 0
mov ecx, dword [0x1401254c0]
test ecx, ecx
je 0x14011448c
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x140114441
movzx eax, word [rsi]
movzx ecx, byte [rsi + 2]
shl ecx, 0x10
or ecx, eax
mov byte [rsi], 0
test cl, 1
jne 0x140114449
xor ecx, ecx
jmp 0x140114451
xor eax, eax
jmp 0x14011445f
mov edx, ecx
shr edx, 0x10
shr ecx, 8
mov byte [rdi + 8], 1
lea rax, [rdi + 9]
mov byte [rdi + 9], cl
mov byte [rdi + 0xa], dl
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1401254a8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x1401143ab
lea rcx, [0x1401254a8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x1401143d5
lea rcx, [0x1401254a8]
call fcn.1400d46e0
mov ecx, eax
jmp 0x140114420
mov ecx, 8
mov edx, 0x10
call fcn.140028610
int3

Function at 0x1401158df
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x1401158e6
test al, 1
je 0x140115905
test al, 2
jne 0x14011591d
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140199920]
mov edx, 0x23
call fcn.1400396c0
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140199960]
mov edx, 0x25
call fcn.1400396c0
int3

Function at 0x140116e8a
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
test rcx, rcx
je 0x140116ed5
mov rcx, qword [rdx]
movzx eax, r8b
lea r9, [rsp + 0x34]
mov dword [r9], eax
mov dword [rsp + 0x20], 4
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140116ec3
xor eax, eax
jmp 0x140116ed0
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_0.2.25_srciopoll_evented.rs
call fcn.14003fb80
int3