joyce8/EMBER2024-capa huggingface dataset:
Function at 0x460120
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x402bef
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00409320
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045dfe0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x402bc0
cmp byte [0x005e6953], 0
je 0x460135
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45d100
jmp 0x402bc0

Function at 0x460140
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005e6c20]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005e6953], 0
je 0x460175
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005e6ea0]
aesenc xmm0, xmmword [0x005e6eb0]
aesenc xmm0, xmmword [0x005e6ec0]
movq rax, xmm0
ret
jmp 0x409520

Function at 0x460180
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005e6c20]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005e6953], 0
je 0x4601b6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005e6ea0]
aesenc xmm0, xmmword [0x005e6eb0]
aesenc xmm0, xmmword [0x005e6ec0]
movq rax, xmm0
ret
jmp 0x409580

Function at 0x461b00
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x005e6e20]
mov qword [rsp + 8], rdx
lea r8d, [0x005e6968]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.00460080
add rsp, 0x30
ret

Function at 0x4629e0
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
call fcn.0045cc20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
Function at 0x462a80
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x68], rax
call fcn.0045cd60
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
Function at 0x476c60
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
xor edx, edx
jmp 0x476c78
movzx esi, byte [rbx + rdx]
inc rdx
imul eax, eax, 0x1000193
xor eax, esi
cmp rcx, rdx
jg 0x476c69
ret
Function at 0x1400012b0
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, dword [0x140005678]
syscall
ret

Function at 0x1400012bc
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, dword [0x140005680]
syscall
ret

Function at 0x1400012c8
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, dword [0x14000567c]
syscall
ret

