joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000e730
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r13d, 9
mov dword [rbp - 0x20], 0x2a0006
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], r13w
mov dword [rbp - 0x1c], 0x2b0036
mov dword [rbp - 0x18], 0x220037
mov dword [rbp - 0x14], 0x280020
mov dword [rbp - 0x10], 0x29003f
call fcn.140005e60
mov rcx, rax
call 0x14000e730
mov qword [0x1400151b8], rax
lea rcx, [rbp - 0x20]
mov eax, 0x6c
mov dword [rbp - 0x20], 0x2a0006
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x2b0036
mov dword [rbp - 0x18], 0x220037
mov dword [rbp - 0x14], 0x5b0051
call fcn.140002590
mov rcx, rax
call 0x14000e730
lea rcx, [rbp - 0x20]
mov qword [0x1400151a8], rax
mov dword [rbp - 0x20], 0x1b0023
mov dword [rbp - 0x1c], 0x90000
mov dword [rbp - 0x18], 0x6e001e
call fcn.140005ca0
mov rcx, rax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp 0x14000e730
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14000e792
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
mov r8, rax
call fcn.14000e260
test al, al
jne 0x14000e7a4
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14000e760
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000e7c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, qword [0x1400151c0]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x7001e
mov dword [rbp - 0x1c], 0x90001
mov dword [rbp - 0x18], 0x5d001e
mov dword [rbp - 0x14], 0x470050
mov dword [rbp - 0x10], 8
mov dword [rbp - 0xc], 0x670065
call fcn.140002e40
mov rcx, rax
call rbx
mov rbx, qword [0x1400151c0]
lea rcx, [rbp - 0x20]
mov qword [0x1400151a0], rax
mov dword [rbp - 0x20], 0x6001a
mov dword [rbp - 0x1c], 0xc000a
mov dword [rbp - 0x18], 0xb001c
mov dword [rbp - 0x14], 0x470016
mov dword [rbp - 0x10], 8
mov dword [rbp - 0xc], 0x670065
call fcn.140002e40
mov rcx, rax
call rbx
movdqa xmm0, xmmword [0x1400145a0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400151b0], rax
mov word [rbp - 0x10], 0x3a7f
mov byte [rbp - 0xe], 0x69
call fcn.140005220
mov rcx, qword [0x1400151a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140015130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x901071e
mov dword [rbp - 0x1c], 0xc1a2b1e
mov dword [rbp - 0x18], 0x27d190f
mov word [rbp - 0x14], 0x7436
call fcn.140001180
mov rcx, qword [0x1400151a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140015130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x100104
mov dword [rbp - 0x1c], 0x1d070000
mov dword [rbp - 0x18], 0x96c1c23
mov word [rbp - 0x14], 0x7420
call fcn.140001180
mov rcx, qword [0x1400151b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140014660]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400150e8], rax
mov byte [rbp - 0x10], 9
call fcn.140004e60
mov rcx, qword [0x1400151b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140014600]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400150f0], rax
mov dword [rbp - 0x10], 0x650c016d
call fcn.1400029f0
mov rcx, qword [0x1400151b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x1400145c0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400150e0], rax
mov byte [rbp - 0x10], 9
call fcn.140004e60
mov rcx, qword [0x1400151b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140014550]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400150d8], rax
mov dword [rbp - 0x10], 0x24070260
mov byte [rbp - 0xc], 0x74
call fcn.140003790
mov rcx, qword [0x1400151b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140014610]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140015130]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x2c67
mov byte [rbp - 0xe], 0x69
call fcn.140005220
mov rcx, qword [0x1400151b0]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
jmp rax
Function at 0x140009088
Capabilities:
Terminate process

Disassembly:
push rbx
movsxd r11, r9d
mov rbx, r8
mov r10, rcx
test edx, edx
jns 0x1400090a0
lea rcx, str.bad_value_count
jmp 0x14000910e
mov r9, qword [rcx]
cmp r11d, 1
je 0x1400090e2
mov ecx, 0x100
cmp dword [rsp + 0x30], ecx
je 0x1400090e2
sub ecx, dword [rsp + 0x30]
mov r8d, r11d
jmp 0x1400090d9
inc r9
sub r8d, 1
je 0x1400090cf
movzx eax, byte [r9 - 1]
cmp eax, ecx
jge 0x1400090d9
dec edx
mov r8d, r11d
cmp r9, rbx
ja 0x140009107
test edx, edx
jg 0x1400090bd
mov qword [r10], r9
pop rbx
ret
movsxd r8, edx
mov rcx, r11
imul r11, r8
xor edx, edx
mov rax, r11
div rcx
cmp rax, r8
jne 0x140009107
lea rax, [r11 + r9]
cmp rax, rbx
ja 0x140009107
mov qword [r10], rax
pop rbx
ret
lea rcx, str.EOF_reading_band
xor edx, edx
pop rbx
jmp fcn.1400139b0

