joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140181260
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rsi
sub rsp, 0x80
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
mov edx, 0x10
call sub.advapi32.dll_SystemFunction036
test al, al
je 0x140181296
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rsp, 0x80
pop rsi
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x40], rax
lea rax, [fcn.140173660]
mov qword [rsp + 0x48], rax
lea rax, [0x140250620]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rsp + 0x50]
call fcn.140024e50
ud2

Function at 0x140182d40
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rdi, rdx
cmp qword [rdx], 0
jne 0x140182e45
mov rsi, rcx
mov rbx, qword [rdi + 0x18]
mov rax, qword [rbx + 8]
test rax, rax
jne 0x140182d78
mov rdx, qword [rbx + 0x10]
lea rax, [rdx + 0xf]
cmp rax, 0xf
jbe 0x140182e2e
xor eax, eax
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x140182e10
sub rax, rdx
add rdx, qword [rbx]
mov r8, qword [rdi + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
mov dword [rsp + 0x30], 0
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x30]
mov r8d, eax
call sub.kernel32.dll_ReadFile
test eax, eax
je 0x140182dcd
mov eax, dword [rsp + 0x30]
mov ecx, 2
test rax, rax
jne 0x140182de9
jmp 0x140182dde
call sub.kernel32.dll_GetLastError
cmp eax, 0x3e5
je 0x140182de4
cmp eax, 0x6d
jne 0x140182e00
mov byte [rsi + 1], 0
jmp 0x140182df4
mov ecx, 1
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov byte [rsi + 1], 1
xor eax, eax
mov byte [rsi], al
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov al, 1
jmp 0x140182df6
mov r8d, 1
mov rcx, rbx
mov rdx, rax
call fcn.14019e5b0
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
jmp 0x140182d85
mov r8d, 0x10
mov rcx, rbx
call fcn.14019e5b0
mov rax, qword [rbx + 8]
jmp 0x140182d78
mov qword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140182e60
ud2
Function at 0x140188db0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rbx, r8
mov rsi, rcx
test rdx, rdx
je 0x140188ddb
mov qword [rsi + 8], rbx
mov qword [rsi], 1
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov rax, qword [0x1402e9128]
cmp rax, 3
jne 0x140188f57
cmp word [rbx], 0
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140188e50
cmp word [rbx], 0
je 0x140188ec6
movups xmm0, xmmword [rbx + 4]
mov eax, dword [rbx + 0x14]
mov edx, dword [rbx + 0x18]
movzx ecx, word [rbx + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x140188edb
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x140188e6a
mov r14d, eax
cmp eax, 0x2726
jne 0x140188f46
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x140188f3e
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.kernel32.dll_SetHandleInformation
test eax, eax
jne 0x140188e28
call sub.kernel32.dll_GetLastError
mov r14d, eax
mov rcx, rdi
call fcn.1401cdbac
jmp 0x140188f46
mov eax, dword [rbx + 2]
movzx ecx, word [rbx + 6]
mov r8d, 0x10
mov r9w, 2
xorps xmm0, xmm0
rol cx, 8
mov word [rsp + 0x34], r9w
mov word [rsp + 0x36], cx
mov dword [rsp + 0x38], eax
movups xmmword [rsp + 0x3c], xmm0
mov dword [rsp + 0x4c], edx
lea rdx, [rsp + 0x34]
mov rcx, rdi
call sub.ws2_32.dll_bind
cmp eax, 0xffffffff
je 0x140188f19
mov qword [rsi + 8], rdi
mov qword [rsi], 0
jmp 0x140188dd0
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
call fcn.1401cdbac
jmp 0x140188dd0
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
mov qword [rsi + 8], r14
jmp 0x140188dc9
call fcn.140178120
jmp 0x140188dec
Function at 0x140188fb0
Capabilities:
Generate random numbers via winapi
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x30
mov ecx, dword [0x1401e00f0]
test ecx, ecx
je 0x1401890a9
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140188fe0
cmp qword [rax + 8], 0
je 0x140188fe0
add rax, 0x10
jmp 0x1401890a3
mov ecx, dword [0x1401e00f0]
test ecx, ecx
je 0x1401890bc
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140189083
mov rsi, rax
test rax, rax
jne 0x140189053
movzx eax, byte [0x1402e91f8]
mov ecx, 0x20
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x1401890e2
mov rsi, rax
lea rax, [0x1401e00d8]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x1401e00f0]
test ecx, ecx
je 0x1401890cf
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x140189087
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x14018908f
xor eax, eax
jmp 0x1401890a3
call fcn.140181260
mov rcx, rax
mov qword [rsi + 8], 1
lea rax, [rsi + 0x10]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401e00d8]
call fcn.1401549e0
mov ecx, eax
jmp 0x140188fc5
lea rcx, [0x1401e00d8]
call fcn.1401549e0
mov ecx, eax
jmp 0x140188ff0
lea rcx, [0x1401e00d8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018904b
mov ecx, 8
mov edx, 0x20
call fcn.1400206c0
ud2

Function at 0x140189c20
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 [0x1401e0160]
test ecx, ecx
je 0x140189cf6
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140189c54
cmp qword [rax + 8], 0
je 0x140189c54
add rax, 0x10
jmp 0x140189cef
mov ecx, dword [0x1401e0160]
test ecx, ecx
je 0x140189d09
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140189cd9
mov rdi, rax
test rax, rax
jne 0x140189cbf
movzx eax, byte [0x1402e91f8]
mov ecx, 0x18
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x140189d2c
mov rdi, rax
lea rax, [0x1401e0148]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x1401e0160]
test ecx, ecx
je 0x140189d1c
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x140189cdd
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140189cdf
mov rcx, qword [rsi + 8]
jmp 0x140189cdf
xor eax, eax
jmp 0x140189cef
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, [0x1401e0148]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189c39
lea rcx, [0x1401e0148]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189c64
lea rcx, [0x1401e0148]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189cb7
mov ecx, 8
mov edx, 0x18
call fcn.1400206c0
ud2
Function at 0x140189d40
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 [0x1401e01a0]
test ecx, ecx
je 0x140189e16
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140189d74
cmp qword [rax + 8], 0
je 0x140189d74
add rax, 0x10
jmp 0x140189e0f
mov ecx, dword [0x1401e01a0]
test ecx, ecx
je 0x140189e29
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140189df9
mov rdi, rax
test rax, rax
jne 0x140189ddf
movzx eax, byte [0x1402e91f8]
mov ecx, 0x18
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x140189e4c
mov rdi, rax
lea rax, [0x1401e0188]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x1401e01a0]
test ecx, ecx
je 0x140189e3c
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x140189dfd
mov rcx, qword [rsi]
mov qword [rsi], 0
test rcx, rcx
je 0x140189dff
mov rcx, qword [rsi + 8]
jmp 0x140189dff
xor eax, eax
jmp 0x140189e0f
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, [0x1401e0188]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189d59
lea rcx, [0x1401e0188]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189d84
lea rcx, [0x1401e0188]
call fcn.1401549e0
mov ecx, eax
jmp 0x140189dd7
mov ecx, 8
mov edx, 0x18
call fcn.1400206c0
ud2

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

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov ecx, dword [0x1401e0110]
test ecx, ecx
je 0x14018a64e
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14018a564
mov rsi, rax
cmp qword [rax + 8], 0
je 0x14018a564
add rsi, 8
jmp 0x14018a644
mov ecx, dword [0x1401e0110]
test ecx, ecx
je 0x14018a661
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14018a642
mov rsi, rax
test rax, rax
jne 0x14018a5e5
lea rdi, [0x1401e00f8]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], 0
movzx eax, byte [0x1402e91f8]
mov ecx, 0x10
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x14018a698
mov rsi, rax
mov qword [rax], rdi
mov qword [rax + 8], 0
mov ecx, dword [0x1401e0110]
test ecx, ecx
je 0x14018a674
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
movzx eax, byte [0x1402e91f8]
mov ecx, 0x30
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x14018a687
add rsi, 8
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov byte [rax + 0x18], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x20], xmm0
mov rcx, qword [rsi]
mov qword [rsi], rax
test rcx, rcx
je 0x14018a644
lock dec qword [rcx]
jne 0x14018a644
call fcn.1400645f0
jmp 0x14018a644
xor esi, esi
mov rax, rsi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, [0x1401e00f8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018a546
lea rcx, [0x1401e00f8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018a574
lea rcx, [0x1401e00f8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018a5dd
mov ecx, 8
mov edx, 0x30
call fcn.1400206c0
ud2
mov ecx, 8
mov edx, 0x10
call fcn.1400206c0
ud2
Function at 0x14018ad20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x1401e01c0]
test ecx, ecx
je 0x14018adbf
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14018ad49
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x14018adae
mov ecx, dword [0x1401e01c0]
test ecx, ecx
je 0x14018add2
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14018adb4
mov rsi, rax
test rax, rax
jne 0x14018ada8
movzx eax, byte [0x1402e91f8]
mov ecx, 0x10
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x14018adf5
mov rsi, rax
lea rax, [0x1401e01a8]
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x1401e01c0]
test ecx, ecx
je 0x14018ade5
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
mov word [rsi + 8], 1
add rsi, 9
jmp 0x14018adb6
xor esi, esi
mov rax, rsi
add rsp, 0x20
pop rsi
ret
lea rcx, [0x1401e01a8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018ad35
lea rcx, [0x1401e01a8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018ad55
lea rcx, [0x1401e01a8]
call fcn.1401549e0
mov ecx, eax
jmp 0x14018ada0
mov ecx, 8
mov edx, 0x10
call fcn.1400206c0
ud2
Function at 0x140190b70
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 0x140190ba6
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x140190bae
mov esi, dword [rdx]
mov r9d, 4
jmp 0x140190bb3
xor r10d, r10d
jmp 0x140190c61
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140190bd6
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x140190bed
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 0x140190c0d
add r11, r8
jmp 0x140190d3e
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 0x140190ce2
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop word cs:[rax + rax]
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 0x140190c90
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x140190cf4
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x140190cfa
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x140190d20
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x140190d3a
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 0x140191d10
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x48
mov ecx, dword [0x1401e0180]
test ecx, ecx
je 0x140191e36
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140191d44
mov rsi, rax
cmp qword [rax + 8], 0
je 0x140191d44
add rsi, 0x10
jmp 0x140191e21
mov ecx, dword [0x1401e0180]
test ecx, ecx
je 0x140191e49
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140191e1f
mov rdi, rax
test rax, rax
jne 0x140191dd4
mov qword [rsp + 0x28], 0
lea rax, [0x1401e0168]
mov qword [rsp + 0x20], rax
movzx eax, byte [0x1402e91f8]
mov ecx, 0x28
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x140191e6f
mov rdi, rax
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x20], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov ecx, dword [0x1401e0180]
test ecx, ecx
je 0x140191e5c
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
lea rsi, [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
cmp qword [rdi + 8], 0
mov qword [rdi + 8], 1
movups xmm0, xmmword [0x140253788]
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], 0
je 0x140191e21
cmp rax, 2
je 0x140191e21
lock dec qword [rcx]
sete dl
test rax, rax
je 0x140191e2b
test dl, dl
je 0x140191e21
call fcn.14018d160
jmp 0x140191e21
xor esi, esi
mov rax, rsi
add rsp, 0x48
pop rdi
pop rsi
ret
test dl, dl
je 0x140191e21
call fcn.14018d120
jmp 0x140191e21
lea rcx, [0x1401e0168]
call fcn.1401549e0
mov ecx, eax
jmp 0x140191d26
lea rcx, [0x1401e0168]
call fcn.1401549e0
mov ecx, eax
jmp 0x140191d54
lea rcx, [0x1401e0168]
call fcn.1401549e0
mov ecx, eax
jmp 0x140191dcc
mov ecx, 8
mov edx, 0x28
call fcn.1400206c0
ud2

Function at 0x140192860
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
cmp rcx, 0xffffffffffffffff
je 0x1401928a9
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140192897
xor eax, eax
jmp 0x1401928a4
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rcx, str.called__Option::unwrap____on_a__None__value_Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_untrusted_0.7.1_src_untrusted.rss
lea r8, [0x140252458]
mov edx, 0x2b
call fcn.140025cf0
ud2
Function at 0x140192d40
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov qword [rsp + 0x50], r9
mov rbx, rdx
mov qword [rsp + 0x20], rcx
mov r15, qword [rdx + 0x10]
cmp r15, 0xffffffffffffffff
je 0x140193072
mov qword [rsp + 0x48], r8
mov rax, qword [rsp + 0xc0]
mov r14, qword [rbx + 8]
cmp rax, 0x7fffffff
mov ecx, 0x7fffffff
cmovb rcx, rax
mov qword [rsp + 0x40], rcx
mov rdi, qword [rbx + 0x18]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r9b, 1
call fcn.14018a940
mov rax, qword [rsp + 0x28]
cmp rax, 2
jne 0x14019309b
test rax, rax
je 0x1401930f0
mov rsi, qword [rsp + 0x30]
lea rcx, str.called__Option::unwrap____on_a__None__value_Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_untrusted_0.7.1_src_untrusted.rss
lea r8, [0x1402524f0]
mov edx, 0x2b
call fcn.140025cf0
ud2
Function at 0x1401935c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x1401e0130]
test ecx, ecx
je 0x14019365f
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x1401935e9
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x14019364e
mov ecx, dword [0x1401e0130]
test ecx, ecx
je 0x140193672
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x140193654
mov rsi, rax
test rax, rax
jne 0x140193648
movzx eax, byte [0x1402e91f8]
mov ecx, 0x10
mov edx, 8
call fcn.1400203c0
test rax, rax
je 0x140193695
mov rsi, rax
lea rax, [0x1401e0118]
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x1401e0130]
test ecx, ecx
je 0x140193685
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
mov word [rsi + 8], 0x201
add rsi, 9
jmp 0x140193656
xor esi, esi
mov rax, rsi
add rsp, 0x20
pop rsi
ret
lea rcx, [0x1401e0118]
call fcn.1401549e0
mov ecx, eax
jmp 0x1401935d5
lea rcx, [0x1401e0118]
call fcn.1401549e0
mov ecx, eax
jmp 0x1401935f5
lea rcx, [0x1401e0118]
call fcn.1401549e0
mov ecx, eax
jmp 0x140193640
mov ecx, 8
mov edx, 0x10
call fcn.1400206c0
ud2

Function at 0x140193960
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
nop word [rax + rax]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x140193970
test al, 1
je 0x14019398f
test al, 2
jne 0x1401939a9
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140252b98]
mov edx, 0x23
call fcn.140025cf0
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140252b58]
mov edx, 0x25
call fcn.140025cf0
ud2
Function at 0x1401ae150
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne fcn.1401ae150
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
repz ret

Function at 0x1401ae25a
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x1401ae230
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
aesenclast xmm8, xmm0
aesenclast xmm9, xmm0
repz ret
Function at 0x1401afb3d
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
xchg rcx, rdx
test rcx, rcx
je 0x1401afcb1
lea rsp, [rsp - 0xb8]
movaps xmmword [rsp + 0x10], xmm6
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x40], xmm9
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x80], xmm13
movaps xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0xa0], xmm15
movdqu xmm0, xmmword [r8]
movdqa xmm8, xmmword [0x1401afee0]
sub rsi, rdi
call fcn.1401afcc0
movdqa xmm6, xmm0
pshufb xmm6, xmmword [0x1401afed0]
test rcx, 1
je 0x1401afbfa
movdqu xmm7, xmmword [rdi]
call fcn.1401af340
pxor xmm0, xmm7
paddd xmm6, xmm8
movdqu xmmword [rsi + rdi], xmm0
sub rcx, 1
lea rdi, [rdi + 0x10]
je 0x1401afc66
movdqa xmm14, xmm6
movdqa xmm15, xmm6
paddd xmm15, xmm8
movdqa xmm1, xmmword [0x1401afed0]
movdqa xmm0, xmm14
movdqa xmm6, xmm15
pshufb xmm0, xmm1
pshufb xmm6, xmm1
call fcn.1401af4a0
movdqu xmm1, xmmword [rdi]
movdqu xmm2, xmmword [rdi + 0x10]
movdqa xmm3, xmmword [0x1401afef0]
pxor xmm0, xmm1
pxor xmm6, xmm2
paddd xmm14, xmm3
paddd xmm15, xmm3
movdqu xmmword [rsi + rdi], xmm0
movdqu xmmword [rsi + rdi + 0x10], xmm6
sub rcx, 2
lea rdi, [rdi + 0x20]
jne 0x1401afc09
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm15, xmmword [rsp + 0xa0]
lea rsp, [rsp + 0xb8]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
Function at 0x1401bb7c0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
vmovdqu xmm4, xmmword [rcx - 0x80]
vmovdqu xmm2, xmmword [r11 + 0x20]
lea r13, [rbp - 1]
vmovups xmm15, xmmword [rcx - 0x70]
lea r12, [rcx - 0x60]
vpxor xmm9, xmm1, xmm4
add ebx, 0x6000000
jb 0x1401bb8e0
vpaddb xmm10, xmm1, xmm2
vpaddb xmm11, xmm10, xmm2
vpxor xmm10, xmm10, xmm4
vpaddb xmm12, xmm11, xmm2
vpxor xmm11, xmm11, xmm4
vpaddb xmm13, xmm12, xmm2
vpxor xmm12, xmm12, xmm4
vpaddb xmm14, xmm13, xmm2
vpxor xmm13, xmm13, xmm4
vpaddb xmm1, xmm14, xmm2
vpxor xmm14, xmm14, xmm4
jmp 0x1401bb820
vaesenc xmm9, xmm9, xmm15
vaesenc xmm10, xmm10, xmm15
vaesenc xmm11, xmm11, xmm15
vaesenc xmm12, xmm12, xmm15
vaesenc xmm13, xmm13, xmm15
vaesenc xmm14, xmm14, xmm15
vmovups xmm15, xmmword [r12]
lea r12, [r12 + 0x10]
dec r13d
jne 0x1401bb820
vmovdqu xmm3, xmmword [r12]
vaesenc xmm9, xmm9, xmm15
vpxor xmm4, xmm3, xmmword [rdi]
vaesenc xmm10, xmm10, xmm15
vpxor xmm5, xmm3, xmmword [rdi + 0x10]
vaesenc xmm11, xmm11, xmm15
vpxor xmm6, xmm3, xmmword [rdi + 0x20]
vaesenc xmm12, xmm12, xmm15
vpxor xmm8, xmm3, xmmword [rdi + 0x30]
vaesenc xmm13, xmm13, xmm15
vpxor xmm2, xmm3, xmmword [rdi + 0x40]
vaesenc xmm14, xmm14, xmm15
vpxor xmm3, xmm3, xmmword [rdi + 0x50]
lea rdi, [rdi + 0x60]
vaesenclast xmm9, xmm9, xmm4
vaesenclast xmm10, xmm10, xmm5
vaesenclast xmm11, xmm11, xmm6
vaesenclast xmm12, xmm12, xmm8
vaesenclast xmm13, xmm13, xmm2
vaesenclast xmm14, xmm14, xmm3
vmovups xmmword [rsi], xmm9
vmovups xmmword [rsi + 0x10], xmm10
vmovups xmmword [rsi + 0x20], xmm11
vmovups xmmword [rsi + 0x30], xmm12
vmovups xmmword [rsi + 0x40], xmm13
vmovups xmmword [rsi + 0x50], xmm14
lea rsi, [rsi + 0x60]
repz ret
vpshufb xmm6, xmm1, xmm0
vmovdqu xmm5, xmmword [r11 + 0x30]
vpaddd xmm10, xmm6, xmmword [r11 + 0x40]
vpaddd xmm11, xmm6, xmm5
vpaddd xmm12, xmm10, xmm5
vpshufb xmm10, xmm10, xmm0
vpaddd xmm13, xmm11, xmm5
vpshufb xmm11, xmm11, xmm0
vpxor xmm10, xmm10, xmm4
vpaddd xmm14, xmm12, xmm5
vpshufb xmm12, xmm12, xmm0
vpxor xmm11, xmm11, xmm4
vpaddd xmm1, xmm13, xmm5
vpshufb xmm13, xmm13, xmm0
vpxor xmm12, xmm12, xmm4
vpshufb xmm14, xmm14, xmm0
vpxor xmm13, xmm13, xmm4
vpshufb xmm1, xmm1, xmm0
vpxor xmm14, xmm14, xmm4
jmp 0x1401bb820