joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140076740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rsi, rdx
mov rbp, rcx
movzx edx, byte [rdx + 0x11]
add rcx, 0x60
call fcn.140076690
movzx edx, byte [rsi + 0x10]
lea rcx, [rbp + 0x70]
call fcn.140076690
lea rcx, [rbp + 0xa0]
call fcn.1400763b0
mov ecx, 0xb8
call fcn.14087be50
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x140076804
xor eax, eax
lea rcx, vtable.NCoderMixer2::CCoderMT.0
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov byte [rbx + 0x3c], al
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rax
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x68], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx], rcx
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rax
mov byte [rbx + 0x90], al
mov qword [rbx + 0x98], rax
mov qword [rbx + 0xa0], rax
mov qword [rbx + 0xa8], rax
mov qword [rbx + 0xb0], rax
jmp 0x140076807
mov rbx, rax
mov ecx, dword [rbp + 0xa8]
lea eax, [rcx + 1]
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0xa0]
mov qword [rax + rcx*8], rbx
mov eax, dword [rsi + 0x14]
mov dword [rbx + 0x38], eax
mov rdi, qword [rsi]
test rdi, rdi
je 0x140076838
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140076847
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x28], rdi
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14007685d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14007686c
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rsi, qword [rsp + 0x48]
mov qword [rbx + 0x30], rdi
movzx eax, byte [rbp + 0x80]
mov rbp, qword [rsp + 0x40]
mov byte [rbx + 0x90], al
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400897f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, r8
mov rbx, rcx
cmp qword [r8], rax
jne case.0x14008983a.154
mov eax, dword [r8 + 0x10]
add eax, 0x9b
cmp eax, 0x99
ja case.0x14008983a.154
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x89974]
mov edx, dword [rcx + rax*4 + 0x8995c]
add rdx, rcx
jmp rdx
cmp byte [reloc.WS2_32.dll_accept], 0
je case.0x14008983a.154
mov rcx, rbx
call fcn.140089620
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [reloc.WS2_32.dll_accept], 0
jne case.0x14008983a.154
mov rcx, rbx
call fcn.140089620
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, dword [r8 + 0x1c]
cmp eax, dword [rbx + 0x60]
jne 0x1400898a8
cmp byte [rbx + 0x64], 0
mov rcx, rbx
sete al
mov byte [rbx + 0x64], al
call fcn.14008a780
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rbx + 0x60], eax
test eax, eax
mov rcx, rbx
sete al
mov byte [rbx + 0x64], al
call fcn.14008a780
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetKeyState]
movzx ecx, word [rdi + 0x18]
shr eax, 0xf
and al, 1
cmp cx, 8
je 0x14008990b
cmp cx, 0x52
je 0x1400898f8
cmp cx, 0x76
jne 0x140089906
mov rcx, rbx
call fcn.140088ea0
jmp 0x140089913
test al, al
je 0x140089906
mov rcx, rbx
call fcn.14008a780
jmp 0x140089913
xor dil, dil
jmp 0x140089916
mov rcx, rbx
call fcn.140089c70
mov dil, 1
mov rcx, qword [rbx + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8001
call qword [sym.imp.USER32.dll_PostMessageW]
movzx eax, dil
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rbx + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8001
call qword [sym.imp.USER32.dll_PostMessageW]
mov rbx, qword [rsp + 0x30]
xor al, al
add rsp, 0x20
pop rdi
ret
Function at 0x14008d560
Capabilities:
Hide graphical window

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
mov rsi, rcx
mov rcx, qword [rcx + 0x110]
test rcx, rcx
je 0x14008d599
mov rdx, qword [rsi + 0x118]
test rdx, rdx
je 0x14008d599
mov rax, qword [rcx]
xor r8d, r8d
call qword [rax + 0x50]
mov dl, 1
mov rcx, rsi
call fcn.14008ed00
mov edx, 0x198
lea rcx, [rbp - 0x50]
call fcn.14006e2c0
mov r8, qword [rbp - 0x50]
mov edx, 2
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rcx, qword [rbp - 0x50]
call fcn.14087be8c
mov edx, 2
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, 0xf4
mov r9d, 1
mov r8d, r9d
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 0x1bc
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, 0x1be
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x68]
lea rax, [rbp - 0x40]
mov qword [rbp + 0x20], rax
lea rcx, [rbp - 0x40]
call fcn.140067fa0
nop
lea rcx, [rbp - 0x30]
call fcn.140067fa0
nop
lea rax, [rbp - 0x20]
mov qword [rbp + 0x20], rax
lea rcx, [rbp - 0x20]
call fcn.140067fa0
nop
lea rcx, [rbp - 0x10]
call fcn.140067fa0
nop
lea rbx, [rsi + 0x290]
mov qword [rbp + 0x20], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r14d, dword [rsi + 0x248]
lea rdx, [rsi + 0x250]
lea rcx, [rbp - 0x40]
call fcn.140067fe0
lea rdx, [rsi + 0x260]
lea rcx, [rbp - 0x30]
call fcn.140067fe0
lea rdx, [rsi + 0x270]
lea rcx, [rbp - 0x20]
call fcn.140067fe0
lea rdx, [rsi + 0x280]
lea rcx, [rbp - 0x10]
call fcn.140067fe0
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [rbp - 0x28], 0
je 0x14008d728
mov byte [rsi + 0x2bb], 1
cmp dword [rbp - 0x38], 0
jne 0x14008d6f1
lea rdx, str.7_Zip
lea rcx, [rbp - 0x40]
call fcn.140068070
mov r9d, reloc.WS2_32.dll_recv
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_MessageBoxW]
test r14d, r14d
je 0x14008d765
cmp byte [rsi + 0x1ae], 0
jne 0x14008d765
mov byte [rsi + 0x1ad], 1
mov rcx, rsi
call fcn.14008ea00
jmp 0x14008d772
test r14d, r14d
jne 0x14008d70e
mov byte [rsi + 0x2bb], 1
cmp dword [rbp - 8], r14d
je 0x14008d765
cmp dword [rbp - 0x18], r14d
jne 0x14008d750
lea rdx, str.7_Zip
lea rcx, [rbp - 0x20]
call fcn.140068070
xor r9d, r9d
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_MessageBoxW]
xor edx, edx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_EndDialog]
nop
mov rcx, qword [rbp - 0x10]
call fcn.14087be8c
mov rcx, qword [rbp - 0x20]
call fcn.14087be8c
mov rcx, qword [rbp - 0x30]
call fcn.14087be8c
mov rcx, qword [rbp - 0x40]
call fcn.14087be8c
mov al, 1
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x14008dc50
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x80
mov rax, qword [rcx + 0xf0]
mov rbx, rcx
cmp qword [r8], rax
jne 0x14008dc89
cmp dword [r8 + 0x10], 0xffffff65
jne 0x14008dc89
movzx eax, word [r8 + 0x18]
cmp ax, 0x2d
je 0x14008dcdf
cmp ax, 0x41
je 0x14008dc94
cmp ax, 0x43
je 0x14008dcdf
xor al, al
add rsp, 0x80
pop rbx
ret
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
je 0x14008dc89
mov rcx, qword [rbx + 0xf0]
lea r9, [rsp + 0x20]
mov edx, 0x102b
mov dword [rsp + 0x30], 2
mov r8, 0xffffffffffffffff
mov dword [rsp + 0x2c], 2
call qword [sym.imp.USER32.dll_SendMessageW]
mov al, 1
add rsp, 0x80
pop rbx
ret
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
je 0x14008dc89
mov rcx, rbx
call fcn.14008cdf0
mov al, 1
add rsp, 0x80
pop rbx
ret
Function at 0x14008fbb0
Capabilities:
Get file system object information

Disassembly:
push rbx
sub rsp, 0x300
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
mov rbx, r8
mov dword [rsp + 0x20], 0x4010
lea r8, [rsp + 0x30]
bts edx, 7
mov r9d, 0x2b8
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [rsp + 0x38]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.14087bc90
add rsp, 0x300
pop rbx
ret

Function at 0x14008fc10
Capabilities:
Get file system object information

Disassembly:
sub rsp, 0x308
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
test cl, cl
lea r8, [rsp + 0x30]
mov edx, 0x4011
lea rcx, [0x1408b1e58]
mov eax, 0x4110
mov r9d, 0x2b8
cmovne eax, edx
mov edx, Ordinal_147
mov dword [rsp + 0x20], eax
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.14087bc90
add rsp, 0x308
ret
Function at 0x1400ba980
Capabilities:
Hash data using sha1

Disassembly:
lea rax, [rcx + 0x18]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
lea rdx, [rax + 0x10]
xor r8d, r8d
mov qword [rdx], r8
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r8b
mov dword [rcx], 0x67452301
mov dword [rcx + 4], 0xefcdab89
mov dword [rcx + 8], 0x98badcfe
mov dword [rcx + 0xc], 0x10325476
mov dword [rcx + 0x10], 0xc3d2e1f0
mov qword [rcx + 0x38], r8
cmp qword [rax + 0x18], 0x10
jb 0x1400ba9cf
mov rax, qword [rax]
mov qword [rdx], r8
mov byte [rax], 0
mov rax, rcx
ret
Function at 0x1400e3590
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov eax, dword [rcx]
xor r9d, r9d
mov rsi, r8
mov r11, rdx
mov r10, rcx
mov ebx, r9d
mov edi, r9d
test eax, eax
jle 0x1400e35db
mov rdx, r8
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdi, [rdi + 1]
mov rcx, qword [r11]
lea rdx, [rdx + 4]
inc ebx
xor byte [rcx + rdi - 1], al
mov eax, dword [r10]
cmp ebx, eax
jl 0x1400e35c0
mov r8d, r9d
mov rbx, r9
test eax, eax
jle 0x1400e360e
lea rdx, [rsi + 1]
nop dword [rax]
movzx eax, byte [rdx]
lea rbx, [rbx + 1]
mov rcx, qword [r11 + 8]
lea rdx, [rdx + 4]
inc r8d
xor byte [rcx + rbx - 1], al
mov eax, dword [r10]
cmp r8d, eax
jl 0x1400e35f0
mov r8d, r9d
mov rbx, r9
test eax, eax
jle 0x1400e363e
lea rdx, [rsi + 2]
nop dword [rax]
movzx eax, byte [rdx]
lea rbx, [rbx + 1]
mov rcx, qword [r11 + 0x10]
lea rdx, [rdx + 4]
inc r8d
xor byte [rcx + rbx - 1], al
mov eax, dword [r10]
cmp r8d, eax
jl 0x1400e3620
mov r8, r9
test eax, eax
jle 0x1400e366c
lea rdx, [rsi + 3]
nop dword [rax]
movzx eax, byte [rdx]
lea r8, [r8 + 1]
mov rcx, qword [r11 + 0x18]
lea rdx, [rdx + 4]
inc r9d
xor byte [rcx + r8 - 1], al
cmp r9d, dword [r10]
jl 0x1400e3650
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
Function at 0x1400e3cc0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
sub rsp, 0x60
mov r8, rdx
mov rbx, rcx
xor edx, edx
mov qword [rsp + 0x70], rdx
cmp dword [rcx], edx
jle 0x1400e3e44
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov qword [rsp + 0x80], rdx
mov rax, qword [r8]
mov rcx, rbx
add rax, rdx
mov qword [rsp + 0x88], rax
movzx r14d, byte [rax]
mov rax, qword [r8 + 8]
movzx r13d, byte [rdx + rax]
mov rax, qword [r8 + 0x10]
movzx r12d, byte [rdx + rax]
mov rax, qword [r8 + 0x18]
movzx r8d, r14b
movzx edi, byte [rdx + rax]
mov dl, 2
call fcn.1400e6e00
movzx r8d, r13b
mov dl, 3
mov rcx, rbx
movzx r15d, al
call fcn.1400e6e00
xor r15b, al
movzx r8d, r13b
xor r15b, dil
mov dl, 2
mov rcx, rbx
xor r15b, r12b
call fcn.1400e6e00
movzx r8d, r12b
mov dl, 3
mov rcx, rbx
movzx ebp, al
call fcn.1400e6e00
xor bpl, al
movzx r8d, dil
xor bpl, dil
mov dl, 3
mov rcx, rbx
xor bpl, r14b
call fcn.1400e6e00
movzx r8d, r12b
mov dl, 2
mov rcx, rbx
movzx esi, al
call fcn.1400e6e00
xor sil, al
movzx r8d, dil
xor sil, r14b
mov dl, 2
mov rcx, rbx
xor sil, r13b
call fcn.1400e6e00
movzx r8d, r14b
mov dl, 3
mov rcx, rbx
movzx edi, al
call fcn.1400e6e00
mov rdx, qword [rsp + 0x80]
xor dil, al
mov r8, qword [rsp + 0x78]
xor dil, r12b
mov rax, qword [rsp + 0x88]
xor dil, r13b
mov byte [rax], r15b
mov rcx, qword [r8 + 8]
mov byte [rdx + rcx], bpl
mov rax, qword [r8 + 0x10]
mov byte [rdx + rax], sil
mov rax, qword [r8 + 0x18]
mov byte [rdx + rax], dil
inc rdx
mov rax, qword [rsp + 0x70]
inc eax
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x70], rax
cmp eax, dword [rbx]
jl 0x1400e3d05
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
pop rbx
ret
Function at 0x1400e3fe0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rbx
mov eax, dword [rcx]
lea rbx, str.cw
xor r8d, r8d
mov r10, rdx
mov r9, rcx
mov edx, r8d
mov r11d, r8d
test eax, eax
jle 0x1400e4020
mov rcx, qword [r10]
lea r11, [r11 + 1]
inc edx
movzx eax, byte [rcx + r11 - 1]
movzx eax, byte [rax + rbx]
mov byte [rcx + r11 - 1], al
mov eax, dword [r9]
cmp edx, eax
jl 0x1400e4001
mov edx, r8d
mov r11, r8
test eax, eax
jle 0x1400e4050
nop word [rax + rax]
mov rcx, qword [r10 + 8]
lea r11, [r11 + 1]
inc edx
movzx eax, byte [rcx + r11 - 1]
movzx eax, byte [rax + rbx]
mov byte [rcx + r11 - 1], al
mov eax, dword [r9]
cmp edx, eax
jl 0x1400e4030
mov edx, r8d
mov r11, r8
test eax, eax
jle 0x1400e4080
nop word [rax + rax]
mov rcx, qword [r10 + 0x10]
lea r11, [r11 + 1]
inc edx
movzx eax, byte [rcx + r11 - 1]
movzx eax, byte [rax + rbx]
mov byte [rcx + r11 - 1], al
mov eax, dword [r9]
cmp edx, eax
jl 0x1400e4060
mov rdx, r8
test eax, eax
jle 0x1400e40ad
nop word [rax + rax]
mov rcx, qword [r10 + 0x18]
lea rdx, [rdx + 1]
inc r8d
movzx eax, byte [rcx + rdx - 1]
movzx eax, byte [rax + rbx]
mov byte [rcx + rdx - 1], al
cmp r8d, dword [r9]
jl 0x1400e4090
mov rbx, qword [rsp + 8]
ret

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

Disassembly:
movzx eax, byte [rdx]
lea rcx, str.cw
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rdx + 1]
movzx eax, byte [rax + rcx]
mov byte [rdx + 1], al
movzx eax, byte [rdx + 2]
movzx eax, byte [rax + rcx]
mov byte [rdx + 2], al
movzx eax, byte [rdx + 3]
movzx eax, byte [rax + rcx]
mov byte [rdx + 3], al
ret
Function at 0x1400e4100
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x98
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rbp + 7], rax
movzx edi, byte [rbp + 0x7f]
mov r12, rcx
lea rcx, [r9 + 0x64]
mov qword [rbp - 0x31], rdx
mov r15, r9
mov rbx, r8
mov r13, rdx
call fcn.1400e1910
lea r8, [r15 + 0x64]
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.14087f2b0
mov r8, r15
mov rdx, rbx
mov rcx, r14
call fcn.14087ec10
mov rdx, r15
mov rcx, rbx
call fcn.1400e3350
lea rax, [rbp - 0x31]
mov byte [rsp + 0x30], dil
mov qword [rsp + 0x28], rax
lea r8d, [r15 + 0xf]
lea rax, [rbp - 0x41]
mov dword [rbp - 0xf], 0x36433442
and r8d, 0xfffffff0
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x21]
mov word [rbp - 7], 0x4441
mov rdx, r14
mov dword [rbp - 0xb], 0x42304134
mov rcx, r12
mov dword [rbp - 0x1c], 0x45384545
mov dword [rbp - 4], 0x323945
mov word [rbp - 0x1e], 0x3441
mov word [rbp - 0x21], 0x4642
mov dword [rbp - 0x15], 0x37454234
mov word [rbp - 0x17], 0x3339
mov byte [rbp - 0x18], Ordinal_73
mov byte [rbp - 0x1f], 0x45
mov word [rbp - 0x11], 0x3241
mov byte [rbp - 5], 0x31
mov qword [rbp - 0x41], 0
mov qword [rbp - 0x39], 0
mov dword [rbp - 0x31], 0
call fcn.1400e3960
lea rdx, [r15 + 0x64]
mov rcx, r14
mov rbx, rax
call fcn.1400e3350
mov r9d, dword [rbp - 0x31]
mov r8, rbx
mov rdx, r13
mov rcx, r12
call fcn.1400e6b70
mov rcx, r14
call fcn.14087be8c
mov rcx, rbx
call fcn.14087be8c
mov rax, r13
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14087bc90
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x1400e69e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov r11d, dword [rsp + 0x30]
xor r10d, r10d
test r11d, r11d
je 0x1400e6b39
mov qword [rsp + 0x10], rbx
cmp r11d, 8
jb 0x1400e6b03
lea eax, [r11 - 1]
mov ecx, eax
lea rbx, [rax + r9]
add rax, r8
cmp r9, rax
ja 0x1400e6a1f
cmp rbx, r8
jae 0x1400e6b03
lea rax, [rcx + rdx]
cmp r9, rax
ja 0x1400e6a31
cmp rbx, rdx
jae 0x1400e6b03
cmp r11d, 0x40
jb 0x1400e6ad3
mov qword [rsp + 0x18], rsi
mov ebx, r11d
mov qword [rsp], rdi
and ebx, 0x3f
mov edi, r11d
sub edi, ebx
mov esi, 0x20
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r10 + r8]
lea eax, [rsi - 0x10]
movdqu xmm1, xmmword [r10 + rdx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + r8]
movdqu xmmword [r10 + r9], xmm1
add r10d, 0x40
movdqu xmm1, xmmword [rax + rdx]
xorps xmm1, xmm0
movdqu xmmword [rax + r9], xmm1
mov eax, esi
movdqu xmm0, xmmword [rax + r8]
movdqu xmm1, xmmword [rax + rdx]
xorps xmm1, xmm0
movdqu xmmword [rax + r9], xmm1
lea eax, [rsi + 0x10]
add esi, 0x40
movdqu xmm1, xmmword [rax + rdx]
movdqu xmm0, xmmword [rax + r8]
xorps xmm1, xmm0
movdqu xmmword [rax + r9], xmm1
cmp r10d, edi
jb 0x1400e6a60
mov rdi, qword [rsp]
mov rsi, qword [rsp + 0x18]
cmp ebx, 8
jb 0x1400e6afe
mov ecx, r11d
and ecx, 0xfffffff8
nop dword [rax]
movq xmm1, qword [r10 + rdx]
movq xmm0, qword [r10 + r8]
xorps xmm1, xmm0
movq qword [r10 + r9], xmm1
add r10d, 8
cmp r10d, ecx
jb 0x1400e6ae0
cmp r10d, r11d
jae 0x1400e6b34
sub rdx, r8
mov eax, r10d
add rax, r8
sub r9, r8
sub r11d, r10d
mov r8d, r11d
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
xor cl, byte [rax]
mov byte [r9 + rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x1400e6b20
mov rbx, qword [rsp + 0x10]
add rsp, 8
ret
Function at 0x1400e6b70
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r14d, r9d
mov r13, r8
mov rsi, rdx
mov qword [rbp - 0x39], rdx
xor edi, edi
mov dword [rbp - 0x41], edi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
mov ecx, edi
lea rdx, [rbp - 0x29]
nop word [rax + rax]
lea eax, [rcx + 0x41]
mov byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0x1a
jl 0x1400e6be0
mov ecx, edi
lea rdx, [rbp - 0xf]
nop word [rax + rax]
lea eax, [rcx + 0x61]
mov byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0x1a
jl 0x1400e6c00
mov ecx, edi
lea rdx, [rbp + 0xb]
nop word [rax + rax]
lea eax, [rcx + 0x30]
mov byte [rdx], al
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0xa
jl 0x1400e6c20
mov word [rbp + 0x15], 0x2f2b
mov rcx, rsi
call fcn.1400e3480
mov dword [rbp - 0x41], 1
mov ebx, edi
test r14d, r14d
je 0x1400e6dc0
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
dec r14d
movzx eax, byte [r13]
lea r13, [r13 + 1]
mov byte [rbp + rcx - 0x49], al
inc ebx
inc rcx
movzx edx, byte [rbp - 0x47]
movzx r15d, byte [rbp - 0x48]
movzx r12d, byte [rbp - 0x49]
cmp rcx, 3
jne 0x1400e6cf4
movzx eax, r12b
shr al, 2
mov byte [rbp - 0x45], al
movzx ecx, r12b
and cl, 3
shl cl, 4
movzx eax, r15b
shr al, 4
add cl, al
mov byte [rbp - 0x44], cl
movzx ecx, r15b
and cl, 0xf
shl cl, 2
movzx eax, dl
shr al, 6
add cl, al
mov byte [rbp - 0x43], cl
movzx eax, dl
and al, 0x3f
mov byte [rbp - 0x42], al
mov rbx, rdi
nop dword [rax]
movzx edx, byte [rbp + rbx - 0x45]
movzx edx, byte [rbp + rdx - 0x29]
mov rcx, rsi
call fcn.1400e3570
inc rbx
cmp rbx, 4
jl 0x1400e6cd0
mov ebx, edi
mov rcx, rdi
movzx edx, byte [rbp - 0x47]
test r14d, r14d
jne 0x1400e6c60
test ebx, ebx
je 0x1400e6dc0
movsxd rax, ebx
cmp rax, 3
jge 0x1400e6d30
jae 0x1400e6df0
mov byte [rbp + rax - 0x49], 0
inc rax
cmp rax, 3
jl 0x1400e6d0e
movzx edx, byte [rbp - 0x47]
movzx r15d, byte [rbp - 0x48]
movzx r12d, byte [rbp - 0x49]
movzx eax, r12b
shr al, 2
mov byte [rbp - 0x45], al
and r12b, 3
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rbp - 0x44], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, dl
shr al, 6
add r15b, al
mov byte [rbp - 0x43], r15b
and dl, 0x3f
mov byte [rbp - 0x42], dl
lea eax, [rbx + 1]
movsxd r14, eax
test eax, eax
jle 0x1400e6d9a
nop word [rax + rax]
movzx edx, byte [rbp + rdi - 0x45]
movzx edx, byte [rbp + rdx - 0x29]
mov rcx, rsi
call fcn.1400e3570
inc rdi
cmp rdi, r14
jl 0x1400e6d80
cmp ebx, 3
jge 0x1400e6dc0
mov ecx, 3
sub ecx, ebx
mov ebx, ecx
nop dword [rax + rax]
mov dl, 0x3d
mov rcx, rsi
call fcn.1400e3570
sub rbx, 1
jne 0x1400e6db0
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14087bc90
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14087c2a0
int3
Function at 0x1400e6e00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
xor bpl, bpl
movzx esi, r8b
xor edi, edi
movzx r15d, dl
mov r14, rcx
test sil, 1
je 0x1400e6e54
movzx eax, r15b
test edi, edi
je 0x1400e6e51
mov ebx, edi
nop dword [rax + rax]
movzx edx, al
mov rcx, r14
call fcn.1400e6ee0
sub rbx, 1
jne 0x1400e6e40
xor bpl, al
shr sil, 1
inc edi
cmp edi, 8
jl 0x1400e6e28
mov rbx, qword [rsp + 0x40]
movzx eax, bpl
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x140121a00
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ebx, edx
mov r8d, ecx
xor edx, edx
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140121a30
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14012ec40
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14012ec65
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x400
jg 0x14012ec65
add rax, rcx
xor ecx, ecx
cmp dword [rax], 0x4550
cmovne rax, rcx
ret
xor eax, eax
ret
Function at 0x140155a00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rdi, r9
mov rbx, r8
mov rsi, rdx
mov rbp, rcx
call fcn.1400bceb0
mov rdx, rax
mov rcx, rbx
call fcn.14010e2b0
mov rcx, rdi
call fcn.1400bceb0
sub rsi, rbp
mov r9, rax
movzx eax, byte [rsp + 0x60]
xor edx, edx
sar rsi, 5
mov rcx, rbp
mov r8, rsi
mov byte [rsp + 0x60], al
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp fcn.1401558f0
Function at 0x140167de0
Capabilities:
Get disk information via ioctl

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x120]
mov r10, rdx
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov rsi, rcx
mov dword [rsp + 0x28], 0
xor edx, edx
mov dword [rsp + 0x20], 3
mov rcx, r10
mov ebx, 0xffffffff
lea r8d, [r9 + 3]
call rax
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140167e8d
mov r10, qword [rsi + 0x100]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], 0
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], recvfrom
mov edx, 0x2d1080
mov qword [rsp + 0x20], rax
mov rcx, rdi
call r10
test eax, eax
mov rcx, rdi
cmovne ebx, dword [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14087bc90
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret