joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000b990
Capabilities:
Contain obfuscated stackstrings

Disassembly:
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 0x140009612
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.14000aed0
test al, al
jne 0x140009624
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400095e0
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
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, 0x65
mov dword [rbp - 0x20], 0x2a0008
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], ax
mov dword [rbp - 0x1c], 0x3c0020
mov dword [rbp - 0x18], 0x3f0020
mov dword [rbp - 0x14], 0x2e0032
mov dword [rbp - 0x10], 0x21003d
call fcn.140005fc0
mov rcx, rax
call 0x1400095b0
mov qword [0x14002c670], rax
lea rcx, [rbp - 0x20]
mov eax, 0x6e
mov dword [rbp - 0x20], 0x2a0008
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x3c0020
mov dword [rbp - 0x18], 0x3f0020
mov dword [rbp - 0x14], 0x5d0043
call fcn.140005dd0
mov rcx, rax
call 0x1400095b0
lea rcx, [rbp - 0x20]
mov qword [0x14002c660], rax
mov dword [rbp - 0x20], 0x1b002d
mov dword [rbp - 0x1c], 0x1e0016
mov dword [rbp - 0x18], 0x730009
call fcn.140005c60
mov rcx, rax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rbp
jmp 0x1400095b0
Function at 0x14000bbd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movsxd rax, dword [rcx + 0x3c]
mov r12, rdx
mov rdx, rcx
mov ecx, dword [rax + rcx + 0x88]
xor eax, eax
add rcx, rdx
mov dword [rbp - 0x2c], eax
mov qword [rbp - 0x28], rcx
mov r8d, dword [rcx + 0x1c]
mov r9d, dword [rcx + 0x20]
add r8, rdx
mov r10d, dword [rcx + 0x24]
add r9, rdx
add r10, rdx
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], r10
cmp dword [rcx + 0x18], eax
jbe 0x14000bdfe
mov word [rbp + 0x50], 0x6f43
mov word [rbp + 0x58], 0x6f43
nop
mov esi, dword [r9 + rax*4]
lea rcx, [rbp + 0x50]
movzx eax, word [r10 + rax*2]
add rsi, rdx
xor edi, edi
mov r15d, dword [r8 + rax*4]
add r15, rdx
mov qword [rbp - 8], r15
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000bc84
nop dword [rax]
lea rcx, [rbp + 0x50]
inc rdi
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rdi + rsi], cl
jne 0x14000bc70
lea rcx, [rbp + 0x58]
xor ebx, ebx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [r12], cl
je 0x14000bcb5
nop dword [rax + rax]
lea rcx, [rbp + 0x58]
inc rbx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rbx + r12], cl
jne 0x14000bca0
cmp rdi, rbx
jne 0x14000bdd2
mov r13, rsi
mov word [rbp - 0x50], 0x6f43
sub r13, r12
mov r14, r12
nop dword [rax]
lea rcx, [rbp - 0x50]
xor ebx, ebx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000bcf6
lea rcx, [rbp - 0x50]
inc rbx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rbx + rsi], cl
jne 0x14000bce2
mov rax, r14
sub rax, r12
dec rbx
cmp rax, rbx
jae 0x14000bdf8
movsx r15d, byte [r14 + r13]
lea rcx, [rbp - 0x4e]
mov dword [rbp - 0x4e], 0x6f0022
call fcn.140003390
movzx eax, word [rax]
cmp r15d, eax
jl 0x14000bd68
lea rcx, [rbp - 0x4a]
mov dword [rbp - 0x4a], 0x6f0039
call fcn.140003390
movzx ecx, word [rax]
cmp r15d, ecx
jg 0x14000bd68
lea rcx, [rbp - 0x46]
mov dword [rbp - 0x46], 0x6f0022
mov dword [rbp - 0x42], 0x6f0002
call fcn.140003390
lea rcx, [rbp - 0x42]
movzx ebx, byte [rax]
call fcn.140003390
movzx ecx, byte [rax]
sub cl, bl
add r15b, cl
movsx edi, byte [r14]
lea rcx, [rbp - 0x3e]
mov dword [rbp - 0x3e], 0x6f0022
call fcn.140003390
movzx eax, word [rax]
cmp edi, eax
jl 0x14000bdc5
lea rcx, [rbp - 0x3a]
mov dword [rbp - 0x3a], 0x6f0039
call fcn.140003390
movzx ecx, word [rax]
cmp edi, ecx
jg 0x14000bdc5
lea rcx, [rbp - 0x36]
mov dword [rbp - 0x36], 0x6f0022
mov dword [rbp - 0x32], 0x6f0002
call fcn.140003390
lea rcx, [rbp - 0x32]
movzx ebx, byte [rax]
call fcn.140003390
movzx ecx, byte [rax]
sub cl, bl
add dil, cl
cmp r15b, dil
jne 0x14000bdd2
inc r14
jmp 0x14000bcd0
mov eax, dword [rbp - 0x2c]
mov rcx, qword [rbp - 0x28]
inc eax
mov dword [rbp - 0x2c], eax
cmp eax, dword [rcx + 0x18]
jae 0x14000bdfe
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
jmp 0x14000bc40
mov rax, qword [rbp - 8]
jmp 0x14000be00
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000ded0
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 [0x14002c678]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x70010
mov dword [rbp - 0x1c], 0x1e0017
mov dword [rbp - 0x18], 0x400009
mov dword [rbp - 0x14], 0x410042
mov dword [rbp - 0x10], 0x8000a
mov dword [rbp - 0xc], 0x6e0009
call fcn.1400037c0
mov rcx, rax
call rbx
mov rbx, qword [0x14002c678]
lea rcx, [rbp - 0x20]
mov qword [0x14002c658], rax
mov dword [rbp - 0x20], 0x60014
mov dword [rbp - 0x1c], 0x1b001c
mov dword [rbp - 0x18], 0x16000b
mov dword [rbp - 0x14], 0x410004
mov dword [rbp - 0x10], 0x8000a
mov dword [rbp - 0xc], 0x6e0009
call fcn.1400037c0
mov rcx, rax
call rbx
movdqa xmm0, xmmword [0x1400160c0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x14002c668], rax
mov word [rbp - 0x10], 0x3205
mov byte [rbp - 0xe], 0x63
call fcn.140005420
mov rcx, qword [0x14002c658]
mov rdx, rax
call rbx
mov rbx, qword [0x14002c648]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x1e170710
mov dword [rbp - 0x1c], 0xa083609
mov dword [rbp - 0x18], 0xb11110d
mov word [rbp - 0x14], 0x6534
call fcn.140001180
mov rcx, qword [0x14002c658]
mov rdx, rax
call rbx
mov rbx, qword [0x14002c648]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x1706010a
mov dword [rbp - 0x1c], 0x1b151d17
mov dword [rbp - 0x18], 0x1421
mov word [rbp - 0x14], 0x6522
call fcn.140001180
mov rcx, qword [0x14002c668]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x1400161a0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x14002c5f8], rax
mov byte [rbp - 0x10], 0x73
call fcn.140005130
mov rcx, qword [0x14002c668]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140016140]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x14002c600], rax
mov dword [rbp - 0x10], 0x65060917
call fcn.140003460
mov rcx, qword [0x14002c668]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x1400160a0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x14002c5f0], rax
mov byte [rbp - 0x10], 0x73
call fcn.140005130
mov rcx, qword [0x14002c668]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140016040]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x14002c5e8], rax
mov dword [rbp - 0x10], 0x240d0a1a
mov byte [rbp - 0xc], 0x6e
call fcn.140003f30
mov rcx, qword [0x14002c668]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140016110]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x14002c648]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x241d
mov byte [rbp - 0xe], 0x63
call fcn.140005420
mov rcx, qword [0x14002c668]
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 0x1400017c0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rdi
mov eax, 0x1068
call fcn.140008330
sub rsp, rax
mov rax, qword [0x1400374d0]
xor rax, rsp
mov qword [rsp + 0x1050], rax
mov rbx, rdx
mov rdi, rcx
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.14001115c
test eax, eax
jne 0x14000181d
cmp dword [rsp + 0x34], 0x6400000
jle 0x14000181d
inc dword [0x14003804c]
lea rcx, str.Error:_Can_not_copy_file_larger_than_100MB__n_n
call fcn.1400034a0
or eax, 0xffffffff
jmp 0x1400018b2
xor edx, edx
mov qword [rsp + 0x1090], rbp
mov rcx, rbx
call fcn.140014110
mov ebp, eax
test eax, eax
jns 0x14000184c
inc dword [0x14003804c]
lea rcx, str.Error:_Can_not_copy_file__Read_error__n_n
call fcn.1400034a0
or eax, 0xffffffff
jmp 0x1400018aa
mov edx, 0x301
mov qword [rsp + 0x1060], rsi
mov r8d, 0x180
mov rcx, rdi
call fcn.140014110
mov esi, eax
test eax, eax
jns 0x1400018cc
inc dword [0x14003804c]
lea rcx, str.Error:_Can_not_copy_file__Write_error__n_n
call fcn.1400034a0
call fcn.14000fa3c
mov ecx, ebp
mov ebx, dword [rax]
call fcn.140015e50
test esi, esi
js 0x140001898
mov ecx, esi
call fcn.140015e50
call fcn.14000fa3c
mov dword [rax], ebx
or eax, 0xffffffff
mov rsi, qword [rsp + 0x1060]
mov rbp, qword [rsp + 0x1090]
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.1400083a0
add rsp, 0x1068
pop rdi
pop rbx
ret
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov ecx, ebp
call fcn.140014c40
movsxd rbx, eax
test eax, eax
je 0x140001931
nop word [rax + rax]
lea rdi, [rsp + 0x50]
nop word [rax + rax]
mov r8, rbx
mov rdx, rdi
mov ecx, esi
call fcn.140015a14
movsxd rcx, eax
add rdi, rcx
sub rbx, rcx
jne 0x140001900
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov ecx, ebp
call fcn.140014c40
movsxd rbx, eax
test eax, eax
jne 0x1400018f0
test rbx, rbx
jne 0x14000187f
mov ecx, esi
call fcn.140015e50
test eax, eax
jns 0x14000194d
or esi, 0xffffffff
jmp 0x14000187f
mov ecx, ebp
call fcn.140015e50
inc dword [0x140038044]
xor eax, eax
jmp 0x1400018a2
Function at 0x140003350
Capabilities:
Create directory

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1400374d0]
xor rax, rsp
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x20]
mov rbx, rcx
call fcn.14001115c
test eax, eax
jne 0x14000338d
movzx eax, word [rsp + 0x26]
mov ecx, 0xf000
and ax, cx
mov ecx, 0x4000
cmp ax, cx
je 0x1400033bd
mov rdx, rbx
lea rcx, str.Creating_folder__s..._n_n
call fcn.1400034a0
mov rcx, rbx
call fcn.140011dcc
test eax, eax
je 0x1400033bd
inc dword [0x14003804c]
lea rcx, str.Error:_Can_not_create_folder:__s_n_n
mov rdx, rbx
call fcn.1400034a0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400083a0
add rsp, 0x60
pop rbx
ret

Function at 0x140003500
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r14
push r15
sub rsp, 0x30
mov rbp, rcx
xor r15d, r15d
mov rcx, qword [rcx + 0x128]
mov r14, r8
mov rbx, rdx
cmp dword [rcx + 0x47c], r15d
jne 0x14000369c
lea rdi, [rcx + 0x228]
cmp dword [rcx + 0x478], r15d
je 0x14000354c
mov dword [rcx + 0x478], r15d
jmp 0x140003564
mov rcx, qword [rcx + 0x480]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x14000369c
test rdi, rdi
je 0x14000369c
lea r9, [rdi + 0x2c]
mov qword [rsp + 0x58], rsi
mov r8d, 0x105
mov qword [rsp + 0x20], 0x105
lea rdx, [rbx + 0x1c]
lea rcx, [rsp + 0x50]
call fcn.1400106f8
test eax, eax
je 0x1400035f3
lea r9, [rdi + 0x234]
cmp word [r9], r15w
je 0x1400035c1
mov r8d, 0x105
mov qword [rsp + 0x20], 0x105
lea rdx, [rbx + 0x1c]
lea rcx, [rsp + 0x50]
call fcn.1400106f8
test eax, eax
je 0x1400035f3
mov rsi, qword [rsp + 0x58]
mov word [rbx + 0x1c], 0x3f
mov qword [rbx + 0x10], 1
mov dword [rbx + 0x18], r15d
mov dword [rbx + 4], 0xffffffff
mov word [rbx + 8], r15w
mov dword [rbx], r15d
mov qword [r14], rbx
jmp 0x14000369f
mov rax, qword [rsp + 0x50]
dec rax
mov qword [rbx + 0x10], rax
mov eax, dword [rdi]
test al, 0x40
je 0x14000360e
mov dword [rbx + 0x18], 0x2000
jmp 0x140003620
test al, 0x10
mov ecx, 0x4000
mov eax, 0x8000
cmovne eax, ecx
mov dword [rbx + 0x18], eax
mov rcx, qword [rbp + 0x128]
call fcn.140001a40
test rax, rax
je 0x14000367f
add rax, 0x2c
mov ecx, 0x1505
lea r8, [rax + 0x208]
cmp rax, r8
je 0x140003665
nop word [rax + rax]
movzx edx, word [rax]
add rax, 2
test edx, edx
je 0x140003665
imul ecx, ecx, 0x21
add ecx, edx
cmp rax, r8
jne 0x140003650
btr ecx, 0x1f
mov dword [rbx + 4], ecx
mov rax, qword [rbp + 0x128]
mov dword [rax + 0x478], 1
jmp 0x140003686
mov dword [rbx + 4], 0x7fffffff
mov rsi, qword [rsp + 0x58]
mov eax, 0x128
mov word [rbx + 8], ax
mov dword [rbx], r15d
mov qword [r14], rbx
jmp 0x14000369f
mov qword [r14], r15
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x1400045f0
Capabilities:
Hash data with md5

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x1400374d0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, rdx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0x67452301
or r8, 0xffffffffffffffff
mov dword [rsp + 0x2c], 0xefcdab89
mov dword [rsp + 0x30], 0x98badcfe
mov dword [rsp + 0x34], 0x10325476
nop dword [rax + rax]
inc r8
cmp byte [rcx + r8], 0
jne 0x140004640
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140004690
lea rcx, [rsp + 0x20]
call fcn.140004380
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbx], xmm0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400083a0
add rsp, 0xa0
pop rbx
ret
Function at 0x140005f30
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1400374d0]
xor rax, rsp
mov qword [rbp], rax
movzx eax, byte [r8 + 7]
mov r9, rcx
xor al, byte [r8 + 6]
xor al, byte [r8 + 5]
xor al, byte [r8 + 4]
xor al, byte [r8 + 3]
xor al, byte [r8 + 2]
xor al, byte [r8 + 1]
xor al, byte [r8]
mov dword [rsp], 0x9a73e4c5
mov dword [rsp + 4], 0x314813e0
mov dword [rsp + 8], 0x4cf8dc12
mov dword [rsp + 0xc], 0x401bc2a5
mov dword [rsp + 0x10], 0x946a1441
mov dword [rsp + 0x14], 0x2677b7aa
mov dword [rsp + 0x18], 0x9812f16e
mov dword [rsp + 0x1c], 0x68234581
mov dword [rsp + 0x20], 0x408c3b51
mov dword [rsp + 0x24], 0xff441383
mov dword [rsp + 0x28], 0xd3e6742f
mov dword [rsp + 0x2c], 0xde767b8b
mov dword [rsp + 0x30], 0xa1973e40
mov dword [rsp + 0x34], 0xd877c8db
mov dword [rsp + 0x38], 0xaca126ca
mov dword [rsp + 0x3c], 0x64759e6f
mov dword [rsp + 0x40], 0x8ffd313b
mov dword [rsp + 0x44], 0x7f51ec10
mov dword [rsp + 0x48], 0x8c64ab04
mov dword [rsp + 0x4c], 0x8cbd196c
mov dword [rsp + 0x50], 0xe81250f9
mov dword [rsp + 0x54], 0xe22ad8a5
mov dword [rsp + 0x58], 0xf9a1fe75
mov dword [rsp + 0x5c], 0x2ddb5c21
mov dword [rsp + 0x60], 0xe1c7b95b
mov dword [rsp + 0x64], 0xa0bf6dad
mov dword [rsp + 0x68], 0x648e8ee8
mov dword [rsp + 0x6c], 0x90835f1b
mov dword [rsp + 0x70], 0x2bf61f8
mov dword [rsp + 0x74], 0xc54a7463
mov dword [rsp + 0x78], 0x38330943
mov dword [rsp + 0x7c], 0x2f5881e5
mov dword [rbp - 0x80], 0x790b2d14
mov dword [rbp - 0x7c], 0x16b32dbe
mov dword [rbp - 0x78], 0xe2201b9e
mov dword [rbp - 0x74], 0x953a44db
mov dword [rbp - 0x70], 0x7bca697a
mov dword [rbp - 0x6c], 0x78c3f3e1
mov dword [rbp - 0x68], 0xd3f95fe3
mov dword [rbp - 0x64], 0x2c860945
mov dword [rbp - 0x60], 0x6f458e8b
mov dword [rbp - 0x5c], 0x158afc54
mov dword [rbp - 0x58], 0x11af34ca
mov dword [rbp - 0x54], 0xca06a0c9
mov dword [rbp - 0x50], 0xb74ccb53
mov dword [rbp - 0x4c], 0x1f83fbdf
mov dword [rbp - 0x48], 0x4cb296dd
mov dword [rbp - 0x44], 0x74775c90
mov dword [rbp - 0x40], 0x6cb8315d
mov dword [rbp - 0x3c], 0xb39be8f1
mov dword [rbp - 0x38], 0xb03e2ced
mov dword [rbp - 0x34], 0xcf9549a2
mov dword [rbp - 0x30], 0x711795a6
mov dword [rbp - 0x2c], 0xe97b15ab
mov dword [rbp - 0x28], 0x5c07072d
mov dword [rbp - 0x24], 0x7773ca16
mov dword [rbp - 0x20], 0x49d484fe
mov dword [rbp - 0x1c], 0xf4a36479
mov dword [rbp - 0x18], 0x836e7a31
mov dword [rbp - 0x14], 0xfc487c57
mov dword [rbp - 0x10], 0x9e5c9eeb
mov dword [rbp - 0xc], 0x6e3bc386
mov dword [rbp - 8], 0xb1b6750e
mov dword [rbp - 4], 0xe2fd0c74
movsxd r8, edx
test edx, edx
jle 0x14000618d
movzx eax, al
lea rdx, [rsp]
and eax, 7
mov r10d, 0x64
shl rax, 5
sub rax, rcx
add rdx, rax
nop
movzx eax, byte [rdx + r9]
xor al, byte [r9]
lea r9, [r9 + 1]
movzx ecx, al
cmove ecx, r10d
mov byte [r9 - 1], cl
sub r8, 1
jne 0x140006170
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400083a0
add rsp, 0x110
pop rbp
ret
Function at 0x140006720
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
movzx eax, byte [rcx]
lea r9, str.cw
mov r8, rcx
mov edx, eax
and eax, 0xf
and rdx, 0xfffffffffffffff0
add rdx, rax
movzx eax, byte [rdx + r9]
mov byte [rcx], al
movzx eax, byte [rcx + 1]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 1], al
movzx eax, byte [r8 + 2]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 2], al
movzx eax, byte [r8 + 3]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 4]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 4], al
movzx eax, byte [r8 + 5]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 5], al
movzx eax, byte [r8 + 6]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 6], al
movzx eax, byte [r8 + 7]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 7], al
movzx eax, byte [r8 + 8]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 8], al
movzx eax, byte [r8 + 9]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 9], al
movzx eax, byte [r8 + 0xa]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xa], al
movzx eax, byte [r8 + 0xb]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xb], al
movzx eax, byte [r8 + 0xc]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xc], al
movzx eax, byte [r8 + 0xd]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xd], al
movzx eax, byte [r8 + 0xe]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xe], al
movzx eax, byte [r8 + 0xf]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 0xf], al
ret
Function at 0x140007ac0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x60
mov rax, qword [0x1400374d0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov eax, edx
mov rsi, rcx
cdq
mov r14, r9
and edx, 0xf
mov rbx, r8
add eax, edx
mov ecx, eax
and eax, 0xf
sar ecx, 4
cmp eax, edx
je 0x140007af9
xor eax, eax
jmp 0x140007b64
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rdi
movsxd rdi, ecx
movups xmm2, xmmword [rax]
test ecx, ecx
jle 0x140007b5a
mov qword [rsp + 0x58], rbp
sub rsi, rbx
mov ebp, dword [rsp + 0xa0]
nop
movups xmm0, xmmword [rsi + rbx]
mov r9d, ebp
lea rdx, [rsp + 0x20]
mov r8, r14
lea rcx, [rsp + 0x30]
pxor xmm2, xmm0
movdqu xmmword [rsp + 0x30], xmm2
call fcn.1400068d0
movaps xmm2, xmmword [rsp + 0x20]
movups xmmword [rbx], xmm2
lea rbx, [rbx + 0x10]
sub rdi, 1
jne 0x140007b20
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov eax, 1
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400083a0
add rsp, 0x60
pop r14
pop rsi
pop rbx
ret
Function at 0x140007e50
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movsxd rdi, edx
mov eax, 0x55555556
mov rsi, r8
mov rbx, rcx
lea r9d, [rdi*4]
imul r9d
mov eax, 0x38e38e39
mov r9d, edx
add edx, 4
shr r9d, 0x1f
add r9d, edx
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
add eax, r9d
cmp eax, edi
jge 0x140007eb2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
movsxd rcx, eax
mov edx, 1
call fcn.14000fc44
mov r10, rax
test rax, rax
je 0x140007ea0
mov rcx, rdi
lea r11, [rdi + rbx]
xor r8d, r8d
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp rcx, 3
jl 0x140007f69
mov r9, r11
sub r9, rbx
nop dword [rax + rax]
movzx ecx, byte [rbx]
sub r9, 3
shr rcx, 2
add r8d, 4
movzx ecx, byte [rcx + rdi]
mov byte [rax], cl
movzx edx, byte [rbx]
movzx ecx, byte [rbx + 1]
and edx, 3
shr rcx, 4
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rdx + rdi]
mov byte [rax + 1], cl
movzx edx, byte [rbx + 1]
movzx ecx, byte [rbx + 2]
and edx, 0xf
shr rcx, 6
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rdx + rdi]
mov byte [rax + 2], cl
movzx ecx, byte [rbx + 2]
add rbx, 3
and ecx, 0x3f
movzx ecx, byte [rcx + rdi]
mov byte [rax + 3], cl
add rax, 4
cmp r8d, 0x48
jl 0x140007f63
mov byte [rax], 0xa
inc rax
xor r8d, r8d
cmp r9, 3
jge 0x140007ef0
sub r11, rbx
je 0x140007fcf
movzx ecx, byte [rbx]
shr rcx, 2
movzx ecx, byte [rcx + rdi]
mov byte [rax], cl
cmp r11, 1
jne 0x140007f97
movzx ecx, byte [rbx]
and ecx, 3
add rcx, rcx
movzx ecx, byte [rdi + rcx*8]
mov byte [rax + 1], cl
mov byte [rax + 2], 0x3d
jmp 0x140007fc1
movzx edx, byte [rbx]
movzx ecx, byte [rbx + 1]
and edx, 3
shr rcx, 4
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rdx + rdi]
mov byte [rax + 1], cl
movzx ecx, byte [rbx + 1]
and ecx, 0xf
movzx ecx, byte [rdi + rcx*4]
mov byte [rax + 2], cl
add rax, 3
mov byte [rax], 0x3d
inc rax
add r8d, 4
test r8d, r8d
je 0x140007fda
mov byte [rax], 0xa
inc rax
mov byte [rax], 0
test rsi, rsi
je 0x140007fe7
sub eax, r10d
mov dword [rsi], eax
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000ff44
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x14000fdd7
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000fdd7
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000fdd7
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000fdd7
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000fdd7
cmp dword [rcx + 0x84], 0xe
jbe 0x14000fdd7
cmp dword [rcx + 0xf8], 0
je 0x14000fdd7
mov ecx, ebx
call fcn.14000fe78
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.14000fc68
cmp dword [rbp + 0x20], 0
je 0x14000fe24
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14000fe2c
int3
xor r8d, r8d
xor edx, edx
jmp 0x14000fd70

Function at 0x140017fa8
Capabilities:
Read file on windows

Disassembly:
sub rsp, 0x28
mov rdx, rcx
test rcx, rcx
jne 0x140017f85
call fcn.14000fa3c
mov dword [rax], 0x16
call fcn.140016d74
or eax, 0xffffffff
jmp 0x140017fa2
sub dword [rcx + 0x10], 1
jns 0x140017f94
add rsp, 0x28
jmp fcn.140018418
mov rax, qword [rcx]
movzx ecx, byte [rax]
inc rax
mov qword [rdx], rax
mov eax, ecx
add rsp, 0x28
ret
jmp 0x140017f64