Function at 0x140001bb0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001bfa
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001bfa
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001bfa
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001bfa
cmp dword [rcx + 0x84], 0xe
jbe 0x140001bfa
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001bfc
xor al, al
add rsp, 0x28
ret
Function at 0x140008fb2
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 0x140008fe8
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x140008ff0
mov esi, dword [rdx]
mov r9d, 4
jmp 0x140008ff5
xor r10d, r10d
jmp 0x1400090a3
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140009018
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14000902f
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 0x14000904f
add r11, r8
jmp 0x140009174
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 0x140009117
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
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 0x1400090c5
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x140009129
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x14000912f
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x140009156
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 0x140009170
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 0x1400416e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rax, rdx
mov rsi, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x140041760
cmp r11, r10
ja 0x1400417d7
cmp r10, rdx
ja 0x1400417e9
add r11, r9
xor r15d, r15d
nop dword [rax + rax]
cmp r14, r15
je 0x140041762
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x140041740
jmp 0x1400417c4
ja 0x14004176a
mov r11, r10
cmp rax, r8
jne 0x14004170e
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x1400417a0
mov rdi, r8
sub ecx, edx
jns 0x1400417bb
jmp 0x1400417c6
cmp r8, rsi
je 0x1400417f8
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x1400417c6
xor al, 1
cmp rdi, rsi
jne 0x140041780
jmp 0x1400417c6
xor eax, eax
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.14003d700
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.140039350
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.14003fb80
int3
Function at 0x140050511
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 0x1400505c3
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
movabs r8, 0x736f6d6570736575
xor r8, rax
movabs r9, 0x646f72616e646f6d
xor r9, rdx
movabs r10, 0x6c7967656e657261
xor r10, rax
movabs r11, 0x7465646279746573
xor r11, rdx
lea rcx, [rsp + 0x30]
mov qword [rcx], r8
mov qword [rcx + 8], r10
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x18], r11
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rdx
xorps xmm0, xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], 0
mov rdi, qword [rsi]
xor eax, eax
test rdi, rdi
setne al
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov r8d, 8
call fcn.140050775
test rdi, rdi
je 0x14005063c
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x30]
jmp 0x140050653
movabs rcx, 0x100000001b3
mov rdx, qword [rsi]
xor eax, eax
test rdx, rdx
setne al
mov qword [rsp + 0x30], rax
movabs rax, 0xcbf29ce484222325
xor r8d, r8d
movzx r9d, byte [rsp + r8 + 0x30]
inc r8
xor rax, r9
imul rax, rcx
cmp r8, 8
jne 0x1400505ea
test rdx, rdx
je 0x140050748
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x140050769
mov r8, qword [rsi + 8]
xor r9d, r9d
mov r10, rax
movzx eax, byte [r8 + r9]
xor rax, r10
imul rax, rcx
inc r9
mov r10, rax
cmp rdx, r9
jne 0x140050620
jmp 0x140050769
movzx eax, byte [rsi + 8]
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
lea rcx, [rsp + 0x30]
mov r8d, 8
call fcn.140050775
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 0x140050769
movzx edx, byte [rsi + 8]
mov qword [rsp + 0x30], rdx
xor edx, edx
movzx r8d, byte [rsp + rdx + 0x30]
inc rdx
xor rax, r8
imul rax, rcx
cmp rdx, 8
jne 0x140050753
and eax, 0x7fff
add rsp, 0x78
pop rdi
pop rsi
ret
Function at 0x140050775
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 0x1400507ab
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x1400507b3
mov esi, dword [rdx]
mov r9d, 4
jmp 0x1400507b8
xor r10d, r10d
jmp 0x140050866
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x1400507db
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x1400507f2
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 0x140050812
add r11, r8
jmp 0x140050937
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 0x1400508da
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
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 0x140050888
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x1400508ec
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x1400508f2
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x140050919
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 0x140050933
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 0x14007419e
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rdx
mov rdi, rcx
mov rax, qword [rdx + 0x20]
lea rcx, [rax - 2]
cmp rcx, 2
jae 0x1400741d8
cmp qword [rsi], 0
je 0x1400742a5
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
and edx, 0xe
or rdx, 1
jmp 0x1400742aa
test rax, rax
jne 0x14007427e
mov rbx, qword [rsi]
xor r14d, r14d
test rbx, rbx
je 0x1400741f8
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
and edx, 0xe
jmp 0x1400741fa
xor edx, edx
mov rcx, rsi
call fcn.1400742bb
mov rdi, qword [rdi]
lea rax, [rdi + 8]
lea rdx, [rsp + 0x48]
mov dword [rdx], r14d
lea rcx, [0x1401bef68]
mov qword [rdx + 8], rcx
lea r8, [rsp + 0x40]
mov dword [r8], r14d
lea r9, [rsp + 0x44]
mov dword [r9], r14d
mov rcx, qword [rdi]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x30], 0
mov r8d, 1
call sub.ws2_32.dll_WSARecv
cmp eax, 0xffffffff
je 0x140074262
cmp byte [rsi + 0x78], 0
je 0x14007426e
mov qword [rsi + 0x20], 2
jmp 0x14007429c
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x3e5
jne 0x140074288
mov qword [rsi + 0x20], 1
lock inc qword [rdi + 0xe0]
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
shl rax, 0x20
or rax, 2
mov qword [rsi + 0x20], 3
mov qword [rsi + 0x28], rax
test rbx, rbx
jne 0x1400741c5
mov edx, 1
mov rcx, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.1400742bb
Function at 0x1400750e5
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov eax, edx
lea r9, [rsp + 0x34]
mov dword [r9], r8d
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, eax
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140075111
xor eax, eax
jmp 0x14007511e
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x1400a389d
Capabilities:
Decrypt data via sspi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x1a0]
mov rdx, qword [rdx + 0x198]
cmp rdx, rcx
jb 0x1400a3a59
mov rax, qword [rdi + 0x190]
xorps xmm0, xmm0
lea r8, [rsp + 0x20]
movups xmmword [r8 + 0x30], xmm0
mov dword [r8], ecx
mov dword [r8 + 4], 1
mov qword [r8 + 8], rax
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], r8
lea rcx, [rdi + 0x218]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x90316
jg 0x1400a39cc
cmp eax, 0x80090318
je 0x1400a3a2d
test eax, eax
jne 0x1400a3a1d
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rdi + 0x190]
mov rax, qword [rdi + 0x198]
sub rcx, rdx
mov r8d, dword [rsp + 0x30]
mov r9, rcx
mov qword [rdi + 0x178], 0
add r9, r8
jb 0x1400a3a65
cmp rax, r9
jb 0x1400a3a74
lea rax, [rdi + 0x168]
add rdx, rcx
add r8, rdx
mov rcx, rax
call fcn.1401071af
mov qword [rdi + 0x180], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x1a0]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call fcn.1400a3804
xor eax, eax
cmp qword [rdi + 0x1a0], 0
sete al
mov qword [rdi + 0x238], rax
mov byte [rsi + 1], 0
jmp 0x1400a3a4f
cmp eax, 0x90317
je 0x1400a3a49
cmp eax, 0x90321
jne 0x1400a3a1d
mov dword [rdi + 0x1f8], 0x10000
xor ebx, ebx
mov byte [rdi + 0x1fc], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x1a0]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call fcn.1400a3804
mov qword [rdi + 0x238], 0
mov byte [rsi + 1], bl
jmp 0x1400a3a4f
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
jmp 0x1400a3a4f
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x238], rax
mov byte [rsi + 1], 0
jmp 0x1400a3a4d
mov byte [rsi + 1], 1
xor ebx, ebx
mov byte [rsi], bl
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
lea r8, [0x14018f848]
call fcn.140039350
lea r8, [0x14018f860]
mov rdx, r9
call fcn.14003d700
lea r8, [0x14018f860]
mov rcx, r9
mov rdx, rax
call fcn.140039350
int3
Function at 0x1400a4a6f
Capabilities:
Decrypt data via sspi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0xa0]
mov rdx, qword [rdx + 0x98]
cmp rdx, rcx
jb 0x1400a4c25
mov rax, qword [rdi + 0x90]
xorps xmm0, xmm0
lea r8, [rsp + 0x20]
movups xmmword [r8 + 0x30], xmm0
mov dword [r8], ecx
mov dword [r8 + 4], 1
mov qword [r8 + 8], rax
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], r8
lea rcx, [rdi + 0x118]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x90316
jg 0x1400a4b98
cmp eax, 0x80090318
je 0x1400a4bf9
test eax, eax
jne 0x1400a4be9
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rdi + 0x90]
mov rax, qword [rdi + 0x98]
sub rcx, rdx
mov r8d, dword [rsp + 0x30]
mov r9, rcx
mov qword [rdi + 0x78], 0
add r9, r8
jb 0x1400a4c31
cmp rax, r9
jb 0x1400a4c40
lea rax, [rdi + 0x68]
add rdx, rcx
add r8, rdx
mov rcx, rax
call fcn.1401071af
mov qword [rdi + 0x80], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0xa0]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call fcn.1400a4c53
xor eax, eax
cmp qword [rdi + 0xa0], 0
sete al
mov qword [rdi + 0x138], rax
mov byte [rsi + 1], 0
jmp 0x1400a4c1b
cmp eax, 0x90317
je 0x1400a4c15
cmp eax, 0x90321
jne 0x1400a4be9
mov dword [rdi + 0xf8], 0x10000
xor ebx, ebx
mov byte [rdi + 0xfc], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0xa0]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call fcn.1400a4c53
mov qword [rdi + 0x138], 0
mov byte [rsi + 1], bl
jmp 0x1400a4c1b
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
jmp 0x1400a4c1b
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x138], rax
mov byte [rsi + 1], 0
jmp 0x1400a4c19
mov byte [rsi + 1], 1
xor ebx, ebx
mov byte [rsi], bl
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
lea r8, [0x14018f848]
call fcn.140039350
lea r8, [0x14018f860]
mov rdx, r9
call fcn.14003d700
lea r8, [0x14018f860]
mov rcx, r9
mov rdx, rax
call fcn.140039350
int3
Function at 0x1400a4e3d
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r15, r8
mov r12, rdx
mov rdi, rcx
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
call fcn.1400a3c6b
mov eax, dword [rbx]
cmp eax, 2
jne 0x1400a4e7c
mov rdx, qword [rsp + 0x30]
mov esi, 1
jmp 0x1400a4fde
mov esi, 1
test eax, eax
je 0x1400a4f8e
mov r13, qword [rdi + 0xc0]
cmp r13, qword [rdi + 0xb8]
jne 0x1400a4fc8
mov r14, qword [rsp + 0x30]
mov edx, r14d
shr r14, 0x20
cmp r15, r14
cmovb r14, r15
mov ebp, dword [rsp + 0x2c]
lea r15, [r14 + rbp]
add rdx, r15
cmp r13, rdx
jae 0x1400a4ed3
lea rcx, [rdi + 0xa8]
call fcn.1400a3a87
mov r13, qword [rdi + 0xb8]
cmp r13, r15
jb 0x1400a4ff2
mov rcx, qword [rdi + 0xb0]
add rcx, rbp
mov rdx, r12
mov r8, r14
call sub.msvcrt.dll_memcpy
cmp r13, rbp
jb 0x1400a4ffe
mov rdx, qword [rdi + 0xb8]
cmp rdx, r15
jb 0x1400a5010
mov rax, qword [rdi + 0xb0]
lea rcx, [rax + rbp]
sub edx, r15d
add r15, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], 7
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], 1
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], 6
mov qword [rsp + 0x50], r15
movabs rax, 0x400000000
lea r8, [rsp + 0x68]
mov qword [r8], rax
mov qword [r8 + 8], rbx
lea rcx, [rdi + 0x118]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x1400a4f9a
mov edx, eax
shl rdx, 0x20
or rdx, 2
jmp 0x1400a4fde
movabs rdx, 0x8009031700000002
jmp 0x1400a4fde
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x48]
cmp qword [rdi + 0xb8], rax
jb 0x1400a4fb6
mov qword [rdi + 0xb8], rax
mov qword [rdi + 0xc0], 0
mov qword [rdi + 0x140], r14
mov rcx, rdi
call fcn.1400a4cec
test rax, rax
jne 0x1400a4fde
mov rdx, qword [rdi + 0x140]
xor esi, esi
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14018f878]
mov rcx, r15
jmp 0x1400a5008
lea r8, [0x14018f890]
mov rcx, rbp
mov rdx, r13
call fcn.140039350
lea r8, [0x14018f8a8]
mov rcx, r15
call fcn.140039350
int3
Function at 0x1400a505d
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r15, r8
mov r12, rdx
mov rdi, rcx
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
call fcn.1400a2871
mov eax, dword [rbx]
cmp eax, 2
jne 0x1400a509c
mov rdx, qword [rsp + 0x30]
mov esi, 1
jmp 0x1400a51fe
mov esi, 1
test eax, eax
je 0x1400a51ae
mov r13, qword [rdi + 0x1c0]
cmp r13, qword [rdi + 0x1b8]
jne 0x1400a51e8
mov r14, qword [rsp + 0x30]
mov edx, r14d
shr r14, 0x20
cmp r15, r14
cmovb r14, r15
mov ebp, dword [rsp + 0x2c]
lea r15, [r14 + rbp]
add rdx, r15
cmp r13, rdx
jae 0x1400a50f3
lea rcx, [rdi + 0x1a8]
call fcn.1400a3a87
mov r13, qword [rdi + 0x1b8]
cmp r13, r15
jb 0x1400a5212
mov rcx, qword [rdi + 0x1b0]
add rcx, rbp
mov rdx, r12
mov r8, r14
call sub.msvcrt.dll_memcpy
cmp r13, rbp
jb 0x1400a521e
mov rdx, qword [rdi + 0x1b8]
cmp rdx, r15
jb 0x1400a5230
mov rax, qword [rdi + 0x1b0]
lea rcx, [rax + rbp]
sub edx, r15d
add r15, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], 7
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], 1
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], 6
mov qword [rsp + 0x50], r15
movabs rax, 0x400000000
lea r8, [rsp + 0x68]
mov qword [r8], rax
mov qword [r8 + 8], rbx
lea rcx, [rdi + 0x218]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x1400a51ba
mov edx, eax
shl rdx, 0x20
or rdx, 2
jmp 0x1400a51fe
movabs rdx, 0x8009031700000002
jmp 0x1400a51fe
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x48]
cmp qword [rdi + 0x1b8], rax
jb 0x1400a51d6
mov qword [rdi + 0x1b8], rax
mov qword [rdi + 0x1c0], 0
mov qword [rdi + 0x240], r14
mov rcx, rdi
call fcn.1400a353c
test rax, rax
jne 0x1400a51fe
mov rdx, qword [rdi + 0x240]
xor esi, esi
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14018f878]
mov rcx, r15
jmp 0x1400a5228
lea r8, [0x14018f890]
mov rcx, rbp
mov rdx, r13
call fcn.140039350
lea r8, [0x14018f8a8]
mov rcx, r15
call fcn.140039350
int3