joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140001370
Capabilities:
Access peb ldr_data
Get kernel32 base address
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov rax, qword gs:[0x30]
xor r9d, r9d
mov edi, ecx
mov rdx, qword [rax + 0x60]
mov rax, qword [rdx + 0x18]
mov rdx, qword [rax + 0x10]
mov rax, qword [rdx]
mov rbx, qword [rax + 0x30]
movsxd rax, dword [rbx + 0x3c]
mov edx, dword [rax + rbx + 0x88]
add rdx, rbx
mov r14d, dword [rdx + 0x1c]
mov esi, dword [rdx + 0x20]
add r14, rbx
mov r11d, dword [rdx + 0x24]
add rsi, rbx
mov r15d, dword [rdx + 0x14]
add r11, rbx
mov r12d, dword [rdx + 0x18]
test r15, r15
je 0x140001443
mov qword [rsp + 0x20], rbp
nop word [rax + rax]
mov eax, dword [r14 + r9*4]
test eax, eax
je 0x14000142f
xor r8d, r8d
mov ebp, eax
test r12d, r12d
je 0x14000142f
movzx eax, word [r11 + r8*2]
cmp rax, r9
jne 0x140001427
mov edx, dword [rsi + r8*4]
xor eax, eax
add rdx, rbx
movzx ecx, byte [rdx]
test cl, cl
je 0x140001423
nop dword [rax]
ror eax, 7
lea rdx, [rdx + 1]
movsx ecx, cl
add eax, ecx
movzx ecx, byte [rdx]
test cl, cl
jne 0x140001410
cmp edi, eax
je 0x140001439
inc r8
cmp r8, r12
jb 0x1400013f2
inc r9
cmp r9, r15
jb 0x1400013e0
jmp 0x14000143e
movzx eax, byte [rbx + rbp + 4]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret
Function at 0x140001460
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x60
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, 0x14044ae
mov rdi, rax
call fcn.140001370
mov ecx, eax
call fcn.1400016a0
xor ebp, ebp
mov dword [rsp + 0x28], 0x40
lea r9, [rsp + 0x88]
mov qword [rsp + 0x80], rbp
xor r8d, r8d
mov qword [rsp + 0x88], 0x5c330
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x20], 0x1000
mov rcx, rdi
call fcn.1400016b1
movdqa xmm2, xmmword [str.iiiiiiiiiiiiiiii]
lea rsi, [0x140018a10]
mov eax, ebp
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rsi]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
movdqu xmm0, xmmword [rax + rsi + 0x10]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rax + rsi + 0x10], xmm0
movdqu xmm0, xmmword [rax + rsi + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi + 0x20], xmm1
movdqu xmm0, xmmword [rax + rsi + 0x30]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rax + rsi + 0x30], xmm1
add rax, 0x40
cmp rax, 0x5c300
jb 0x1400014e0
cmp rax, 0x5c330
jae 0x14000154f
nop
xor byte [rax + rsi], 0x69
inc rax
cmp rax, 0x5c330
jb 0x140001540
mov ecx, 0x5c330
call fcn.140001a84
xor edx, edx
mov r8d, 0x5c32f
mov rbx, rax
lea rcx, [rax + 1]
call fcn.140002710
lea r9, [0x140074d3f]
mov byte [rbx], bpl
mov rdx, r9
mov rcx, rbx
mov r8d, 0x2e198
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
mov byte [rcx], al
lea rcx, [rcx + 2]
movzx eax, byte [rdx + 1]
mov byte [rcx - 1], al
sub r8, 1
jne 0x140001583
lea rax, [rbx + 0x5c32f]
cmp rsi, rax
ja 0x1400015d8
cmp r9, rbx
jb 0x1400015d8
mov rdx, rbp
sub rbx, rsi
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rdx + rsi]
inc rdx
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
cmp rdx, 0x5c32f
jle 0x1400015c0
jmp 0x1400015e9
mov r8d, 0x5c330
mov rdx, rbx
mov rcx, rsi
call fcn.140002f20
mov ecx, 0x1130814d
call fcn.140001370
mov ecx, eax
call fcn.1400016a0
mov rdx, qword [rsp + 0x80]
mov r9d, 0x5c330
mov r8, rsi
mov qword [rsp + 0x20], rbp
mov rcx, rdi
call fcn.1400016b1
mov ecx, 0x93ec9d3d
call fcn.140001370
mov ecx, eax
call fcn.1400016a0
mov rax, qword [rsp + 0x80]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x50], rbp
mov r9, rdi
mov qword [rsp + 0x48], rbp
xor r8d, r8d
mov qword [rsp + 0x40], rbp
mov edx, 0x1fffff
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.1400016b1
mov rcx, qword [rsp + 0x90]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbx, qword [rsp + 0x98]
xor eax, eax
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400016b1
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, dword [section..data]
syscall
ret

Function at 0x140003f5c
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140003d88
Function at 0x3ae736ec0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae73706b
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call dbg.runtime.stdcall3
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x3ae736f2e
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x3ae736f41
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x3ae736f65
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x3ae736f79
cmp rbx, 0x1000
jae 0x3ae736f38
nop
jmp 0x3ae736fe9
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x3ae736f8d
xor edx, edx
jmp 0x3ae736fe0
mov rcx, qword [sym.VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call dbg.runtime.stdcall3
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
nop
test dl, dl
jne 0x3ae736f6f
jmp 0x3ae736f55
call dbg.runtime.getlasterror
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call dbg.runtime.printlock
lea rax, [0x3ae866445]
mov ebx, 0x18
nop dword [rax + rax]
call dbg.runtime.printstring
mov rax, qword [rsp + 0x38]
call dbg.runtime.printuint
lea rax, [0x3ae866505]
mov ebx, 0x19
nop dword [rax + rax]
call dbg.runtime.printstring
mov rax, qword [rsp + 0x30]
call dbg.runtime.printuint
call dbg.runtime.printnl
call fcn.3ae757ce0
lea rax, [0x3ae868fac]
mov ebx, 0x21
call dbg.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp dbg.runtime.sysUnusedOS
Function at 0x3ae7370a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae7372ca
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call dbg.runtime.stdcall4
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x3ae73711b
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x3ae73712e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x3ae737150
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x3ae737164
cmp rbx, 0x1000
jae 0x3ae737125
jmp 0x3ae7371ee
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x3ae737176
xor esi, esi
jmp 0x3ae7371e0
mov rax, qword [sym.VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
nop dword [rax]
call dbg.runtime.stdcall4
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
test sil, sil
jne 0x3ae73715a
jmp 0x3ae737142
call dbg.runtime.getlasterror
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x3ae737269
call dbg.runtime.printlock
lea rax, [0x3ae866a4b]
mov ebx, 0x19
call dbg.runtime.printstring
mov rax, qword [rsp + 0x68]
call dbg.runtime.printuint
lea rax, [0x3ae866505]
mov ebx, 0x19
nop
call dbg.runtime.printstring
mov eax, dword [rsp + 0x34]
call dbg.runtime.printuint
call dbg.runtime.printnl
call fcn.3ae757ce0
lea rax, [0x3ae8629a8]
mov ebx, 0xd
call dbg.runtime.throw
cmp eax, 0x5af
je 0x3ae737213
call dbg.runtime.printlock
lea rax, [0x3ae866a4b]
mov ebx, 0x19
call dbg.runtime.printstring
mov rax, qword [rsp + 0x38]
call dbg.runtime.printuint
lea rax, [0x3ae866505]
mov ebx, 0x19
nop dword [rax]
call dbg.runtime.printstring
mov eax, dword [rsp + 0x34]
call dbg.runtime.printuint
call dbg.runtime.printnl
call fcn.3ae757ce0
lea rax, [0x3ae8686d9]
mov ebx, 0x1f
call dbg.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp dbg.runtime.sysUsedOS
Function at 0x3ae73f9a0
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x3aed76c71], 0
jne 0x3ae73fa8b
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
shr rdx, 0x23
and ebx, 7
mov rsi, rcx
mov rcx, rbx
mov edi, 1
shl edi, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], dil
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x3ae73fa81
lea rbx, [0x3aed490d0]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x3ae73fa62
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rsi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
nop
ret
mov ecx, 0x40
call dbg.runtime.panicIndexU
lea rax, [0x3ae86ada2]
mov ebx, 0x2c
call dbg.runtime.throw
nop
int3

