joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140212030
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, qword [0x140485900]
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rsi, rcx
test rcx, rcx
je 0x140212245
mov rax, qword [rcx]
test rax, rax
je 0x140212237
mov rdx, qword [rax]
shr rdx, 2
mov qword [rax + 0x28], rdx
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
add rax, 7
mov qword [rdx + 0x20], rax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x20]
shl rax, 4
mov qword [rdx + 0x10], rax
mov rdi, qword [rcx]
mov edx, 1
mov rcx, qword [rdi + 0x10]
call sym.calloc
mov qword [rdi + 0x18], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14021223e
mov r8, qword [rax]
mov rdx, qword [rax + 8]
call sym.memcpy
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x20]
mov r8, qword [rcx + 0x28]
shl rax, 2
cmp r8, rax
jae 0x1402121e0
lea r9, [r8*4]
mov r12, r8
lea r10, [rsp + 0x20]
lea r11, [rsp + 0x24]
lea rdi, [0x14046ae60]
lea rbp, [0x14046af60]
nop dword [rax]
mov rax, qword [rcx + 0x18]
xor edx, edx
mov r13d, dword [rax + r9 - 4]
mov rax, r8
div r12
mov dword [rsp + 0x20], r13d
test rdx, rdx
je 0x140212180
cmp rdx, 4
jne 0x14021212b
cmp r12, 6
ja 0x140212200
xor eax, eax
mov rdx, qword [rcx + 0x18]
mov r14, r8
sub r14, qword [rcx + 0x28]
lea r12, [rdx + rax]
lea rdx, [rdx + r14*4]
movzx edx, byte [rdx + rax]
xor dl, byte [r10 + rax]
add rax, 1
mov byte [r12 + r9], dl
cmp rax, 4
je 0x140212160
mov rcx, qword [rsi]
jmp 0x14021212d
mov rcx, qword [rsi]
add r8, 1
add r9, 4
mov rax, qword [rcx + 0x20]
shl rax, 2
cmp r8, rax
jae 0x1402121e0
mov r12, qword [rcx + 0x28]
jmp 0x140212100
movzx edx, word [rsp + 0x21]
mov r12, r10
mov word [r11], dx
movzx edx, byte [rsp + 0x23]
mov byte [r11 + 2], dl
mov byte [rsp + 0x27], r13b
mov edx, dword [rsp + 0x24]
mov dword [rsp + 0x20], edx
movzx edx, byte [r12]
add r12, 1
mov r13, rdx
and edx, 0xf0
and r13d, 0xf
add rdx, rdi
movzx edx, byte [rdx + r13]
mov byte [r12 - 1], dl
cmp r12, r11
jne 0x1402121a2
movzx eax, byte [rbp + rax - 1]
xor byte [rsp + 0x20], al
jmp 0x14021212b
xor eax, eax
mov rdx, qword [rsp + 0x28]
sub rdx, qword [rbx]
jne 0x14021224c
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rdx, r10
lea r14, [rsp + 0x24]
lea r13, [0x14046ae60]
movzx eax, byte [rdx]
add rdx, 1
mov r12, rax
and eax, 0xf0
and r12d, 0xf
add rax, r13
movzx eax, byte [rax + r12]
mov byte [rdx - 1], al
cmp r14, rdx
jne 0x14021220f
jmp 0x14021212b
mov eax, 7
jmp 0x1402121e2
mov eax, 8
jmp 0x1402121e2
mov eax, 2
jmp 0x1402121e2
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x140212900
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
endbr64
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rdi, qword [0x140485900]
mov edx, 1
mov ecx, 0x20
mov rax, qword [rdi]
mov qword [rsp + 0x38], rax
xor eax, eax
call sym.calloc
mov rsi, rax
test rax, rax
je 0x1402129c2
lea rbx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__ftime64]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__gmtime64]
movzx r13d, word [rsp + 0x28]
mov ecx, 1
mov rbp, rax
mov rdx, r13
call sym.calloc
mov edx, dword [rbp + 0x14]
mov r12, rax
mov eax, dword [rbp + 0x10]
lea ebx, [rdx + rax + 0x76d]
add ebx, dword [rbp + 0xc]
add ebx, dword [rbp + 8]
add ebx, dword [rbp + 4]
add ebx, dword [rbp]
call sym.getpid
add ebx, r13d
add r13, r12
add eax, r13d
add ebx, eax
test r12, r12
je 0x1402129a4
mov rcx, r12
call sym.free
mov ecx, ebx
call sym.srand
xor r8d, r8d
mov edx, 2
mov rcx, rsi
mov qword [rsi], 0
call sym.oaes_set_option
mov rax, qword [rsp + 0x38]
sub rax, qword [rdi]
jne 0x1402129de
mov rax, rsi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]
nop
Function at 0x1402132d0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
endbr64
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
test rcx, rcx
je 0x14021336a
test rdx, rdx
je 0x140213376
lea r9, [rdx + 0x10]
lea r8, [0x14046ae60]
nop dword [rax]
movzx eax, byte [rdx]
add rdx, 1
mov rcx, rax
and eax, 0xf0
and ecx, 0xf
add rax, r8
movzx eax, byte [rax + rcx]
mov byte [rdx - 1], al
cmp r9, rdx
jne 0x140213300
mov rcx, rbx
call sym.oaes_shift_rows.isra.0
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 4]
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 8]
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 0xc]
call sym.oaes_mix_cols.isra.0
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rsi + rax]
xor byte [rbx + rax], dl
add rax, 1
cmp rax, 0x10
jne 0x140213350
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
mov eax, 2
add rsp, 0x28
pop rbx
pop rsi
ret
mov eax, 3
jmp 0x140213363
Function at 0x140217c10
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
endbr64
mov r9d, 1
mov r8d, 0x81
jmp sym.blake256_final_h

Function at 0x140217c30
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
endbr64
xor r9d, r9d
mov r8d, pe_nt_image_headers64
jmp sym.blake256_final_h

Function at 0x140217c50
Capabilities:
Hash data using sha256

Disassembly:
endbr64
push rdi
push rsi
push rbx
sub rsp, 0xb0
movdqu xmm0, xmmword [0x14046b470]
mov rsi, qword [0x140485900]
movups xmmword [rsp + 0x20], xmm0
lea rdi, [rsp + 0x20]
movdqu xmm0, xmmword [0x14046b480]
mov rbx, rcx
mov rax, qword [rsi]
mov qword [rsp + 0xa8], rax
xor eax, eax
mov rcx, rdi
lea r8, [r8*8]
mov qword [rsp + 0x58], 0
movups xmmword [rsp + 0x30], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x50], 0
movups xmmword [rsp + 0x40], xmm0
call sym.blake256_update
mov r9d, 1
mov rdx, rbx
mov rcx, rdi
mov r8d, 0x81
call sym.blake256_final_h
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x140217cee
add rsp, 0xb0
pop rbx
pop rsi
pop rdi
ret
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]
nop

Function at 0x140217d00
Capabilities:
Hash data using sha256

Disassembly:
endbr64
push rdi
push rsi
push rbx
sub rsp, 0xb0
movdqu xmm0, xmmword [0x14046b490]
mov rsi, qword [0x140485900]
movups xmmword [rsp + 0x20], xmm0
lea rdi, [rsp + 0x20]
movdqu xmm0, xmmword [0x14046b4a0]
mov rbx, rcx
mov rax, qword [rsi]
mov qword [rsp + 0xa8], rax
xor eax, eax
mov rcx, rdi
lea r8, [r8*8]
mov qword [rsp + 0x58], 0
movups xmmword [rsp + 0x30], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x50], 0
movups xmmword [rsp + 0x40], xmm0
call sym.blake256_update
xor r9d, r9d
mov rdx, rbx
mov rcx, rdi
mov r8d, pe_nt_image_headers64
call sym.blake256_final_h
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x140217d9b
add rsp, 0xb0
pop rbx
pop rsi
pop rdi
ret
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x140217db0
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
endbr64
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movups xmmword [rsp + 0x90], xmm6
movups xmmword [rsp + 0xa0], xmm7
movups xmmword [rsp + 0xb0], xmm8
mov rsi, qword [0x140485900]
mov rax, qword [rsi]
mov qword [rsp + 0x88], rax
xor eax, eax
mov r13, rcx
mov rbx, rdx
mov rbp, r8
cmp r8, 0x40
ja 0x140217f68
movdqu xmm0, xmmword [str.6666666666666666_]
pxor xmm8, xmm8
movdqu xmm7, xmmword [0x14046b470]
mov qword [rcx + 0x38], 0
movdqu xmm6, xmmword [0x14046b480]
movups xmmword [rcx + 0x20], xmm8
lea r12, [rsp + 0x40]
mov qword [rcx + 0x30], 0
movups xmmword [rcx], xmm7
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
test r8, r8
je 0x140217fe0
lea rdi, [rsp + 0x20]
mov rax, r12
mov rdx, rbx
lea r8, [r12 + rbp]
nop dword [rax]
movzx ecx, byte [rdx]
xor byte [rax], cl
add rax, 1
add rdx, 1
cmp r8, rax
jne 0x140217e70
mov r8d, 0x200
mov rdx, r12
mov rcx, r13
call sym.blake256_update
pxor xmm0, xmm0
mov rax, r12
mov rdx, rbx
movups xmmword [r13 + 0xa0], xmm0
movdqu xmm0, xmmword [0x14046b4c0]
lea r8, [r12 + rbp]
lea rcx, [r13 + 0x80]
mov qword [r13 + 0xb8], 0
mov qword [r13 + 0xb0], 0
movups xmmword [r13 + 0x80], xmm7
movups xmmword [r13 + 0x90], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
nop word [rax + rax]
movzx r9d, byte [rdx]
xor byte [rax], r9b
add rax, 1
add rdx, 1
cmp r8, rax
jne 0x140217ef8
mov rdx, r12
mov r8d, 0x200
call sym.blake256_update
mov edx, 0x20
mov rcx, rdi
call sym.memwipe
mov rax, qword [rsp + 0x88]
sub rax, qword [rsi]
jne 0x140218049
movups xmm6, xmmword [rsp + 0x90]
movups xmm7, xmmword [rsp + 0xa0]
movups xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rdi, [rsp + 0x20]
mov ebp, 0x20
lea r12, [rsp + 0x40]
mov rcx, rdi
mov rbx, rdi
call sym.blake256_hash
pxor xmm0, xmm0
movdqu xmm7, xmmword [0x14046b470]
movdqu xmm6, xmmword [0x14046b480]
movups xmmword [r13 + 0x20], xmm0
movdqu xmm0, xmmword [str.6666666666666666_]
mov qword [r13 + 0x38], 0
mov qword [r13 + 0x30], 0
movups xmmword [r13], xmm7
movups xmmword [r13 + 0x10], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
jmp 0x140217e63
mov r8d, 0x200
mov rdx, r12
lea rdi, [rsp + 0x20]
call sym.blake256_update
movdqu xmm0, xmmword [0x14046b4c0]
mov qword [r13 + 0xb8], 0
lea rcx, [r13 + 0x80]
mov qword [r13 + 0xb0], 0
movups xmmword [r13 + 0x80], xmm7
movups xmmword [r13 + 0x90], xmm6
movups xmmword [r13 + 0xa0], xmm8
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
jmp 0x140217f0c
call dbg.__stack_chk_fail
nop
nop
Function at 0x140218050
Capabilities:
Encode data using xor

Disassembly:
endbr64
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movups xmmword [rsp + 0x90], xmm6
movups xmmword [rsp + 0xa0], xmm7
movups xmmword [rsp + 0xb0], xmm8
mov rsi, qword [0x140485900]
mov rax, qword [rsi]
mov qword [rsp + 0x88], rax
xor eax, eax
mov r13, rcx
mov rbx, rdx
mov rbp, r8
cmp r8, 0x40
ja 0x140218208
movdqu xmm0, xmmword [str.6666666666666666_]
pxor xmm8, xmm8
movdqu xmm7, xmmword [0x14046b490]
mov qword [rcx + 0x38], 0
movdqu xmm6, xmmword [0x14046b4a0]
movups xmmword [rcx + 0x20], xmm8
lea r12, [rsp + 0x40]
mov qword [rcx + 0x30], 0
movups xmmword [rcx], xmm7
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
test r8, r8
je 0x140218280
lea rdi, [rsp + 0x20]
mov rax, r12
mov rdx, rbx
lea r8, [r12 + rbp]
nop dword [rax]
movzx ecx, byte [rdx]
xor byte [rax], cl
add rax, 1
add rdx, 1
cmp r8, rax
jne 0x140218110
mov r8d, 0x200
mov rdx, r12
mov rcx, r13
call sym.blake256_update
pxor xmm0, xmm0
mov rax, r12
mov rdx, rbx
movups xmmword [r13 + 0xa0], xmm0
movdqu xmm0, xmmword [0x14046b4c0]
lea r8, [r12 + rbp]
lea rcx, [r13 + 0x80]
mov qword [r13 + 0xb8], 0
mov qword [r13 + 0xb0], 0
movups xmmword [r13 + 0x80], xmm7
movups xmmword [r13 + 0x90], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
nop word [rax + rax]
movzx r9d, byte [rdx]
xor byte [rax], r9b
add rax, 1
add rdx, 1
cmp r8, rax
jne 0x140218198
mov rdx, r12
mov r8d, 0x200
call sym.blake256_update
mov edx, 0x20
mov rcx, rdi
call sym.memwipe
mov rax, qword [rsp + 0x88]
sub rax, qword [rsi]
jne 0x1402182e9
movups xmm6, xmmword [rsp + 0x90]
movups xmm7, xmmword [rsp + 0xa0]
movups xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rdi, [rsp + 0x20]
mov ebp, 0x1c
lea r12, [rsp + 0x40]
mov rcx, rdi
mov rbx, rdi
call sym.blake256_hash
pxor xmm0, xmm0
movdqu xmm7, xmmword [0x14046b490]
movdqu xmm6, xmmword [0x14046b4a0]
movups xmmword [r13 + 0x20], xmm0
movdqu xmm0, xmmword [str.6666666666666666_]
mov qword [r13 + 0x38], 0
mov qword [r13 + 0x30], 0
movups xmmword [r13], xmm7
movups xmmword [r13 + 0x10], xmm6
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
jmp 0x140218103
mov r8d, 0x200
mov rdx, r12
lea rdi, [rsp + 0x20]
call sym.blake256_update
movdqu xmm0, xmmword [0x14046b4c0]
mov qword [r13 + 0xb8], 0
lea rcx, [r13 + 0x80]
mov qword [r13 + 0xb0], 0
movups xmmword [r13 + 0x80], xmm7
movups xmmword [r13 + 0x90], xmm6
movups xmmword [r13 + 0xa0], xmm8
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
jmp 0x1402181ac
call dbg.__stack_chk_fail
nop
nop
Function at 0x140219800
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
mov r12, qword [0x140485900]
mov rax, qword [r12]
mov qword [rsp + 0x128], rax
xor eax, eax
mov rdi, rcx
lea rbp, [rsp + 0x20]
lea rbx, [rsp + 0xe0]
movdqu xmm1, xmmword [rdx + rax]
movdqu xmm0, xmmword [rdi + rax]
pxor xmm0, xmm1
movups xmmword [rbx + rax], xmm1
movups xmmword [rbp + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140219834
lea rsi, [rsp + 0xa0]
xor r8d, r8d
lea r13, [rsp + 0x60]
mov rcx, rbx
mov rdx, rsi
call sym.RND512Q
mov r8d, 0x1000000
mov rdx, rbx
mov rcx, rsi
call sym.RND512Q
mov r8d, 0x2000000
mov rdx, rsi
mov rcx, rbx
call sym.RND512Q
mov r8d, 0x3000000
mov rdx, rbx
mov rcx, rsi
call sym.RND512Q
mov r8d, 0x4000000
mov rdx, rsi
mov rcx, rbx
call sym.RND512Q
mov r8d, 0x5000000
mov rdx, rbx
mov rcx, rsi
call sym.RND512Q
mov r8d, 0x6000000
mov rdx, rsi
mov rcx, rbx
call sym.RND512Q
mov r8d, 0x7000000
mov rdx, rbx
mov rcx, rsi
call sym.RND512Q
mov r8d, 0x8000000
mov rdx, rsi
mov rcx, rbx
call sym.RND512Q
mov r8d, 0x9000000
mov rdx, r13
mov rcx, rsi
call sym.RND512Q
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call sym.RND512P
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call sym.RND512P
mov r8d, 2
mov rdx, rsi
mov rcx, rbx
call sym.RND512P
mov r8d, 3
mov rdx, rbx
mov rcx, rsi
call sym.RND512P
mov r8d, 4
mov rdx, rsi
mov rcx, rbx
call sym.RND512P
mov r8d, 5
mov rdx, rbx
mov rcx, rsi
call sym.RND512P
mov r8d, 6
mov rdx, rsi
mov rcx, rbx
call sym.RND512P
mov r8d, 7
mov rdx, rbx
mov rcx, rsi
call sym.RND512P
mov r8d, 8
mov rdx, rsi
mov rcx, rbx
call sym.RND512P
mov r8d, 9
mov rdx, rbp
mov rcx, rsi
call sym.RND512P
xor eax, eax
movdqu xmm0, xmmword [rdi + rax]
pxor xmm0, xmmword [rbp + rax]
pxor xmm0, xmmword [r13 + rax]
movups xmmword [rdi + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x1402199b2
mov rax, qword [rsp + 0x128]
sub rax, qword [r12]
jne 0x1402199f0
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]
Function at 0x140219eb0
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rbx
sub rsp, 0x1c8
mov rbx, qword [0x140485900]
mov rax, qword [rbx]
mov qword [rsp + 0x1b8], rax
xor eax, eax
shl r8d, 8
movzx edx, dl
lea rax, [rsp + 0x20]
or r8d, edx
mov rsi, rcx
mov rdx, rax
movzx ecx, r8w
call qword [sym.imp.WS2_32.dll_WSAStartup]
xchg dword [rsi + 4], eax
mov rax, qword [rsp + 0x1b8]
sub rax, qword [rbx]
jne 0x140219f06
add rsp, 0x1c8
pop rbx
pop rsi
ret
call dbg.__stack_chk_fail
nop
nop dword [rax]
Function at 0x140229940
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rbx
sub rsp, 0x1c8
mov rbx, qword [0x140485900]
mov rax, qword [rbx]
mov qword [rsp + 0x1b8], rax
xor eax, eax
shl r8d, 8
movzx edx, dl
lea rax, [rsp + 0x20]
or r8d, edx
mov rsi, rcx
mov rdx, rax
movzx ecx, r8w
call qword [sym.imp.WS2_32.dll_WSAStartup]
xchg dword [rsi + 4], eax
mov rax, qword [rsp + 0x1b8]
sub rax, qword [rbx]
jne 0x140229996
add rsp, 0x1c8
pop rbx
pop rsi
ret
call dbg.__stack_chk_fail
nop
nop dword [rax]
Function at 0x14022a370
Capabilities:
Send data
Send data on socket

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb0
mov rbp, qword [0x140485900]
mov rax, qword [rbp]
mov qword [rsp + 0xa8], rax
xor eax, eax
mov rsi, rcx
mov rdi, rdx
lock xadd dword [rcx + 0x30], eax
test eax, eax
je 0x14022a490
pxor xmm0, xmm0
mov qword [rsp + 0x20], rcx
lea rbx, [rsp + 0x40]
lea rcx, [0x14037b4e0]
mov dword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x28], rbx
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
call sym.__emutls_get_address
mov r12, rax
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [r12], rax
nop dword [rax + rax]
mov r9, rdi
mov r8, rbx
mov edx, 0xffffffff
mov rcx, rsi
call method.boost::asio::detail::win_iocp_io_context.do_one_unsigned_long__boost::asio::detail::win_iocp_thread_info__boost::system::error_code_
test rax, rax
jne 0x14022a410
mov rax, qword [rsp + 0x30]
mov rdi, qword [sym.imp.msvcrt.dll__aligned_free]
lea rsi, [rsp + 0x90]
mov qword [r12], rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x14022a44a
call rdi
add rbx, 8
cmp rsi, rbx
jne 0x14022a440
cmp qword [rsp + 0x98], 0
je 0x14022a46b
lea rcx, [rsp + 0x98]
call sym.std::__exception_ptr::exception_ptr::_M_release__
mov rax, qword [rsp + 0xa8]
sub rax, qword [rbp]
jne 0x14022a502
add rsp, 0xb0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call method.boost::asio::detail::win_iocp_io_context.stop__
mov dword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
jmp 0x14022a46b
call dbg.__stack_chk_fail
mov rcx, rdi
call sym._Unwind_Resume
nop
Function at 0x14022bff0
Capabilities:
Set socket configuration

Disassembly:
endbr64
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbp, qword [0x140485900]
movdqu xmm0, xmmword [rcx + 8]
mov rax, qword [rbp]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x10]
mov rbx, rcx
mov edi, edx
movups xmmword [rsp + 0x40], xmm0
test rax, rax
je 0x14022c0c0
lock add dword [rax + 8], 1
movdqu xmm1, xmmword [rcx + 0x18]
mov rax, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x50], xmm1
test rcx, rcx
je 0x14022c04e
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov rsi, qword [rsp + 0x48]
lea rcx, [0x14037b4e0]
call sym.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14022c08b
mov rax, qword [rax + 8]
test rax, rax
je 0x14022c08b
cmp qword [rax + 0x20], 0
je 0x14022c128
cmp qword [rax + 0x28], 0
mov edx, 5
je 0x14022c12d
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__aligned_free]
test dil, dil
jne 0x14022c0f8
test rsi, rsi
je 0x14022c0e0
mov rax, qword [rsp + 0x68]
sub rax, qword [rbp]
jne 0x14022c15b
mov rcx, rsi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
jmp method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
movdqu xmm2, xmmword [rcx + 0x18]
mov rax, qword [rcx + 0x28]
xor esi, esi
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x50], xmm2
jmp 0x14022c053
mov rax, qword [rsp + 0x68]
sub rax, qword [rbp]
jne 0x14022c15b
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
ret
movdqu xmm3, xmmword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm3
call sym._ZZNK4epee9net_utils14direct_connectclERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_RN5boost4asio20basic_waitable_
jmp 0x14022c099
mov edx, 4
movzx ecx, byte [rbx + 0x38]
mov byte [rbx], cl
mov qword [rax + rdx*8], rbx
jmp 0x14022c094
call dbg.__stack_chk_fail
mov rcx, rbx
call sym._Unwind_Resume
nop
nop dword [rax]
Function at 0x14022c170
Capabilities:
Set socket configuration

Disassembly:
endbr64
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbp, qword [0x140485900]
movdqu xmm0, xmmword [rcx + 8]
mov rax, qword [rbp]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x10]
mov rbx, rcx
mov edi, edx
movups xmmword [rsp + 0x40], xmm0
test rax, rax
je 0x14022c240
lock add dword [rax + 8], 1
movdqu xmm1, xmmword [rcx + 0x18]
mov rax, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x50], xmm1
test rcx, rcx
je 0x14022c1ce
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov rsi, qword [rsp + 0x48]
lea rcx, [0x14037b4e0]
call sym.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14022c20b
mov rax, qword [rax + 8]
test rax, rax
je 0x14022c20b
cmp qword [rax + 0x20], 0
je 0x14022c2a8
cmp qword [rax + 0x28], 0
mov edx, 5
je 0x14022c2ad
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__aligned_free]
test dil, dil
jne 0x14022c278
test rsi, rsi
je 0x14022c260
mov rax, qword [rsp + 0x68]
sub rax, qword [rbp]
jne 0x14022c2db
mov rcx, rsi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
jmp method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
movdqu xmm2, xmmword [rcx + 0x18]
mov rax, qword [rcx + 0x28]
xor esi, esi
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x50], xmm2
jmp 0x14022c1d3
mov rax, qword [rsp + 0x68]
sub rax, qword [rbp]
jne 0x14022c2db
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
ret
movdqu xmm3, xmmword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm3
call sym._ZZNK4epee9net_utils14direct_connectclERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_RN5boost4asio20basic_waitable_
jmp 0x14022c219
mov edx, 4
movzx ecx, byte [rbx + 0x38]
mov byte [rbx], cl
mov qword [rax + rdx*8], rbx
jmp 0x14022c214
call dbg.__stack_chk_fail
mov rcx, rbx
call sym._Unwind_Resume
nop
nop dword [rax]