joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140068fa0
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
mov rsi, r8
mov r8, rdx
mov rdx, rcx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x98], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [0x1402abe00]
movaps xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [0x1402abe10]
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x8c], 0x20
lea rcx, [rsp + 0x20]
call fcn.14007ef40
mov ebx, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
lea rdi, [rsp + 0x48]
mov eax, dword [rsp + 0x88]
lea rcx, [rax + 1]
mov byte [rsp + rax + 0x48], 0x80
cmp rax, 0x38
jb 0x14006906b
cmp eax, 0x3f
je 0x140069054
mov r8d, 0x3f
sub r8, rax
add rcx, rdi
xor edx, edx
call fcn.140260660
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.14007f190
xor ecx, ecx
jmp 0x140069071
cmp rcx, 0x38
je 0x140069084
mov r8d, 0x38
sub r8, rcx
add rcx, rdi
xor edx, edx
call fcn.140260660
bswap r14d
bswap ebp
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x84], ebp
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.14007f190
xorps xmm0, xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov dword [rdi + 0x40], 0
cmp ebx, 0x20
ja 0x14006913b
cmp ebx, 4
jb 0x14006913b
shr ebx, 2
mov eax, dword [rsp + 0x20]
bswap eax
mov dword [rsi], eax
cmp ebx, 1
je 0x14006913b
mov eax, dword [rsp + 0x24]
bswap eax
mov dword [rsi + 4], eax
cmp ebx, 2
je 0x14006913b
mov eax, dword [rsp + 0x28]
bswap eax
mov dword [rsi + 8], eax
cmp ebx, 3
je 0x14006913b
mov eax, dword [rsp + 0x2c]
bswap eax
mov dword [rsi + 0xc], eax
cmp ebx, 4
je 0x14006913b
mov eax, dword [rsp + 0x30]
bswap eax
mov dword [rsi + 0x10], eax
cmp ebx, 5
je 0x14006913b
mov eax, dword [rsp + 0x34]
bswap eax
mov dword [rsi + 0x14], eax
cmp ebx, 6
je 0x14006913b
mov eax, dword [rsp + 0x38]
bswap eax
mov dword [rsi + 0x18], eax
cmp ebx, 7
je 0x14006913b
mov eax, dword [rsp + 0x3c]
bswap eax
mov dword [rsi + 0x1c], eax
lea rcx, [rsp + 0x20]
mov edx, reloc.WS2_32.dll_WSASetLastError
call fcn.140093150
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14025cd50
mov rax, rsi
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
Function at 0x140069170
Capabilities:
Hash data using sha512

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x100
mov rsi, r8
mov r8, rdx
mov rdx, rcx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0xf8], rax
movabs rax, 0x6a09e667f3bcc908
mov qword [rsp + 0x20], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rsp + 0x28], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rsp + 0x30], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x38], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0x40], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x48], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x50], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x58], rax
movabs rax, 0x4000000000
mov qword [rsp + 0xf0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.14006a8a0
mov eax, dword [rsp + 0xf0]
mov ebx, dword [rsp + 0xf4]
lea rdi, [rsp + 0x70]
lea rcx, [rax + 1]
mov byte [rsp + rax + 0x70], 0x80
cmp rax, 0x70
jb 0x140069284
cmp eax, 0x7f
je 0x14006926d
mov r8d, 0x7f
sub r8, rax
add rcx, rdi
xor edx, edx
call fcn.140260660
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.140080250
xor ecx, ecx
jmp 0x14006928a
cmp rcx, 0x70
je 0x14006929d
mov r8d, reloc.WS2_32.dll_WSASetLastError
sub r8, rcx
add rcx, rdi
xor edx, edx
call fcn.140260660
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
bswap rcx
mov qword [rsp + 0xe0], rcx
bswap rax
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.140080250
test rsi, rsi
je 0x1400693c3
cmp ebx, 8
jb 0x1400693c3
mov eax, ebx
shr eax, 3
cmp ebx, 0x20
jae 0x1400692f6
xor edx, edx
mov rcx, rsi
jmp 0x140069395
mov edx, eax
and edx, 0xfffffffc
mov r8d, edx
lea rcx, [rsi + r8*8]
shl r8, 3
xor r9d, r9d
pxor xmm0, xmm0
nop dword [rax]
movdqu xmm1, xmmword [rsp + r9 + 0x20]
movdqu xmm2, xmmword [rsp + r9 + 0x30]
movdqa xmm3, xmm1
punpckhbw xmm3, xmm0
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm3
movdqa xmm3, xmm2
punpckhbw xmm3, xmm0
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [rsi + r9], xmm1
movdqu xmmword [rsi + r9 + 0x10], xmm2
add r9, 0x20
cmp r8, r9
jne 0x140069310
cmp rdx, rax
je 0x1400693c3
sub rax, rdx
lea rdx, [rsp + rdx*8]
add rdx, 0x20
xor r8d, r8d
nop word cs:[rax + rax]
mov r9, qword [rdx + r8*8]
bswap r9
mov qword [rcx + r8*8], r9
inc r8
cmp rax, r8
jne 0x1400693b0
lea rcx, [rsp + 0x20]
mov edx, 0xd8
call fcn.140093150
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.14025cd50
mov rax, rsi
add rsp, 0x100
pop rbx
pop rdi
pop rsi
ret
Function at 0x14006a810
Capabilities:
Hash data using sha512

Disassembly:
movabs rax, 0x6a09e667f3bcc908
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
movabs rax, 0x4000000000
mov qword [rcx + 0xd0], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x40], xmm0
mov eax, 1
ret
Function at 0x1400769c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 8]
bswap rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rcx]
bswap rcx
cmp r9, 0x10
jb 0x140076b14
mov rdi, r9
mov rbx, r8
mov r14, qword [rdx]
mov r15, qword [rdx + 8]
mov r12, r14
xor r12, r15
add rbx, 8
lea rsi, [rsp + 0x30]
nop word [rax + rax]
mov r13, qword [rbx - 8]
mov rbp, qword [rbx]
bswap rbp
xor rbp, rax
bswap r13
xor r13, rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov r8, rbp
mov r9, r15
call fcn.14008b240
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x40]
mov r8, r13
mov r9, r14
call fcn.14008b240
xor r13, rbp
lea rcx, [rsp + 0x38]
mov rdx, rsi
mov r8, r13
mov r9, r12
call fcn.14008b240
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov rax, r8
shl rax, 0x3f
mov rcx, r8
shl rcx, 0x3e
xor rcx, rax
mov rax, r8
shl rax, 0x39
xor rax, rcx
xor rax, qword [rsp + 0x38]
mov r11, r8
xor r11, r9
xor r11, r10
xor r11, rax
mov rax, r11
shr rax, 1
mov r13, r11
mov rbp, r11
shr rbp, 2
xor rbp, rax
mov rax, r11
mov rcx, r11
shr rcx, 7
xor rcx, rdx
xor rcx, rbp
mov rbp, r11
shld rbp, r8, 0x3f
shld r13, r8, 0x3e
shld rax, r8, 0x39
xor rcx, r11
xor rax, r13
xor rbp, qword [rsp + 0x30]
xor rax, r8
xor rax, r9
xor rax, r10
xor rax, rbp
xor rax, rdx
add rdi, 0xfffffffffffffff0
add rbx, 0x10
cmp rdi, 0xf
ja 0x140076a20
bswap rcx
bswap rax
mov rdx, qword [rsp + 0x28]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14025cd50
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140076b50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov r14, r8
mov rdi, rdx
mov rsi, rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x170], 0
movaps xmmword [rcx + 0x30], xmm0
movaps xmmword [rcx + 0x40], xmm0
cmp r9, 0xc
jne 0x140076ba0
mov eax, dword [r14 + 8]
mov dword [rsi + 8], eax
mov rax, qword [r14]
mov qword [rsi], rax
mov byte [rsi + 0xf], 1
mov ebx, 2
jmp 0x140076cc4
mov rbx, r9
cmp r9, 0x10
jb 0x140076be1
lea r15, [rsi + 0x50]
mov r12, rbx
mov rax, qword [r14]
xor qword [rsi], rax
mov rax, qword [r14 + 8]
xor qword [rsi + 8], rax
mov rcx, rsi
mov rdx, r15
call fcn.140076890
add r14, 0x10
add r12, 0xfffffffffffffff0
cmp r12, 0xf
ja 0x140076bb0
test r12, r12
jne 0x140076bed
jmp 0x140076ca6
mov r12, rbx
test r12, r12
je 0x140076ca6
cmp r12, 8
jb 0x140076c05
lea rax, [r14 + r12]
cmp rax, rsi
jbe 0x140076c71
lea rax, [rsi + r12]
cmp r14, rax
jae 0x140076c71
xor eax, eax
mov rdx, r12
mov rcx, rax
and rdx, 3
je 0x140076c31
mov rcx, rax
nop word cs:[rax + rax]
movzx r8d, byte [r14 + rcx]
xor byte [rsi + rcx], r8b
inc rcx
dec rdx
jne 0x140076c20
sub rax, r12
cmp rax, 0xfffffffffffffffc
ja 0x140076c9a
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rsi + rcx], al
movzx eax, byte [r14 + rcx + 1]
xor byte [rsi + rcx + 1], al
movzx eax, byte [r14 + rcx + 2]
xor byte [rsi + rcx + 2], al
movzx eax, byte [r14 + rcx + 3]
xor byte [rsi + rcx + 3], al
add rcx, 4
cmp r12, rcx
jne 0x140076c40
jmp 0x140076c9a
mov eax, r12d
and eax, 8
xor ecx, ecx
nop dword [rax]
mov rdx, qword [r14 + rcx]
xor qword [rsi + rcx], rdx
add rcx, 8
cmp rax, rcx
jne 0x140076c80
cmp r12, rax
jne 0x140076c07
lea rdx, [rsi + 0x50]
mov rcx, rsi
call fcn.140076890
shl rbx, 3
bswap rbx
xor qword [rsi + 8], rbx
lea rdx, [rsi + 0x50]
mov rcx, rsi
call fcn.140076890
mov ebx, dword [rsi + 0xc]
bswap ebx
inc ebx
lea rdx, [rsi + 0x20]
mov rcx, rsi
mov r8, rdi
call qword [rsi + 0x160]
bswap ebx
mov dword [rsi + 0xc], ebx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140076cf0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
xor eax, eax
cmp qword [rcx + 0x38], 0
jne 0x140076ea4
mov r9, qword [rcx + 0x30]
add r9, r8
setb r10b
movabs r11, 0x2000000000000000
cmp r9, r11
ja 0x140076ea4
test r10b, r10b
jne 0x140076ea4
mov qword [rcx + 0x30], r9
mov eax, dword [rcx + 0x174]
test eax, eax
je 0x140076d96
test r8, r8
je 0x140076e99
nop word cs:[rax + rax]
movzx r9d, byte [rdx]
mov r10d, eax
xor byte [rcx + r10 + 0x40], r9b
inc rdx
lea rbx, [r8 - 1]
inc eax
and eax, 0xf
je 0x140076d73
cmp r8, 1
mov r8, rbx
jne 0x140076d50
test eax, eax
jne 0x140076e99
lea rax, [rcx + 0x50]
mov r14, rcx
add rcx, 0x40
mov rsi, rdx
mov rdx, rax
call fcn.140076890
mov rdx, rsi
jmp 0x140076d9c
mov r14, rcx
mov rbx, r8
mov rsi, rbx
and rsi, 0xfffffffffffffff0
je 0x140076e88
lea rax, [r14 + 0x50]
lea rcx, [r14 + 0x40]
mov rdi, rdx
mov rdx, rax
mov r8, rdi
mov r9, rsi
call fcn.1400769c0
mov rdx, rdi
lea rax, [rdi + rsi]
and ebx, 0xf
test rbx, rbx
je 0x140076e94
cmp rbx, 8
mov rcx, r14
jb 0x140076e03
lea r8, [rcx + 0x40]
lea r9, [rbx + rsi]
add r9, rdx
cmp r8, r9
jae 0x140076eae
lea r8, [rcx + rbx]
add r8, 0x40
cmp rax, r8
jae 0x140076eae
xor r8d, r8d
mov r10, rbx
mov r9, r8
and r10, 3
je 0x140076e32
mov r9, r8
nop word cs:[rax + rax]
movzx r11d, byte [rax + r9]
xor byte [rcx + r9 + 0x40], r11b
inc r9
dec r10
jne 0x140076e20
sub r8, rbx
cmp r8, 0xfffffffffffffffc
ja 0x140076e84
lea rax, [rsi + rdx]
add rax, 3
nop word cs:[rax + rax]
movzx edx, byte [rax + r9 - 3]
xor byte [rcx + r9 + 0x40], dl
movzx edx, byte [rax + r9 - 2]
xor byte [rcx + r9 + 0x41], dl
movzx edx, byte [rax + r9 - 1]
xor byte [rcx + r9 + 0x42], dl
movzx edx, byte [rax + r9]
xor byte [rcx + r9 + 0x43], dl
add r9, 4
cmp rbx, r9
jne 0x140076e50
mov eax, ebx
jmp 0x140076e99
mov rax, rdx
test rbx, rbx
jne 0x140076dd5
xor eax, eax
mov rcx, r14
mov dword [rcx + 0x174], eax
mov eax, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
cmp rbx, 0x20
jae 0x140076eb9
xor r8d, r8d
jmp 0x140076f14
mov r8, rbx
and r8, 0xffffffffffffffe0
lea r9, [rsi + rdx]
add r9, 0x10
xor r10d, r10d
nop dword [rax + rax]
movups xmm0, xmmword [r9 + r10 - 0x10]
movups xmm1, xmmword [r9 + r10]
movups xmm2, xmmword [rcx + r10 + 0x40]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + r10 + 0x50]
xorps xmm0, xmm1
movups xmmword [rcx + r10 + 0x40], xmm2
movups xmmword [rcx + r10 + 0x50], xmm0
add r10, 0x20
cmp r8, r10
jne 0x140076ed0
cmp rbx, r8
je 0x140076e84
test bl, 0x18
je 0x140076e06
mov r9, r8
mov r8, rbx
and r8, 0xfffffffffffffff8
nop
mov r10, qword [rax + r9]
xor qword [rcx + r9 + 0x40], r10
add r9, 8
cmp r8, r9
jne 0x140076f20
cmp rbx, r8
je 0x140076e84
jmp 0x140076e06
Function at 0x14007db80
Capabilities:
Hash data using sha1

Disassembly:
mov r8d, 1
jmp fcn.14007db90
Function at 0x14007f180
Capabilities:
Hash data using murmur3
Hash data using sha256
Resolve function by parsing pe exports

Disassembly:
mov r8d, 1
jmp fcn.14007f190
Function at 0x14008cbe0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp dword [rcx + 0x2c0], 0
je 0x14008cc47
mov dword [rsp + 0x20], 0x2d4
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x42
call fcn.14004bbe0
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14025cd50
mov eax, esi
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rsi, rcx
cmp qword [rcx + 0x2b8], 0xffffffffffffffff
je 0x14008ccd0
mov r14, rdx
mov r15, r8
mov r12, r9
mov rcx, qword [rsi + 0x18]
call fcn.140066530
mov rdi, rax
test rax, rax
je 0x14008cc7d
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8, rdi
call fcn.140260660
mov rbx, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
lea rcx, [rsi + 0x18]
mov rdx, qword [rsi + 0x2b8]
bswap rdx
mov qword [rsp + rdi + 0x48], rdx
test rdi, rdi
mov r9, r12
mov r8, r15
mov rdx, r14
je 0x14008cd8e
cmp rdi, 8
jae 0x14008ccf3
xor r14d, r14d
jmp 0x14008cd78
mov dword [rsp + 0x20], 0x2d8
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x45
jmp 0x14008cc24
cmp rdi, 0x20
jae 0x14008ccfe
xor r14d, r14d
jmp 0x14008cd4e
mov r14, rdi
and r14, 0xffffffffffffffe0
xor r15d, r15d
nop dword [rax + rax]
movups xmm0, xmmword [rsi + r15 + 0x260]
movups xmm1, xmmword [rsi + r15 + 0x270]
xorps xmm0, xmmword [rsp + r15 + 0x50]
xorps xmm1, xmmword [rsp + r15 + 0x60]
movaps xmmword [rsp + r15 + 0x50], xmm0
movaps xmmword [rsp + r15 + 0x60], xmm1
add r15, 0x20
cmp r14, r15
jne 0x14008cd10
cmp rdi, r14
je 0x14008cd8e
test dil, 0x18
je 0x14008cd78
mov r15, r14
mov r14, rdi
and r14, 0xfffffffffffffff8
nop dword [rax + rax]
mov r12, qword [rsi + r15 + 0x260]
xor qword [rsp + r15 + 0x50], r12
add r15, 8
cmp r14, r15
jne 0x14008cd60
jmp 0x14008cd89
movzx ebp, byte [rsi + r14 + 0x260]
xor byte [rsp + r14 + 0x50], bpl
inc r14
cmp rdi, r14
jne 0x14008cd78
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400669a0
test eax, eax
je 0x14008cdcb
inc qword [rsi + 0x2b8]
mov esi, 1
jmp 0x14008cc29
xor esi, esi
jmp 0x14008cc29
Function at 0x14008cde0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp dword [rcx + 0x2c0], 0
je 0x14008ce97
mov rsi, rcx
cmp qword [rcx + 0x2b8], 0xffffffffffffffff
je 0x14008cebf
mov r14, rdx
mov r15, r8
mov r12, r9
mov rcx, qword [rsi + 0x18]
call fcn.140066530
mov rdi, rax
test rax, rax
je 0x14008ce44
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8, rdi
call fcn.140260660
mov rbx, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
lea rcx, [rsi + 0x18]
mov rdx, qword [rsi + 0x2b8]
bswap rdx
mov qword [rsp + rdi + 0x48], rdx
test rdi, rdi
mov r9, r12
mov r8, r15
mov rdx, r14
je 0x14008cf7e
cmp rdi, 8
jae 0x14008cee7
xor r14d, r14d
jmp 0x14008cf68
mov dword [rsp + 0x20], 0x2ec
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x42
call fcn.14004bbe0
jmp 0x14008cfba
mov dword [rsp + 0x20], 0x2f0
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x45
call fcn.14004bbe0
jmp 0x14008cfba
cmp rdi, 0x20
jae 0x14008cef2
xor r14d, r14d
jmp 0x14008cf3e
mov r14, rdi
and r14, 0xffffffffffffffe0
xor r15d, r15d
nop dword [rax]
movups xmm0, xmmword [rsi + r15 + 0x260]
movups xmm1, xmmword [rsi + r15 + 0x270]
xorps xmm0, xmmword [rsp + r15 + 0x50]
xorps xmm1, xmmword [rsp + r15 + 0x60]
movaps xmmword [rsp + r15 + 0x50], xmm0
movaps xmmword [rsp + r15 + 0x60], xmm1
add r15, 0x20
cmp r14, r15
jne 0x14008cf00
cmp rdi, r14
je 0x14008cf7e
test dil, 0x18
je 0x14008cf68
mov r15, r14
mov r14, rdi
and r14, 0xfffffffffffffff8
nop dword [rax + rax]
mov r12, qword [rsi + r15 + 0x260]
xor qword [rsp + r15 + 0x50], r12
add r15, 8
cmp r14, r15
jne 0x14008cf50
jmp 0x14008cf79
movzx ebp, byte [rsi + r14 + 0x260]
xor byte [rsp + r14 + 0x50], bpl
inc r14
cmp rdi, r14
jne 0x14008cf68
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400666c0
test eax, eax
je 0x14008cfb8
inc qword [rsi + 0x2b8]
mov esi, 1
jmp 0x14008cfba
xor esi, esi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14025cd50
mov eax, esi
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140093230
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x140093245
cmp r8, 8
jae 0x140093248
xor eax, eax
xor r9d, r9d
jmp 0x140093350
xor eax, eax
ret
cmp r8, 0x20
jae 0x140093258
xor r9d, r9d
xor eax, eax
jmp 0x1400932e7
mov rax, r8
and rax, 0xffffffffffffffe0
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop word [rax + rax]
movdqu xmm2, xmmword [rcx + r9]
movdqu xmm3, xmmword [rcx + r9 + 0x10]
movdqu xmm4, xmmword [rdx + r9]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [rdx + r9 + 0x10]
pxor xmm2, xmm3
por xmm1, xmm2
add r9, 0x20
cmp rax, r9
jne 0x140093270
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r9d, xmm1
cmp rax, r8
je 0x140093364
test r8b, 0x18
je 0x140093350
mov r10, rax
mov rax, r8
and rax, 0xfffffffffffffff8
movzx r9d, r9b
movd xmm0, r9d
nop word [rax + rax]
mov r9, qword [rdx + r10]
xor r9, qword [rcx + r10]
movq xmm1, r9
por xmm0, xmm1
add r10, 8
cmp rax, r10
jne 0x140093300
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r9d, xmm1
cmp rax, r8
je 0x140093364
nop word [rax + rax]
movzx r10d, byte [rdx + rax]
xor r10b, byte [rcx + rax]
or r9b, r10b
inc rax
cmp r8, rax
jne 0x140093350
movzx eax, r9b
ret

Function at 0x14009acf0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [rcx]
mov r10d, dword [rcx + 4]
test rdx, rdx
je 0x14009ad49
xor r11d, r11d
nop word cs:[rax + rax]
inc eax
movzx eax, al
mov esi, dword [rcx + rax*4 + 8]
add r10d, esi
movzx r10d, r10b
mov edi, dword [rcx + r10*4 + 8]
mov dword [rcx + rax*4 + 8], edi
mov dword [rcx + r10*4 + 8], esi
add edi, esi
movzx esi, dil
movzx ebx, byte [r8 + r11]
xor bl, byte [rcx + rsi*4 + 8]
mov byte [r9 + r11], bl
inc r11
cmp rdx, r11
jne 0x14009ad10
mov dword [rcx], eax
mov dword [rcx + 4], r10d
pop rbx
pop rdi
pop rsi
ret
Function at 0x14009d080
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, ecx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rax, [0x14009d120]
mov qword [rsp + 0x20], rax
lea rcx, [0x1403a4600]
lea rdx, [0x14009cf00]
lea r8, [rsp + 0x20]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x14009d114
cmp dword [0x1403a4608], 0
je 0x14009d0d1
xor esi, esi
jmp 0x14009d0fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, dword [0x1403a460c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x14009d0cd
movsxd rax, esi
mov rsi, qword [rdi + rax*8]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14025cd50
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
call fcn.14026731c
int3

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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov rsi, rdx
mov ebx, ecx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea rax, [0x14009d120]
mov qword [rsp + 0x28], rax
lea rcx, [0x1403a4600]
lea rdx, [0x14009cf00]
lea r8, [rsp + 0x28]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x14009d260
cmp dword [0x1403a4608], 0
je 0x14009d1b5
mov rcx, rsi
call rdi
xor esi, esi
jmp 0x14009d209
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, dword [0x1403a460c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14, r14
je 0x14009d225
lea r15, [0x1403a4610]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
movsxd rbx, ebx
lea rax, [0x1403a4620]
mov qword [rax + rbx*8], rdi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [r14 + rbx*8], rsi
mov esi, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14025cd50
mov eax, esi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 1
mov edx, 0x28
call fcn.140271c00
test rax, rax
je 0x14009d1ac
mov r14, rax
mov ecx, dword [0x1403a460c]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14009d1d9
mov rcx, r14
call fcn.140265df4
jmp 0x14009d1ac
call fcn.14026731c
int3