Function at 0x140009dfc
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx + 0xc0]
lea rax, str.error_unpacking_archive
test rdx, rdx
cmovne rax, rdx
lea rdx, [0x14001de58]
cmp byte [rax], 0x40
lea r8, [rax + 1]
cmovne r8, rax
call fcn.140009d34
or ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x14000cbbc
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, edx
mov edx, 2
call fcn.14000c740
movzx ecx, bx
mov rdx, rax
cmp ebx, ecx
je 0x14000cbeb
xor edx, edx
lea rcx, str.Internal_buffer_overflow
add rsp, 0x20
pop rbx
jmp fcn.1400139b0
mov eax, ebx
mov byte [rdx + 1], bl
sar eax, 8
mov byte [rdx], al
add rsp, 0x20
pop rbx
ret
Function at 0x1400139b0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
test rcx, rcx
lea rbx, str.corrupt_pack_file_or_internal_error
mov rax, rdx
cmovne rbx, rcx
test rdx, rdx
jne 0x1400139f8
call fcn.14000932c
test rax, rax
jne 0x1400139f8
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Error:_unpacker:__s_n
mov rcx, rax
call fcn.140009d34
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rdx, rbx
mov rcx, rax
add rsp, 0x20
pop rbx
jmp fcn.140009dfc

Function at 0x140013fa8
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140020b78]
xor rax, rsp
mov qword [rsp + 0x70], rax
movsxd rdi, edx
mov rbx, rcx
test edx, edx
je 0x140013fe4
cmp edi, dword [rcx + 0x18]
jne 0x140013fdb
mov eax, dword [rcx + 0x1c]
jmp 0x140014090
cmp dword [rcx + 8], 0
jne 0x140013fe4
mov dword [rcx + 8], edi
xor edx, edx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x48]
lea r8d, [rdx + 0x24]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__gmtime64]
mov rdx, rax
test rax, rax
jne 0x14001402d
mov rcx, qword [rbx + 0x58]
lea rdx, str.Error:_gmtime_failure__invalid_input_archive_n
mov rcx, qword [rcx + 0xc0]
call fcn.140009d34
or ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov dword [rbx + 0x18], edi
mov ecx, 0x7bc
mov eax, dword [rax + 0x14]
add eax, 0x76c
cmp eax, ecx
jge 0x140014065
and dword [rsp + 0x30], 0
mov r9d, 1
and dword [rsp + 0x28], 0
mov edx, ecx
and dword [rsp + 0x20], 0
mov r8d, r9d
mov rcx, rbx
call fcn.140013efc
jmp 0x14001408d
mov ecx, dword [rdx + 0x10]
add eax, 0xffffffc4
shl eax, 9
inc ecx
or eax, dword [rdx + 0xc]
shl eax, 5
or eax, dword [rdx + 8]
shl eax, 6
or eax, dword [rdx + 4]
shl ecx, 0x15
shl eax, 5
or eax, ecx
mov ecx, dword [rdx]
shr ecx, 1
or eax, ecx
mov dword [rbx + 0x1c], eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140014c90
mov rbx, qword [rsp + 0xa0]
add rsp, 0x80
pop rdi
ret

Function at 0x140014164
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rdi, rdx
mov rbx, rcx
jne 0x1400141bc
mov qword [rcx + 0x10], rdx
lea rdx, [0x14001df24]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov qword [rbx], rax
test rax, rax
jne 0x1400141bc
mov rcx, qword [rbx + 0x58]
lea rdx, str.Error:_Could_not_open_jar_file:__s_n
mov r8, rdi
mov rcx, qword [rcx + 0xc0]
call fcn.140009d34
mov ecx, 3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140014718
Capabilities:
Terminate process
Write file on windows

Disassembly:
test r8, r8
je 0x140014769
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov r9, qword [rdi]
mov r8, rbx
mov edx, 1
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
test eax, eax
jle 0x14001476a
add dword [rdi + 0x3c], eax
cdqe
add rsi, rax
sub rbx, rax
jne 0x140014735
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rcx, qword [rdi + 0x58]
lea rdx, str.Error:_write_on_output_file_failed_err_d_n
mov r8d, dword [rax]
mov rcx, qword [rcx + 0xc0]
call fcn.140009d34
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x14001104b
Capabilities:
Initialize winsock library
Resolve dns

Disassembly:
jmp 0x140011820
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x3c8
lea rbp, [rsp + 0x20]
mov rdi, rsp
mov ecx, 0xf2
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x3e8]
mov rax, qword [0x14001e148]
xor rax, rbp
mov qword [rbp + 0x398], rax
lea rcx, [0x140024015]
call fcn.1400110a0
mov eax, 0x101
mov word [rbp + 4], ax
lea rdx, [rbp + 0x30]
movzx ecx, word [rbp + 4]
call fcn.140011334
lea rcx, [0x14001b218]
call fcn.140011258
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax]
mov ecx, dword [rax]
call fcn.1400113a7
mov qword [rbp + 0x208], rax
mov eax, dword [rbp + 0x3c8]
dec eax
cdqe
mov r8, rax
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x3c0]
call qword [sym.imp.ucrtbased.dll_strncpy]
mov eax, dword [rbp + 0x3c8]
dec eax
cdqe
mov rcx, qword [rbp + 0x3c0]
mov byte [rcx + rax], 0
call fcn.1400111ef
lea rcx, [rbp - 0x20]
lea rdx, [0x14001ad80]
call fcn.1400113b1
mov rcx, qword [rbp + 0x398]
xor rcx, rbp
call fcn.1400110fa
lea rsp, [rbp + 0x3a8]
pop rdi
pop rbp
ret
Function at 0x1400110af
Capabilities:
Terminate process

Disassembly:
jmp 0x1400126f0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140011208
Capabilities:
Connect socket

Disassembly:
jmp 0x1400126a5
jmp qword [sym.imp.WS2_32.dll_connect]

Function at 0x140011357
Capabilities:
Parse pe header

Disassembly:
jmp 0x140014f10
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140014f30
xor al, al
jmp 0x140014fb1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140014f43
xor al, al
jmp 0x140014fb1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x140014f6d
xor al, al
jmp 0x140014fb1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140014f81
xor al, al
jmp 0x140014fb1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140014f93
xor al, al
jmp 0x140014fb1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140014faf
xor al, al
jmp 0x140014fb1
mov al, 1
add rsp, 0x38
ret
Function at 0x1400014b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x72]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x140010040]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 1]
nop dword [rax + rax]
movsxd r8, r11d
lea r9, [r9 + 2]
mov rax, rdi
mov rcx, r8
mul r8
mov rax, r8
add r11d, 2
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 3]
mov byte [r9 - 3], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 2]
mov byte [r9 - 2], al
cmp r11d, 0x7a
jb 0x140001500
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140001590
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x140010040]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 1]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rax, r8
mov rcx, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 1]
mov byte [r9 - 1], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [rbx + r9]
mov byte [r9], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 1]
mov byte [r9 + 1], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 2]
mov byte [r9 + 2], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 3]
mov byte [r9 + 3], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 6]
xor al, byte [rbx + r9 + 4]
mov byte [r9 + 4], al
mov rax, rdi
mul rcx
mov rax, rcx
lea r9, [r9 + 0xb]
sub rax, rdx
add r11d, 0xb
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 7]
xor al, byte [rbx + r9 - 6]
mov byte [r9 - 6], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 8]
xor al, byte [rbx + r9 - 5]
mov byte [r9 - 5], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 9]
xor al, byte [rbx + r9 - 4]
mov byte [r9 - 4], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 0xa]
xor al, byte [rbx + r9 - 3]
mov byte [r9 - 3], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 2]
mov byte [r9 - 2], al
cmp r11d, 0xb
jb 0x1400015e0
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400018c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx - 6]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x140010220]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 1]
nop dword [rax + rax]
movsxd r8, r11d
lea r9, [r9 + 2]
mov rax, rdi
mov rcx, r8
mul r8
mov rax, r8
add r11d, 2
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 3]
mov byte [r9 - 3], al
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 2]
mov byte [r9 - 2], al
cmp r11d, 2
jb 0x140001910
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140002000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 6]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x1400105e0]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rax, r8
mov rcx, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [r9 + rbx - 2]
movsx eax, al
mov word [r9 - 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [r9 + rbx]
movsx eax, al
mov word [r9], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [r9 + rbx + 2]
movsx eax, al
mov word [r9 + 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [r9 + rbx + 4]
movsx eax, al
mov word [r9 + 4], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [r9 + rbx + 6]
movsx eax, al
mov word [r9 + 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 6]
xor al, byte [r9 + rbx + 8]
lea r9, [r9 + 0xe]
movsx eax, al
add r11d, 7
mov word [r9 - 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [r9 + rbx - 4]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 7
jb 0x140002050
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400021f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x1400105e0]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rax, r8
mov rcx, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 2]
movsx eax, al
mov word [r9 - 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [rbx + r9]
movsx eax, al
mov word [r9], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 2]
movsx eax, al
mov word [r9 + 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 4]
movsx eax, al
mov word [r9 + 4], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 6]
movsx eax, al
mov word [r9 + 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 6]
xor al, byte [rbx + r9 + 8]
lea r9, [r9 + 0x10]
movsx eax, al
add r11d, 8
mov word [r9 - 8], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 7]
xor al, byte [rbx + r9 - 6]
movsx eax, al
mov word [r9 - 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 4]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 8
jb 0x140002240
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140002410
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, [0x1400105e0]
mov r10, rax
sub rbx, rax
movabs rdi, 0x16e0689427378eb5
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
lea r9, [r9 + 0xa]
mov rax, rdi
mov rcx, r8
mul r8
mov rax, r8
add r11d, 5
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 0xc]
movsx eax, al
mov word [r9 - 0xc], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [r9 + rbx - 0xa]
movsx eax, al
mov word [r9 - 0xa], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 - 8]
movsx eax, al
mov word [r9 - 8], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 - 6]
movsx eax, al
mov word [r9 - 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d6
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 4]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 5
jb 0x140002460
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret