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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x140115b60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140115b40]
test rbx, rbx
je 0x140014a2c
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x140014a23
test rsi, rsi
je 0x140014a23
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140014a08
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x140014c40
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x140014c78
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140014c80
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x140014c50
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x140014c78
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140014c80
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x140014c60
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x140014c78
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140014c80
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x140014d80
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140110180]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x140014da0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x140014da8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140014da0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x140014dfd
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x140014df4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x140014da0
add rax, 0x28
cmp rax, r9
jne 0x140014de0
xor eax, eax
ret

Function at 0x140014e00
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140110180]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x140014e1f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x140014e28
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x140014e1f
movzx ecx, word [rax + 6]
mov eax, ecx
ret
Function at 0x140014ec0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140110180]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x140014edf
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140014ee8
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x14001b020
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x98
movabs rax, 0x6c6320726f727245
mov qword [rsp + 0x20], rax
movabs rax, 0x7520676e696e6165
mov qword [rsp + 0x28], rax
movabs rax, 0x6b5f6e6970732070
mov qword [rsp + 0x30], rax
movabs rax, 0x20726f6620737965
mov qword [rsp + 0x38], rax
movabs rax, 0x20646165726874
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x87], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdx, [rsp + 0x47]
mov r8d, 0xa
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
cmp byte [rsp + 0x47], 0
je 0x14001b12a
lea rcx, [rsp + 0x20]
mov eax, 0x28
jmp 0x14001b102
add rax, 1
cmp rax, 0x6b
je 0x14001b11f
cmp byte [rcx + rax], 0
jne 0x14001b0f8
cmp eax, 0x6a
movsxd rdx, eax
je 0x14001b11f
add eax, 1
cdqe
mov byte [rsp + rdx + 0x20], 0xa
mov byte [rsp + rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
lea rcx, [rsp + 0x20]
mov eax, 0x28
mov edx, 0x27
jmp 0x14001b113

Function at 0x14001b4a0
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
cmp dword [0x140116650], 1
je 0x14001b518
lea rdi, [0x140116650]
mov rcx, rdi
call fcn.14001ada0
lea rbp, [rax + 8]
mov rbx, rax
mov rcx, rbp
call fcn.14001a720
mov esi, dword [0x140116650]
test esi, esi
jne 0x14001b528
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [0x140020678], eax
je 0x14001fef6
mov dword [0x140116650], 1
mov rcx, rbp
call fcn.14001aa10
test rbx, rbx
je 0x14001b518
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.14001b140
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp esi, 1
je 0x14001b4f8
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, esi
mov r8, rdi
lea rdx, str._once__p_is__d_n
mov rcx, rax
call fcn.14001a1f0
jmp 0x14001b4f8
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop
Function at 0x14001ba10
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 0x14001ba52
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x14001ba5a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14001ba6b
jmp 0x14001ba82
xor r10d, r10d
jmp 0x14001bb0d
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x14001ba82
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14001ba99
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 0x14001bab9
add r11, r8
jmp 0x14001bbeb
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 0x14001bb82
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
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 0x14001bb30
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x14001bba0
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x14001bbb2
jmp 0x14001bbcd
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14001bbcd
lea rcx, [rdx + r8]
movzx esi, word [r10 + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x14001bbe7
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 0x14001cdc0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
add rcx, 0x48
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
mov r8d, 0x20
call fcn.1401af230
test rax, rax
je 0x14001ce2c
mov qword [rbp + 0x48], rax
mov rcx, rax
mov qword [rbp + 0x50], rdx
call qword [rdx]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14001ce95
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x48]
call fcn.1400260a0
jmp 0x14001ce95
movaps xmm0, xmmword [rbp + 0x20]
movaps xmm1, xmmword [rbp + 0x30]
movups xmmword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x60], xmm0
lea r8, [0x14022a02e]
lea rcx, [rbp - 0x40]
lea rdx, [rbp - 0x60]
mov r9d, 8
call fcn.1401af030
mov rax, qword [rbp - 0x40]
movups xmm0, xmmword [rbp - 0x38]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp], xmm0
mov rcx, qword [rbp - 0x18]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x38], rcx
mov qword [rdi], rax
movaps xmm0, xmmword [rbp - 0x10]
movaps xmm1, xmmword [rbp]
movups xmmword [rdi + 8], xmm0
movups xmmword [rdi + 0x18], xmm1
mov rax, qword [rbp + 0x10]
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x40], 0
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov edx, 6
mov r8, rsi
add rsp, 0xe0
pop rdi
pop rsi
pop rbp
jmp fcn.1401acb40
Function at 0x1400464b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x78
cmp dword [rcx], 2
jne 0x140046546
movdqu xmm0, xmmword [rcx + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet]
pshufd xmm2, xmm0, 0xee
pxor xmm2, xmmword [0x140229800]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmmword [rsp + 0x40], xmm2
movdqa xmmword [rsp + 0x50], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov rsi, qword [rdx]
mov rdi, qword [rsi]
xor eax, eax
test rdi, rdi
setne al
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14001ba10
test rdi, rdi
je 0x1400465d5
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x30]
jmp 0x1400465ee
mov rcx, qword [rdx]
mov r8, qword [rcx]
xor edx, edx
test r8, r8
setne dl
movabs rax, 0xcbf29ce484222325
xor rax, rdx
movabs rdx, 0x1efac7090aef4a21
imul rax, rdx
test r8, r8
je 0x1400466e6
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x140046768
mov rcx, qword [rcx + 8]
movabs rdx, 0x100000001b3
mov r10, r9
and r10, 7
je 0x1400466f3
mov r11, rax
mov r8, rcx
nop word cs:[rax + rax]
movzx eax, byte [r8]
inc r8
xor rax, r11
imul rax, rdx
mov r11, rax
dec r10
jne 0x1400465b0
cmp r9, 8
jae 0x1400466fc
jmp 0x140046768
movzx eax, byte [rsi + 8]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14001ba10
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
add r8, rcx
rol rcx, 0xd
xor rax, r9
xor rcx, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x38]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rax, r8
xor rcx, rdx
rol rdx, 0x20
xor r8, r9
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
add rdx, rax
shl rax, 0x10
xor rax, rdx
shr rax, 0x2b
add rdx, rcx
shr rcx, 0x2f
xor rcx, rax
mov rax, rdx
shr rax, 0x20
xor rax, rdx
xor rax, rcx
jmp 0x140046768
movzx ecx, byte [rcx + 8]
xor rax, rcx
imul rax, rdx
jmp 0x140046768
mov r8, rcx
cmp r9, 8
jb 0x140046768
add rcx, r9
nop
movzx r9d, byte [r8]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 1]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 2]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 3]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 4]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 5]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 6]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 7]
add r8, 8
xor rax, r9
imul rax, rdx
cmp r8, rcx
jne 0x140046700
and eax, 0x7fff
add rsp, 0x78
pop rdi
pop rsi
ret
Function at 0x140046780
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rsi, rdx
cmp dword [rcx], 2
jne 0x140046816
movdqu xmm0, xmmword [rcx + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmmword [rsp + 0x30], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140229800]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x50], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov rdi, qword [rsi]
xor eax, eax
test rdi, rdi
setne al
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14001ba10
test rdi, rdi
je 0x1400468a5
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x30]
jmp 0x1400468be
mov rdx, qword [rsi]
xor ecx, ecx
test rdx, rdx
setne cl
movabs rax, 0xcbf29ce484222325
xor rax, rcx
movabs rcx, 0x1efac7090aef4a21
imul rax, rcx
test rdx, rdx
je 0x1400469b6
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x140046a38
mov rcx, qword [rsi + 8]
movabs rdx, 0x100000001b3
mov r10, r9
and r10, 7
je 0x1400469c3
mov r11, rax
mov r8, rcx
nop word cs:[rax + rax]
movzx eax, byte [r8]
inc r8
xor rax, r11
imul rax, rdx
mov r11, rax
dec r10
jne 0x140046880
cmp r9, 8
jae 0x1400469cc
jmp 0x140046a38
movzx eax, byte [rsi + 8]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.14001ba10
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
add r8, rcx
rol rcx, 0xd
xor rax, r9
xor rcx, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x38]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rax, r8
xor rcx, rdx
rol rdx, 0x20
xor r8, r9
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
add rdx, rax
shl rax, 0x10
xor rax, rdx
shr rax, 0x2b
add rdx, rcx
shr rcx, 0x2f
xor rcx, rax
mov rax, rdx
shr rax, 0x20
xor rax, rdx
xor rax, rcx
jmp 0x140046a38
movzx edx, byte [rsi + 8]
xor rax, rdx
imul rax, rcx
jmp 0x140046a38
mov r8, rcx
cmp r9, 8
jb 0x140046a38
add rcx, r9
nop
movzx r9d, byte [r8]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 1]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 2]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 3]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 4]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 5]
xor rax, r9
imul rax, rdx
movzx r9d, byte [r8 + 6]
xor r9, rax
imul r9, rdx
movzx eax, byte [r8 + 7]
add r8, 8
xor rax, r9
imul rax, rdx
cmp r8, rcx
jne 0x1400469d0
and eax, 0x7fff
add rsp, 0x78
pop rdi
pop rsi
ret
Function at 0x14004bed0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm6
call fcn.1401af800
cmp qword [rax], 0
je 0x14004bf0f
add rax, 8
jmp 0x14004bf19
mov rcx, rax
xor edx, edx
call fcn.14008e750
movdqu xmm6, xmmword [rax]
inc qword [rax]
pshufd xmm7, xmm6, 0x44
pxor xmm7, xmmword [str.uespemosarenegylmodnarodsetybdet]
pshufd xmm8, xmm6, 0xee
pxor xmm8, xmmword [0x140229800]
mov ebx, 1
lea r14, [rsp + 0x60]
xorps xmm9, xmm9
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x28]
nop word cs:[rax + rax]
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x50], xmm6
movaps xmmword [r14], xmm9
mov qword [r14 + 0x10], 0
mov qword [rsp + 0x28], rbx
mov r8d, 8
mov rcx, rsi
mov rdx, rdi
call fcn.14001ba10
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
add rax, rcx
rol rcx, 0xd
xor rdx, r9
xor rcx, rax
rol rax, 0x20
mov r8, qword [rsp + 0x38]
add r8, rdx
rol rdx, 0x10
xor rdx, r8
add rax, rdx
rol rdx, 0x15
add r8, rcx
rol rcx, 0x11
xor rdx, rax
xor rcx, r8
rol r8, 0x20
xor rax, r9
add rax, rcx
rol rcx, 0xd
xor rcx, rax
rol rax, 0x20
xor r8, 0xff
add r8, rdx
rol rdx, 0x10
xor rdx, r8
add rax, rdx
rol rdx, 0x15
add r8, rcx
rol rcx, 0x11
xor rcx, r8
rol r8, 0x20
xor rdx, rax
add rax, rcx
rol rcx, 0xd
xor rcx, rax
rol rax, 0x20
add r8, rdx
rol rdx, 0x10
xor rdx, r8
add rax, rdx
rol rdx, 0x15
add r8, rcx
rol rcx, 0x11
xor rcx, r8
rol r8, 0x20
xor rdx, rax
add rax, rcx
rol rcx, 0xd
add r8, rdx
rol rdx, 0x10
xor rdx, r8
rol rdx, 0x15
xor rcx, rax
add r8, rcx
rol rcx, 0x11
mov rax, r8
rol rax, 0x20
xor rax, rcx
xor rax, rdx
inc rbx
xor rax, r8
je 0x14004bf60
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x1400c0dc0
Capabilities:
Encrypt data via sspi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov rax, rcx
mov qword [rcx + 0x138], rdx
mov rbx, qword [r8]
mov r14, qword [r8 + 8]
lea rcx, [rbp - 0x48]
mov qword [rbp - 8], rax
mov rdx, rax
call fcn.1400c3660
mov eax, dword [rbp - 0x48]
cmp eax, 2
jne 0x1400c0e15
mov rdi, qword [rbp - 0x40]
jmp 0x1400c0fb9
test eax, eax
je 0x1400c0f6e
mov rdi, qword [rbp - 8]
mov r12, qword [rdi + 0x198]
cmp r12, qword [rdi + 0x190]
jne 0x1400c0fa9
mov rsi, qword [rbp - 0x40]
mov r13d, esi
shr rsi, 0x20
cmp r14, rsi
cmovb rsi, r14
mov r15d, dword [rbp - 0x44]
lea r14, [rsi + r15]
add r13, r14
sub r13, r12
jbe 0x1400c0eb8
lea rcx, [rdi + 0x180]
mov rax, qword [rcx]
sub rax, r12
cmp rax, r13
jae 0x1400c0e7f
mov rdx, r12
mov r8, r13
call fcn.14021b130
mov rdi, qword [rbp - 8]
mov r12, qword [rdi + 0x190]
mov rdi, qword [rdi + 0x188]
lea rcx, [rdi + r12]
cmp r13, 2
jb 0x1400c0ea7
lea r8, [r13 - 1]
xor edx, edx
call fcn.14021ac20
add r12, r13
dec r12
add rdi, r12
mov rcx, rdi
mov byte [rcx], 0
inc r12
mov rdi, qword [rbp - 8]
mov qword [rdi + 0x190], r12
cmp r14, r12
ja 0x1400c1019
mov rcx, qword [rdi + 0x188]
add rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.14021a580
mov rdx, qword [rdi + 0x190]
cmp rdx, r15
jb 0x1400c102d
cmp rdx, r14
jb 0x1400c103e
mov rax, qword [rdi + 0x188]
lea rcx, [rax + r15]
sub edx, r14d
add r14, rax
mov dword [rbp - 0x48], r15d
mov dword [rbp - 0x44], 7
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], esi
mov dword [rbp - 0x34], 1
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x28], edx
mov dword [rbp - 0x24], 6
mov qword [rbp - 0x20], r14
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
movabs rax, 0x400000000
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rcx, [rdi + 0x1f0]
lea r8, [rbp - 0x58]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
mov edi, eax
test eax, eax
je 0x1400c0f7a
shl rdi, 0x20
or rdi, 2
jmp 0x1400c0fb9
movabs rdi, 0x8009031700000002
jmp 0x1400c0fb9
mov eax, dword [rbp - 0x38]
add eax, dword [rbp - 0x48]
add eax, dword [rbp - 0x28]
mov rdi, qword [rbp - 8]
cmp qword [rdi + 0x190], rax
jb 0x1400c0f97
mov qword [rdi + 0x190], rax
mov qword [rdi + 0x198], 0
mov qword [rdi + 0x218], rsi
mov rcx, rdi
call fcn.1400c6e50
test rax, rax
je 0x1400c0fff
mov rdi, rdx
mov rcx, rdi
call fcn.1400c1cf0
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x138], 0
cmp al, 0xd
jne 0x1400c0fe3
mov rcx, rdi
call fcn.14001ad60
mov eax, 2
jmp 0x1400c0fe8
mov eax, 1
mov rdx, rdi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp - 8]
mov rdi, qword [rax + 0x218]
mov qword [rax + 0x138], 0
xor eax, eax
jmp 0x1400c0fe8
lea r8, [0x140238470]
mov rcx, r14
mov rdx, r12
call fcn.1402261f0
jmp 0x1400c104d
lea r8, [0x140238488]
mov rcx, r15
call fcn.1402261f0
jmp 0x1400c104d
lea r8, [0x1402384a0]
mov rcx, r14
call fcn.1402261f0
ud2
Function at 0x1400c3320
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbp - 0x30], rcx
add r9, r8
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], r9
mov word [rbp - 0x18], 0
mov dword [rbp - 0x10], 1
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x28]
call fcn.1400b2ab0
mov dword [rbp - 4], 0x800
mov dword [rbp - 8], 0
movzx eax, byte [0x14035fbc1]
mov ecx, 0x800
mov edx, 1
call fcn.140026090
test rax, rax
je 0x1400c34be
mov rbx, rax
mov qword [rbp - 0x28], 0x800
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0
mov rdi, qword [rbp - 0x48]
lea r12, [rbp - 4]
lea r15, [rbp - 8]
mov rsi, qword [sym.imp.advapi32.dll_RegQueryValueExW]
mov r13, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
sub r13, rax
nop word cs:[rax + rax]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call rsi
cmp eax, 0xea
jne 0x1400c341b
mov r8d, dword [rbp - 4]
cmp r13, r8
jae 0x1400c33e0
lea rcx, [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
call fcn.14021b130
mov rbx, qword [rbp - 0x20]
jmp 0x1400c33c6
test eax, eax
jne 0x1400c343e
mov eax, dword [rbp - 4]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp - 8]
cmp eax, 0xb
mov rdx, qword [rbp - 0x30]
jbe 0x1400c34a1
movabs rax, 0xde00000002
jmp 0x1400c344a
shl rax, 0x20
or rax, 2
mov rdx, qword [rbp - 0x30]
mov qword [rdx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rdx], rax
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1400c3472
mov r8d, 1
mov rcx, rbx
call fcn.1400260a0
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x1400c348c
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.1400260a0
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp - 0x18]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x18], al
mov rdx, qword [rbp - 0x50]
test rdx, rdx
jne 0x1400c347b
jmp 0x1400c348c
mov ecx, 1
mov edx, 0x800
call fcn.140225a80
ud2