Function at 0x3ae7421c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae7422c1
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x3ae742200
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x3ae7422b1
test byte [rax], al
lea rcx, [rax + 0x100c0]
mov rax, rcx
call dbg.runtime.(*scavengeIndex).find
nop dword [rax]
test rax, rax
je 0x3ae7422b1
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x3ae742300]
mov qword [rsp + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 8]
mov qword [rsp + 0x38], rbx
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x3ae74229f
xor eax, eax
jmp 0x3ae7422a9
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x3ae7421f2
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
nop
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp dbg.runtime.(*pageAlloc).scavenge
Function at 0x3ae7649c0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae764b2f
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x3ae7649d8
cmp edx, ecx
jne 0x3ae764b1d
nop dword [rax]
test rsi, rsi
jne 0x3ae764b1d
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x3ae764a36
nop
call dbg.runtime.nanotime1
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
nop dword [rax + rax]
call dbg.runtime.updateTimerPMask
mov rcx, qword [0x3aed22d08]
mov rdx, qword [0x3aed22d00]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rbx]
mov edi, esi
sar esi, 0x1f
shr esi, 0x1b
add esi, edi
sar esi, 5
mov r8d, esi
shl esi, 5
sub edi, esi
test edi, edi
jl 0x3ae764b18
cmp edi, 0x20
sbb esi, esi
mov rax, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
and r9d, esi
movsxd rsi, r8d
cmp rax, rsi
jbe 0x3ae764b0d
lea rcx, [rdx + rsi*4]
lock or dword [rcx], r9d
mov rcx, qword [0x3aed23810]
mov qword [rbx + 8], rcx
nop
mov rcx, rbx
mov qword [0x3aed23810], rbx
mov edx, 1
lea rsi, [0x3aed23818]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
test dl, dl
jne 0x3ae764afc
nop
nop
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
xchg qword [rcx + 0x1228], rdx
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
lea rax, [0x3ae86a44f]
mov ebx, 0x28
call dbg.runtime.throw
mov rcx, rax
mov rax, rsi
call dbg.runtime.panicIndex
call dbg.runtime.panicshift
lea rax, [0x3ae86962f]
mov ebx, 0x23
call dbg.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp dbg.runtime.pidleput
Function at 0x3ae76fb80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x3ae76fcf8
movzx edx, byte [rax]
nop
test edx, edx
jne 0x3ae76fbbc
test r8b, r8b
jne 0x3ae76fbbc
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
bt edx, 7
jae 0x3ae76fbcf
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x3ae76fcb8
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
cmp rbx, r8
jb 0x3ae76fca6
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rsi, [rax + r8]
test rbx, rbx
jbe 0x3ae76fc9c
movzx r8d, byte [rax + r8]
bt r8d, 7
jae 0x3ae76fc23
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x3ae76fc66
mov eax, 1
cmp rax, rbx
ja 0x3ae76fc55
add qword [rdi], r8
sub rdx, rax
sub rbx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rsi
mov edi, 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rbx
call dbg.runtime.panicSliceB
lea r8d, [rcx + 7]
mov ecx, eax
mov eax, r10d
cmp rax, rbx
jae 0x3ae76fc94
movzx r9d, byte [rax + rsi]
lea r10d, [rax + 1]
mov r11d, r9d
and r9d, 0x7f
mov eax, ecx
mov ecx, r8d
shl r9d, cl
or eax, r9d
test r11b, 0x80
jne 0x3ae76fc5d
mov r8d, eax
mov eax, r10d
jmp 0x3ae76fc28
mov rcx, rbx
call dbg.runtime.panicIndex
xor eax, eax
mov rcx, rax
call dbg.runtime.panicIndex
mov eax, r8d
mov rcx, rbx
call dbg.runtime.panicSliceB
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x3ae76fcee
movzx r10d, byte [rdx + rax]
inc edx
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
or r8d, r10d
test r11b, 0x80
jne 0x3ae76fcb1
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x3ae76fbd5
mov eax, edx
mov rcx, rbx
call dbg.runtime.panicIndex
xor eax, eax
mov rcx, rax
nop dword [rax]
call dbg.runtime.panicIndex
nop
int3
Function at 0x3ae777580
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae77763b
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rdx, [0x3ae777680]
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp dbg.runtime.callers
Function at 0x3ae7804c0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae7235af
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 dbg.runtime.memhashFallback
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x3ae723580
cmp byte [0x3aed76c70], 0
je 0x3ae7804d5
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x3ae77d4c0
jmp 0x3ae723580

Function at 0x3ae7804e0
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 [0x3aed76f80]
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 [0x3aed76c70], 0
je 0x3ae780515
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x3aed772a0]
aesenc xmm0, xmmword [0x3aed772b0]
aesenc xmm0, xmmword [0x3aed772c0]
movq rax, xmm0
ret
jmp 0x3ae729ee0

Function at 0x3ae780520
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 [0x3aed76f80]
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 [0x3aed76c70], 0
je 0x3ae780556
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x3aed772a0]
aesenc xmm0, xmmword [0x3aed772b0]
aesenc xmm0, xmmword [0x3aed772c0]
movq rax, xmm0
ret
jmp 0x3ae729f40
Function at 0x3ae7a0360
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x3ae7a05ab
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov ebx, dword [rax + 0x2c]
nop dword [rax + rax]
test ebx, ebx
jne 0x3ae7a040c
mov qword [rsp + 0x88], rax
lea rbx, [0x3ae85c6e0]
mov rcx, rax
lea rax, [0x3aed22e60]
call dbg.sync.(*Map).Load
test cl, cl
jne 0x3ae7a03f1
mov rax, qword [rsp + 0x88]
call dbg.reflect.(*rtype).String
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x30]
lea rbx, [0x3aeafd6d2]
call dbg.runtime.concatstring2
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rbx
nop dword [rax]
call dbg.reflect.typesByString
mov rcx, qword [rsp + 0x88]
xor edx, edx
jmp 0x3ae7a042d
lea rdx, [0x3ae85c420]
cmp rax, rdx
jne 0x3ae7a041b
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
call dbg.reflect.resolveTypeOff
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbx, rdx
lea rcx, [0x3ae8452a0]
call fcn.3ae72a940
inc rdx
cmp rbx, rdx
jle 0x3ae7a0478
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x3ae7a042a
lea rax, [0x3aed22e60]
lea rbx, [0x3ae85c6e0]
lea rdi, [0x3ae85c420]
call dbg.sync.(*Map).LoadOrStore
lea rdx, [0x3ae85c420]
nop dword [rax]
cmp rax, rdx
jne 0x3ae7a059b
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
lea rcx, [0x3ae83fac0]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rcx
lea rax, [0x3ae84d420]
nop
call fcn.3ae72d480
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
cmp dword [0x3aed76f30], 0
jne 0x3ae7a04da
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
jmp 0x3ae7a04e9
mov rbx, rax
lea rax, [0x3ae84d420]
call dbg.runtime.typedmemmove
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
nop dword [rax]
call dbg.reflect.newName
call dbg.reflect.addReflectOff
mov rsi, qword [rsp + 0x60]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], 0
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0x10]
xor eax, eax
jmp 0x3ae7a0536
imul edx, edx, 0x1000193
xor edx, 0x2a
mov eax, 1
cmp rax, 1
jl 0x3ae7a0528
mov dword [rsi + 0x10], edx
cmp dword [0x3aed76f30], 0
jne 0x3ae7a054e
mov qword [rsi + 0x30], rcx
jmp 0x3ae7a0557
lea rdi, [rsi + 0x30]
call dbg.runtime.gcWriteBarrierCX
lea rax, [0x3aed22e60]
lea rbx, [0x3ae85c6e0]
lea rdi, [0x3ae85c420]
call dbg.sync.(*Map).LoadOrStore
lea rdx, [0x3ae85c420]
cmp rax, rdx
jne 0x3ae7a058c
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbx, rdx
lea rcx, [0x3ae8452a0]
call fcn.3ae72a940
mov rbx, rdx
lea rcx, [0x3ae8452a0]
call fcn.3ae72a940
nop
mov qword [rsp + 8], rax
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
jmp dbg.reflect.(*rtype).ptrTo
Function at 0x3ae7d04a0
Capabilities:
Encode data using xor

Disassembly:
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
test rdx, 0xf
jne 0x3ae7d050b
mov rax, 0
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm1, xmmword [rcx + rax]
pxor xmm0, xmm1
movdqu xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x3ae7d04c4
ret
sub rdx, 1
mov dil, byte [rsi + rdx]
mov al, byte [rcx + rdx]
xor dil, al
mov byte [rbx + rdx], dil
test rdx, 7
jne 0x3ae7d04e1
cmp rdx, 0
je 0x3ae7d052d
test rdx, 0xf
je 0x3ae7d04bd
test rdx, 7
jne 0x3ae7d04e1
sub rdx, 8
mov rdi, qword [rsi + rdx]
mov rax, qword [rcx + rdx]
xor rdi, rax
mov qword [rbx + rdx], rdi
cmp rdx, 0x10
jge 0x3ae7d04bd
ret
Function at 0x3ae7d1820
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rbx]
add rax, 0x10
pxor xmm0, xmm1
sub rcx, 0xc
je 0x3ae7d185f
jb 0x3ae7d1874
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x20]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x30]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x40]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x50]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x60]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x70]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x80]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x90]
aesdeclast xmm0, xmm1
movups xmmword [rdx], xmm0
ret