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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x80
mov rdi, r8
mov rsi, rdx
mov rbp, rcx
mov rbx, qword [rdx]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140085ca2
nop word [rax + rax]
cmp qword [rax], rbx
je 0x140085e3b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140085c90
mov qword [rsp + 0x58], rdi
mov rdx, rdi
mov ecx, 0xe8
call fcn.140021fa0
mov rbx, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [fcn.140086200]
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
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x38], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x48], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x50], rax
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x58], xmm0
mov eax, dword [rdi + 0x30]
mov dword [rbx + 0x68], eax
mov eax, dword [rdi + 0x34]
mov dword [rbx + 0x6c], eax
movups xmm0, xmmword [rdi + 0x38]
movups xmmword [rbx + 0x70], xmm0
mov rax, qword [rdi + 0x48]
mov qword [rbx + 0x80], rax
mov rax, qword [rdi + 0x50]
mov qword [rbx + 0x88], rax
mov rax, qword [rdi + 0x58]
mov qword [rbx + 0x90], rax
mov rax, qword [rdi + 0x60]
mov qword [rbx + 0x98], rax
mov eax, dword [rdi + 0x68]
mov dword [rbx + 0xa0], eax
mov rax, qword [rdi + 0x70]
mov qword [rbx + 0xa8], rax
movups xmm0, xmmword [rdi + 0x78]
movups xmmword [rbx + 0xb0], xmm0
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbx + 0xc0], xmm0
movups xmm0, xmmword [rdi + 0x98]
movups xmmword [rbx + 0xd0], xmm0
mov rax, qword [rdi + 0xa8]
mov qword [rbx + 0xe0], rax
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.140024870
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
test al, al
je 0x140085e1d
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.1400b35b0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call fcn.140086200
nop
lea rcx, [rsp + 0x20]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x50]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
cmp qword [rax + 8], 0
je 0x140085ca2
nop
mov rdx, rdi
mov rcx, rdi
call fcn.140086c10
nop
nop
jmp 0x140085e1d
Function at 0x140085e60
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x80
mov rdi, r8
mov rsi, rdx
mov rbp, rcx
mov rbx, qword [rdx]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140085eb2
nop word [rax + rax]
cmp qword [rax], rbx
je 0x140086037
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140085ea0
mov qword [rsp + 0x58], rdi
mov rdx, rdi
mov ecx, 0xe0
call fcn.140021fa0
mov rbx, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [fcn.1400860a0]
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
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x38], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x48], rax
movups xmm0, xmmword [rdi + 0x18]
movups xmmword [rbx + 0x50], xmm0
movsd xmm1, qword [rdi + 0x28]
movsd qword [rbx + 0x60], xmm1
mov eax, dword [rdi + 0x30]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x70], rax
mov rax, qword [rdi + 0x40]
mov qword [rbx + 0x78], rax
mov eax, dword [rdi + 0x4c]
mov dword [rbx + 0x84], eax
mov eax, dword [rdi + 0x50]
mov dword [rbx + 0x88], eax
movups xmm0, xmmword [rdi + 0x58]
movups xmmword [rbx + 0x90], xmm0
mov rax, qword [rdi + 0x68]
mov qword [rbx + 0xa0], rax
movups xmm0, xmmword [rdi + 0x70]
movups xmmword [rbx + 0xa8], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbx + 0xb8], xmm0
movups xmm0, xmmword [rdi + 0x90]
movups xmmword [rbx + 0xc8], xmm0
mov rax, qword [rdi + 0xa0]
mov qword [rbx + 0xd8], rax
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.140024870
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
test al, al
je 0x140086019
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.1400b35b0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call fcn.1400860a0
nop
lea rcx, [rsp + 0x20]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x50]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
cmp qword [rax + 8], 0
je 0x140085eb2
nop
mov rdx, rdi
mov rcx, rdi
call fcn.140086c50
nop
nop
jmp 0x140086019
Function at 0x1400869c0
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 - 0x40]
sub rsp, 0x140
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x60], xmm0
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x70], eax
mov eax, dword [rcx + 0x24]
mov dword [rbp - 0x6c], eax
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rbp - 0x68], xmm0
mov rax, qword [rcx + 0x38]
mov qword [rbp - 0x58], rax
mov rax, qword [rcx + 0x40]
mov qword [rbp - 0x50], rax
movups xmm0, xmmword [rcx + 0x48]
movups xmmword [rbp - 0x48], xmm0
movsd xmm1, qword [rcx + 0x58]
movsd qword [rbp - 0x38], xmm1
mov eax, dword [rcx + 0x60]
mov dword [rbp - 0x30], eax
mov rax, qword [rcx + 0x68]
mov qword [rbp - 0x28], rax
mov rax, qword [rcx + 0x70]
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rcx + 0x80]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rcx + 0x90]
movups xmmword [rbp], xmm1
movups xmm0, xmmword [rcx + 0xa0]
movups xmmword [rbp + 0x10], xmm0
mov rax, qword [rcx + 0xb0]
mov qword [rbp + 0x20], rax
lea rdi, [rdx + 8]
mov rsi, qword [rdx]
mov rbx, qword [rdi]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140086aa8
cmp qword [rax], rbx
je 0x140086bac
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140086a96
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x60]
mov ecx, 0x100
call fcn.140021fa0
mov rbx, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [fcn.1400871e0]
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
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x60]
call fcn.1400874c0
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140024870
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x140086b8f
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1402daed4]
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 [0x1402daed4]
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.1400b35b0
xor r9d, r9d
lea r8, [rbp + 0x28]
mov rdx, rbx
mov rcx, qword [rsi + 0x28]
call fcn.1400871e0
nop
lea rcx, [rsp + 0x38]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x140]
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 0x140086aa8
nop
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.1400875f0
nop
nop
jmp 0x140086b8f
Function at 0x140086c90
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
push rbp
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rbx, qword [rdx]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140086ce2
nop dword [rax]
cmp qword [rax], rbx
je 0x140086e4f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140086cd0
mov qword [rsp + 0x60], rdi
mov rdx, rdi
mov ecx, 0x110
call fcn.140021fa0
mov rbx, rax
xor r15d, r15d
mov qword [rax + 0x20], r15
lea rax, [0x140086eb0]
mov qword [rbx + 0x28], rax
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x30], r15d
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x38], xmm0
lea rdx, [rdi + 0x10]
lea rcx, [rbx + 0x48]
call fcn.140086830
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.140024870
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x68], r15
test al, al
je 0x140086e32
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1402daed4]
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 [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
call fcn.1400b35b0
mov rdi, qword [r14 + 0x28]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
movups xmm0, xmmword [rbx + 0x38]
movaps xmmword [rbp - 0x80], xmm0
lea rdx, [rbx + 0x48]
lea rcx, [rbp - 0x70]
call fcn.140086830
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x140086dea
mov qword [rsp + 0x48], r15
lea r8, [rbp - 0x80]
mov edx, 0x110
mov rcx, rbx
call fcn.140022030
mov ebx, r15d
mov qword [rsp + 0x40], rbx
test rdi, rdi
je 0x140086dfe
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.140087570
nop
nop
test rbx, rbx
je 0x140086e15
lea r8, [rbp - 0x80]
mov edx, 0x110
mov rcx, rbx
call fcn.140022030
nop
lea rcx, [rsp + 0x50]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp qword [rax + 8], 0
je 0x140086ce2
nop
mov rdx, rdi
mov rcx, rdi
call fcn.140087570
nop
nop
jmp 0x140086e32
Function at 0x140086f90
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x80
mov rdi, r8
mov rsi, rdx
mov rbp, rcx
mov rbx, qword [rdx]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140086fe2
nop word [rax + rax]
cmp qword [rax], rbx
je 0x140087180
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140086fd0
mov qword [rsp + 0x58], rdi
mov rdx, rdi
mov ecx, 0xf8
call fcn.140021fa0
mov rbx, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [fcn.140087370]
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
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x38], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x48], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x50], rax
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x58], xmm0
mov eax, dword [rdi + 0x30]
mov dword [rbx + 0x68], eax
mov eax, dword [rdi + 0x34]
mov dword [rbx + 0x6c], eax
movups xmm0, xmmword [rdi + 0x38]
movups xmmword [rbx + 0x70], xmm0
mov rax, qword [rdi + 0x48]
mov qword [rbx + 0x80], rax
mov rax, qword [rdi + 0x50]
mov qword [rbx + 0x88], rax
movups xmm0, xmmword [rdi + 0x58]
movups xmmword [rbx + 0x90], xmm0
movsd xmm1, qword [rdi + 0x68]
movsd qword [rbx + 0xa0], xmm1
mov eax, dword [rdi + 0x70]
mov dword [rbx + 0xa8], eax
mov rax, qword [rdi + 0x78]
mov qword [rbx + 0xb0], rax
mov rax, qword [rdi + 0x80]
mov qword [rbx + 0xb8], rax
movups xmm0, xmmword [rdi + 0x90]
movups xmmword [rbx + 0xc8], xmm0
movups xmm0, xmmword [rdi + 0xa0]
movups xmmword [rbx + 0xd8], xmm0
movups xmm0, xmmword [rdi + 0xb0]
movups xmmword [rbx + 0xe8], xmm0
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.140024870
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
test al, al
je 0x140087162
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
call fcn.1400b35b0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call fcn.140087370
nop
lea rcx, [rsp + 0x20]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x50]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
cmp qword [rax + 8], 0
je 0x140086fe2
nop
mov rdx, rdi
mov rcx, rdi
call fcn.1400875b0
nop
nop
jmp 0x140087162
Function at 0x140087630
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
push rbp
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rbx, qword [rdx]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140087682
nop dword [rax]
cmp qword [rax], rbx
je 0x140087821
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140087670
mov qword [rsp + 0x60], rdi
mov rdx, rdi
mov ecx, 0x128
call fcn.140021fa0
mov rbx, rax
xor r15d, r15d
mov qword [rax + 0x20], r15
lea rax, [0x140087880]
mov qword [rbx + 0x28], rax
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x30], r15d
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x38], xmm0
lea rdx, [rdi + 0x10]
lea rcx, [rbx + 0x48]
call fcn.1400850d0
movups xmm2, xmmword [rdx + 0xc8]
movups xmmword [rcx + 0xc8], xmm2
mov rax, qword [rdx + 0xd8]
mov qword [rcx + 0xd8], rax
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.140024870
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x68], r15
test al, al
je 0x140087804
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1402daed4]
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 [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
call fcn.1400b35b0
mov rdi, qword [r14 + 0x28]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
movups xmm0, xmmword [rbx + 0x38]
movaps xmmword [rbp - 0x80], xmm0
lea rdx, [rbx + 0x48]
lea rcx, [rbp - 0x70]
call fcn.1400850d0
movups xmm2, xmmword [rdx + 0xc8]
movups xmmword [rbp + 0x58], xmm2
mov rax, qword [rdx + 0xd8]
mov qword [rbp + 0x68], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
test rbx, rbx
je 0x1400877bc
mov qword [rsp + 0x48], r15
lea r8, [rbp - 0x80]
mov edx, 0x128
mov rcx, rbx
call fcn.140022030
mov ebx, r15d
mov qword [rsp + 0x40], rbx
test rdi, rdi
je 0x1400877d0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.140087950
nop
nop
test rbx, rbx
je 0x1400877e7
lea r8, [rbp - 0x80]
mov edx, 0x128
mov rcx, rbx
call fcn.140022030
nop
lea rcx, [rsp + 0x50]
call fcn.140024650
nop
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1402daed4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp qword [rax + 8], 0
je 0x140087682
nop
mov rdx, rdi
mov rcx, rdi
call fcn.140087950
nop
nop
jmp 0x140087804
Function at 0x140096480
Capabilities:
Set socket configuration

Disassembly:
push rdi
sub rsp, 0x30
cmp qword [rcx], 0xffffffffffffffff
mov rdi, rcx
je 0x140096561
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x20], r14
call fcn.1400b35b0
mov rsi, qword [rdi]
cmp rsi, 0xffffffffffffffff
je 0x140096541
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.1400b35b0
mov r14, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
test ebx, ebx
je 0x140096541
call fcn.1400b35b0
cmp r14, rax
jne 0x1400964f2
cmp ebp, 0x2733
je 0x140096504
call fcn.1400b35b0
cmp r14, rax
jne 0x140096546
cmp ebp, 0x4d5
jne 0x140096546
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov edx, 0x8004667e
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x140096546
call fcn.1400b35b0
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov qword [rdi], 0xffffffffffffffff
add rsp, 0x30
pop rdi
ret
Function at 0x14009a1d0
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rdi
push r12
sub rsp, 0x50
xor r12d, r12d
mov rbp, rcx
mov dword [rsp + 0x20], r12d
call fcn.1400b35b0
mov rcx, qword [rbp + 0x48]
lea r9, [rsp + 0x20]
add rcx, 0x28
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14006ace0
cmp dword [rsp + 0x20], r12d
jne 0x14009a3c4
cmp qword [rbp + 0x50], 0xffffffffffffffff
je 0x14009a3a0
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rsi
call fcn.1400b35b0
mov rbx, qword [rbp + 0x50]
cmp rbx, 0xffffffffffffffff
je 0x14009a265
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea edx, [r12 + 2]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_shutdown]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14009a26a
call fcn.1400b35b0
cmp qword [rbp + 0x50], 0xffffffffffffffff
mov rcx, qword [rbp + 0x48]
je 0x14009a344
xor eax, eax
lock cmpxchg qword [rcx + 0x38], r12
je 0x14009a28f
mov rdx, qword [rbp + 0x50]
mov rcx, rax
call fcn.1400238c0
mov rsi, qword [rbp + 0x50]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
cmp rsi, 0xffffffffffffffff
je 0x14009a333
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.1400b35b0
mov r15, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r14d, eax
test ebx, ebx
je 0x14009a333
call fcn.1400b35b0
cmp r15, rax
jne 0x14009a2e2
cmp r14d, 0x2733
je 0x14009a2f5
call fcn.1400b35b0
cmp r15, rax
jne 0x14009a338
cmp r14d, 0x4d5
jne 0x14009a338
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], r12d
mov edx, 0x8004667e
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [rbp + 0x58], 0xfc
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.1400b35b0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14009a338
call fcn.1400b35b0
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x14009a349
call fcn.1400b35b0
mov byte [rbp + 0x58], r12b
mov rsi, 0xffffffffffffffff
mov qword [rbp + 0x50], rsi
mov rbx, qword [rbp + 0x68]
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
test rbx, rbx
je 0x14009a390
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14009a390
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x14009a390
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14009a3bb
mov eax, dword [rbp + 0x40]
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x78], eax
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
add rsp, 0x50
pop r12
pop rdi
pop rbp
ret
lea rdx, str.cancel
lea rcx, [rsp + 0x20]
call fcn.140021d20
int3
Function at 0x1400a2ee0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1402cf480]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, rdx
mov rbx, rcx
call fcn.1400b35b0
mov rbx, qword [rbx + 8]
xor r15d, r15d
mov dword [rsp + 0x50], r15d
xorps xmm0, xmm0
mov qword [rsp + 0x38], 2
movdqu xmmword [rsp + 0x40], xmm0
cmp rbx, 0xffffffffffffffff
jne 0x1400a2f6d
mov ebp, 0x2719
mov dword [rsp + 0x20], ebp
call fcn.1400b35b0
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
mov dword [rsi + 0x18], r15d
mov qword [rsi], 2
test ebp, ebp
jne 0x1400a305d
jmp 0x1400a3010
xor ecx, ecx
mov qword [rsp + 0xa0], rdi
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0x1c
lea rdx, [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
movsxd r14, dword [rsp + 0x30]
mov edi, eax
call fcn.1400b35b0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x28], rbx
test edi, edi
mov rdi, qword [rsp + 0xa0]
mov ebp, eax
mov dword [rsp + 0x20], eax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
jne 0x1400a2f4d
mov dword [rsp + 0x20], r15d
call fcn.1400b35b0
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
cmp r14, 0x80
ja 0x1400a3035
movups xmm0, xmmword [rsp + 0x38]
mov eax, dword [rsp + 0x50]
movsd xmm1, qword [rsp + 0x48]
movups xmmword [rsi], xmm0
movsd qword [rsi + 0x10], xmm1
mov dword [rsi + 0x18], eax
mov rax, rsi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401fb000
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
mov dword [rsp + 0x20], 0x2726
call fcn.1400b35b0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140021ce0
int3
lea rdx, str.local_endpoint
lea rcx, [rsp + 0x20]
call fcn.140021d20
int3