joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140068f30
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 [0x14039de68]
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.14006a660
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 0x140069044
cmp eax, 0x7f
je 0x14006902d
mov r8d, 0x7f
sub r8, rax
add rcx, rdi
xor edx, edx
call fcn.14025d290
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.14007ffd0
xor ecx, ecx
jmp 0x14006904a
cmp rcx, 0x70
je 0x14006905d
mov r8d, reloc.WS2_32.dll_WSASetLastError
sub r8, rcx
add rcx, rdi
xor edx, edx
call fcn.14025d290
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.14007ffd0
test rsi, rsi
je 0x140069183
cmp ebx, 8
jb 0x140069183
mov eax, ebx
shr eax, 3
cmp ebx, 0x20
jae 0x1400690b6
xor edx, edx
mov rcx, rsi
jmp 0x140069155
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 0x1400690d0
cmp rdx, rax
je 0x140069183
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 0x140069170
lea rcx, [rsp + 0x20]
mov edx, 0xd8
call fcn.140092d90
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.140259980
mov rax, rsi
add rsp, 0x100
pop rbx
pop rdi
pop rsi
ret
Function at 0x14006a5d0
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 0x140076750
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 [0x14039de68]
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 0x1400768a4
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.14008afa0
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x40]
mov r8, r13
mov r9, r14
call fcn.14008afa0
xor r13, rbp
lea rcx, [rsp + 0x38]
mov rdx, rsi
mov r8, r13
mov r9, r12
call fcn.14008afa0
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 0x1400767b0
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.140259980
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400768e0
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 0x140076930
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 0x140076a54
mov rbx, r9
cmp r9, 0x10
jb 0x140076971
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.140076620
add r14, 0x10
add r12, 0xfffffffffffffff0
cmp r12, 0xf
ja 0x140076940
test r12, r12
jne 0x14007697d
jmp 0x140076a36
mov r12, rbx
test r12, r12
je 0x140076a36
cmp r12, 8
jb 0x140076995
lea rax, [r14 + r12]
cmp rax, rsi
jbe 0x140076a01
lea rax, [rsi + r12]
cmp r14, rax
jae 0x140076a01
xor eax, eax
mov rdx, r12
mov rcx, rax
and rdx, 3
je 0x1400769c1
mov rcx, rax
nop word cs:[rax + rax]
movzx r8d, byte [r14 + rcx]
xor byte [rsi + rcx], r8b
inc rcx
dec rdx
jne 0x1400769b0
sub rax, r12
cmp rax, 0xfffffffffffffffc
ja 0x140076a2a
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 0x1400769d0
jmp 0x140076a2a
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 0x140076a10
cmp r12, rax
jne 0x140076997
lea rdx, [rsi + 0x50]
mov rcx, rsi
call fcn.140076620
shl rbx, 3
bswap rbx
xor qword [rsi + 8], rbx
lea rdx, [rsi + 0x50]
mov rcx, rsi
call fcn.140076620
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 0x140076a80
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 0x140076c34
mov r9, qword [rcx + 0x30]
add r9, r8
setb r10b
movabs r11, 0x2000000000000000
cmp r9, r11
ja 0x140076c34
test r10b, r10b
jne 0x140076c34
mov qword [rcx + 0x30], r9
mov eax, dword [rcx + 0x174]
test eax, eax
je 0x140076b26
test r8, r8
je 0x140076c29
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 0x140076b03
cmp r8, 1
mov r8, rbx
jne 0x140076ae0
test eax, eax
jne 0x140076c29
lea rax, [rcx + 0x50]
mov r14, rcx
add rcx, 0x40
mov rsi, rdx
mov rdx, rax
call fcn.140076620
mov rdx, rsi
jmp 0x140076b2c
mov r14, rcx
mov rbx, r8
mov rsi, rbx
and rsi, 0xfffffffffffffff0
je 0x140076c18
lea rax, [r14 + 0x50]
lea rcx, [r14 + 0x40]
mov rdi, rdx
mov rdx, rax
mov r8, rdi
mov r9, rsi
call fcn.140076750
mov rdx, rdi
lea rax, [rdi + rsi]
and ebx, 0xf
test rbx, rbx
je 0x140076c24
mov rcx, r14
lea r8, [r14 + 0x40]
cmp rbx, 8
jb 0x140076b93
lea r9, [rbx + rsi]
add r9, rdx
cmp r8, r9
jae 0x140076c3e
lea r9, [rcx + rbx]
add r9, 0x40
cmp rax, r9
jae 0x140076c3e
xor r9d, r9d
mov r11, rbx
mov r10, r9
and r11, 3
je 0x140076bc1
mov r10, r9
nop word cs:[rax + rax]
movzx edi, byte [rax + r10]
xor byte [r8 + r10], dil
inc r10
dec r11
jne 0x140076bb0
sub r9, rbx
cmp r9, 0xfffffffffffffffc
ja 0x140076c14
lea rax, [rsi + rdx]
add rax, 3
nop word cs:[rax + rax]
movzx edx, byte [rax + r10 - 3]
xor byte [rcx + r10 + 0x40], dl
movzx edx, byte [rax + r10 - 2]
xor byte [rcx + r10 + 0x41], dl
movzx edx, byte [rax + r10 - 1]
xor byte [rcx + r10 + 0x42], dl
movzx edx, byte [rax + r10]
xor byte [rcx + r10 + 0x43], dl
add r10, 4
cmp rbx, r10
jne 0x140076be0
mov eax, ebx
jmp 0x140076c29
mov rax, rdx
test rbx, rbx
jne 0x140076b65
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 0x140076c49
xor r9d, r9d
jmp 0x140076ca4
mov r9, rbx
and r9, 0xffffffffffffffe0
lea r10, [rsi + rdx]
add r10, 0x10
xor r11d, r11d
nop dword [rax + rax]
movups xmm0, xmmword [r10 + r11 - 0x10]
movups xmm1, xmmword [r10 + r11]
movups xmm2, xmmword [rcx + r11 + 0x40]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + r11 + 0x50]
xorps xmm0, xmm1
movups xmmword [rcx + r11 + 0x40], xmm2
movups xmmword [rcx + r11 + 0x50], xmm0
add r11, 0x20
cmp r9, r11
jne 0x140076c60
cmp rbx, r9
je 0x140076c14
test bl, 0x18
je 0x140076b96
mov r10, r9
mov r9, rbx
and r9, 0xfffffffffffffff8
nop
mov r11, qword [rax + r10]
xor qword [r8 + r10], r11
add r10, 8
cmp r9, r10
jne 0x140076cb0
cmp rbx, r9
je 0x140076c14
jmp 0x140076b96
Function at 0x14007d900
Capabilities:
Hash data using sha1

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

Disassembly:
mov r8d, 1
jmp fcn.14007ef10
Function at 0x14008c940
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 [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp dword [rcx + 0x2c0], 0
je 0x14008c9a7
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.14004ba00
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140259980
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 0x14008ca30
mov r14, rdx
mov r15, r8
mov r12, r9
mov rcx, qword [rsi + 0x18]
call fcn.1400662f0
mov rdi, rax
test rax, rax
je 0x14008c9dd
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8, rdi
call fcn.14025d290
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 0x14008caee
cmp rdi, 8
jae 0x14008ca53
xor r14d, r14d
jmp 0x14008cad8
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 0x14008c984
cmp rdi, 0x20
jae 0x14008ca5e
xor r14d, r14d
jmp 0x14008caae
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 0x14008ca70
cmp rdi, r14
je 0x14008caee
test dil, 0x18
je 0x14008cad8
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 0x14008cac0
jmp 0x14008cae9
movzx ebp, byte [rsi + r14 + 0x260]
xor byte [rsp + r14 + 0x50], bpl
inc r14
cmp rdi, r14
jne 0x14008cad8
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.140066760
test eax, eax
je 0x14008cb2b
inc qword [rsi + 0x2b8]
mov esi, 1
jmp 0x14008c989
xor esi, esi
jmp 0x14008c989
Function at 0x14008cb40
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 [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp dword [rcx + 0x2c0], 0
je 0x14008cbf7
mov rsi, rcx
cmp qword [rcx + 0x2b8], 0xffffffffffffffff
je 0x14008cc1f
mov r14, rdx
mov r15, r8
mov r12, r9
mov rcx, qword [rsi + 0x18]
call fcn.1400662f0
mov rdi, rax
test rax, rax
je 0x14008cba4
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8, rdi
call fcn.14025d290
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 0x14008ccde
cmp rdi, 8
jae 0x14008cc47
xor r14d, r14d
jmp 0x14008ccc8
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.14004ba00
jmp 0x14008cd1a
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.14004ba00
jmp 0x14008cd1a
cmp rdi, 0x20
jae 0x14008cc52
xor r14d, r14d
jmp 0x14008cc9e
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 0x14008cc60
cmp rdi, r14
je 0x14008ccde
test dil, 0x18
je 0x14008ccc8
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 0x14008ccb0
jmp 0x14008ccd9
movzx ebp, byte [rsi + r14 + 0x260]
xor byte [rsp + r14 + 0x50], bpl
inc r14
cmp rdi, r14
jne 0x14008ccc8
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.140066480
test eax, eax
je 0x14008cd18
inc qword [rsi + 0x2b8]
mov esi, 1
jmp 0x14008cd1a
xor esi, esi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140259980
mov eax, esi
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140092e70
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x140092e85
cmp r8, 8
jae 0x140092e88
xor eax, eax
xor r9d, r9d
jmp 0x140092f90
xor eax, eax
ret
cmp r8, 0x20
jae 0x140092e98
xor r9d, r9d
xor eax, eax
jmp 0x140092f27
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 0x140092eb0
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 0x140092fa4
test r8b, 0x18
je 0x140092f90
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 0x140092f40
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 0x140092fa4
nop word [rax + rax]
movzx r10d, byte [rdx + rax]
xor r10b, byte [rcx + rax]
or r9b, r10b
inc rax
cmp r8, rax
jne 0x140092f90
movzx eax, r9b
ret

Function at 0x14009a930
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 0x14009a989
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 0x14009a950
mov dword [rcx], eax
mov dword [rcx + 4], r10d
pop rbx
pop rdi
pop rsi
ret
Function at 0x14009ccc0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, ecx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rax, [0x14009cd60]
mov qword [rsp + 0x20], rax
lea rcx, [0x1403a0530]
lea rdx, [0x14009cb40]
lea r8, [rsp + 0x20]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x14009cd54
cmp dword [0x1403a0538], 0
je 0x14009cd11
xor esi, esi
jmp 0x14009cd3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, dword [0x1403a053c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x14009cd0d
movsxd rax, esi
mov rsi, qword [rdi + rax*8]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140259980
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
call fcn.140263f4c
int3

Function at 0x14009cd90
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 [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea rax, [0x14009cd60]
mov qword [rsp + 0x28], rax
lea rcx, [0x1403a0530]
lea rdx, [0x14009cb40]
lea r8, [rsp + 0x28]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x14009cea0
cmp dword [0x1403a0538], 0
je 0x14009cdf5
mov rcx, rsi
call rdi
xor esi, esi
jmp 0x14009ce49
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, dword [0x1403a053c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14, r14
je 0x14009ce65
lea r15, [0x1403a0540]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
movsxd rbx, ebx
lea rax, [0x1403a0550]
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.140259980
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.14026e830
test rax, rax
je 0x14009cdec
mov r14, rax
mov ecx, dword [0x1403a053c]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14009ce19
mov rcx, r14
call fcn.140262a24
jmp 0x14009cdec
call fcn.140263f4c
int3
Function at 0x1400e09f0
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x28
test rcx, rcx
jle 0x1400e0a10
mov r8, rcx
xor ecx, ecx
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
setns al
jmp 0x1400e0a12
mov al, 1
add rsp, 0x28
ret

Function at 0x1400e4880
Capabilities:
Enumerate files on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x280
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x278], rax
mov ebx, 4
cmp byte [rcx + 0x18], 0
jne 0x1400e4a05
mov rdi, rdx
mov rsi, rcx
cmp qword [rcx + 0x10], 0
je 0x1400e4930
movsxd rax, dword [rsi + 0x1c]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi + 8]
mov word [rcx + rax*2], 0
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400e48f5
test rax, rax
je 0x1400e48e5
cmp qword [rax + 0x20], rcx
je 0x1400e48fe
call fcn.1402599a0
mov qword [rsi + 0x20], 0
mov rax, qword [rsi]
test rax, rax
je 0x1400e4902
mov rcx, qword [rax + 0x20]
mov qword [rsi + 0x20], rcx
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400e49f0
lea r8, [rsp + 0x28]
mov rcx, rdi
mov rdx, rsi
call fcn.1400e4a30
mov ebx, eax
jmp 0x1400e4a05
cmp qword [rsi], 0
lea rax, [0x1402c5c24]
lea rbx, [0x1402c5c28]
cmove rbx, rax
mov r14, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov r15d, 0x7fff
mov edx, 0x7fff
sub rdx, rax
lea rcx, [r14 + rax*2]
lea r8, [0x14029c682]
mov r9, rbx
call fcn.140016cb0
mov word [r14 + 0xfffe], 0
test eax, eax
js 0x1400e49da
movsxd r14, eax
sub r15, qword [rdi + 0x10]
cmp r15, r14
jl 0x1400e49da
mov edx, 0x8000
mov rcx, rbx
call fcn.14026e268
cmp rax, r14
jne 0x1400e49da
add r14, qword [rdi + 0x10]
mov qword [rdi + 0x10], r14
dec r14d
mov dword [rsi + 0x1c], r14d
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x1400e49e5
mov qword [rsi + 0x10], rax
movsxd rax, dword [rsi + 0x1c]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi + 8]
mov word [rcx + rax*2], 0
jmp 0x1400e4919
mov ecx, reloc.WS2_32.dll_WSAGetLastError
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [rsi + 0x18], 1
mov ebx, 3
jmp 0x1400e4a05
mov byte [rsi + 0x18], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp eax, 0x12
sete bl
add ebx, 3
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.140259980
mov eax, ebx
add rsp, 0x280
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret