joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400022b0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140016390]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x1400022d0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x1400022d8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x1400022d0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14000232d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x140002324
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x1400022d0
add rax, 0x28
cmp rax, r9
jne 0x140002310
xor eax, eax
ret

Function at 0x140002330
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140016390]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14000234f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x140002358
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14000234f
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x1400023f0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140016390]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14000240f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140002418
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x140002750
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
sub rsp, 0x28
call fcn.1400015e0
mov r9d, 0x40
xor ecx, ecx
mov r8d, 0x1000
mov edx, 0x12600
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8d, 0x12600
lea rdx, str.MZER
mov rcx, rax
call sub.msvcrt.dll_memcpy
call rax
xor eax, eax
add rsp, 0x28
ret
Function at 0x18007f100
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, r8
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x38], r8
xor r12d, r12d
mov rcx, r8
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f152
mov r14, qword [rdi]
mov rbp, r14
add rbp, qword [rdi + 0x10]
mov rbx, r14
jmp 0x18007f15f
mov r14, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rbx, rdi
cmp rbx, rbp
je 0x18007f17b
sub r14, rbx
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [r14 + rbx], al
inc rbx
cmp rbx, rbp
jne 0x18007f167
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f18c
mov rdx, qword [rdi]
movabs r9, 0xcbf29ce484222325
mov rcx, r12
test r8, r8
je 0x18007f1c3
movabs r10, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18007f1b0
mov r8, rdi
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.180083660
mov r8, qword [rax + 8]
test r8, r8
je 0x18007f1ff
cmp r8, qword [r15 + 8]
je 0x18007f1ff
mov r8, qword [r8 + 0x30]
shl r8, 6
mov rdx, qword [r15 + 0x40]
add rdx, 0x20
add rdx, r8
mov rcx, rsi
call fcn.1800779d0
jmp 0x18007f214
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rcx, rdi
call fcn.1800771b0
mov rax, rsi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18010c6a0
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18007f240
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x20], rdx
mov rcx, rdx
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f28f
mov rsi, qword [rdi]
mov rbp, rsi
add rbp, qword [rdi + 0x10]
mov rbx, rsi
jmp 0x18007f29c
mov rsi, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rbx, rdi
cmp rbx, rbp
je 0x18007f2b7
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rbp
jne 0x18007f2a4
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f2c8
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18007f303
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18007f2f0
mov r8, rdi
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.180083660
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x18007f32b
cmp rbx, qword [r14 + 8]
je 0x18007f32b
mov rbx, qword [rbx + 0x30]
jmp 0x18007f3f9
mov rbx, qword [r14 + 0x48]
sub rbx, qword [r14 + 0x40]
sar rbx, 6
mov r8, rdi
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.180082e40
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
movdqa xmm6, xmmword [0x180260530]
movdqu xmmword [rsp + 0x38], xmm6
mov byte [rsp + 0x28], 0
mov rsi, qword [r14 + 0x48]
cmp rsi, qword [r14 + 0x50]
je 0x18007f3ac
mov rdx, rdi
mov rcx, rsi
call fcn.1800779d0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 0
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm6
mov edx, 0xf
mov byte [rsp + 0x28], 0
add qword [r14 + 0x48], 0x40
jmp 0x18007f3c5
lea r9, [rsp + 0x28]
mov r8, rdi
mov rdx, rsi
lea rcx, [r14 + 0x40]
call fcn.180083970
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x18007f3f9
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007f3f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007f434
call fcn.18010ca74
shl rbx, 6
add rbx, qword [r14 + 0x40]
mov rcx, rdi
call fcn.1800771b0
lea rax, [rbx + 0x20]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18010c6a0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [rsp + 0x50]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.180112b44
nop
int3
Function at 0x18007f440
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x30], rdx
mov rcx, rdx
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f48a
mov rsi, qword [rdi]
mov rbp, rsi
add rbp, qword [rdi + 0x10]
mov rbx, rsi
jmp 0x18007f497
mov rsi, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rbx, rdi
cmp rbx, rbp
je 0x18007f4b3
sub rsi, rbx
nop
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rbp
jne 0x18007f4a0
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18007f4c4
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18007f4f3
movabs r10, 0x100000001b3
nop
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18007f4e0
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.180083660
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18007f518
cmp rcx, qword [r14 + 8]
je 0x18007f518
mov rax, qword [rcx + 0x30]
jmp 0x18007f523
mov rdx, rdi
mov rcx, r14
call fcn.180081100
imul rbx, rax, 0x78
add rbx, qword [r14 + 0x40]
mov rcx, rdi
call fcn.1800771b0
lea rax, [rbx + 0x20]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18010c6a0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x18007fac0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rbx, rcx
test r8, r8
jg 0x18007fae2
xor eax, eax
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
je 0x18007fb76
mov rdi, rbp
mov qword [rsp + 0x50], r15
lea rsi, [rcx + 0x50]
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x18007fb43
mov rax, qword [rsi]
movsxd rcx, dword [rax]
test ecx, ecx
jle 0x18007fb43
cmp rdi, rcx
mov r15, rdi
cmovge r15, rcx
mov rcx, r14
mov r8, r15
call fcn.18013ad10
mov rax, qword [rsi]
sub rdi, r15
sub dword [rax], r15d
mov rcx, qword [rbx + 0x38]
movsxd rax, r15d
add qword [rcx], rax
jmp 0x18007fb61
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x18007fb69
mov byte [r14], al
lea rsi, [rbx + 0x50]
dec rdi
mov r15d, 1
add r14, r15
test rdi, rdi
jg 0x18007fb03
mov r15, qword [rsp + 0x50]
sub rbp, rdi
jmp 0x18007fc5f
mov rax, qword [rcx + 0x38]
mov rsi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x18007fb8d
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18007fb8f
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x18007fbc1
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.18013ad10
mov rax, qword [rbx + 0x50]
add r14, rdi
sub rsi, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x18007fc5c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x18007fbfc
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
cmp rsi, 0xfff
jbe 0x18007fc3d
nop word [rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call fcn.180117d58
add r14, rax
sub rsi, rax
cmp rax, 0xfff
jne 0x18007fc5c
cmp rsi, rax
ja 0x18007fc10
test rsi, rsi
je 0x18007fc5c
mov r9, qword [rbx + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.180117d58
sub rsi, rax
sub rbp, rsi
mov rsi, qword [rsp + 0x40]
mov rax, rbp
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
Function at 0x1800885a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x20], rdx
mov rcx, rdx
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x1800885ea
mov rsi, qword [rdi]
mov rbp, rsi
add rbp, qword [rdi + 0x10]
mov rbx, rsi
jmp 0x1800885f7
mov rsi, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rbx, rdi
cmp rbx, rbp
je 0x180088613
sub rsi, rbx
nop
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rbp
jne 0x180088600
mov r8, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180088624
mov rcx, qword [rdi]
xor edx, edx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x180088653
movabs r10, 0x100000001b3
nop
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rdx
cmp rdx, r8
jb 0x180088640
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.180083660
cmp qword [rax + 8], 0
setne bl
mov rcx, rdi
call fcn.1800771b0
movzx eax, bl
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18010c6a0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x1800886a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rsi, rdx
mov qword [rsp + 0x28], rdx
mov r13, rcx
mov qword [rsp + 0x40], rdx
mov rcx, rdx
call fcn.18007d730
cmp qword [rsi + 0x18], 0xf
jbe 0x1800886f1
mov rdi, qword [rsi]
mov rbp, rdi
mov rbx, rdi
add rbp, qword [rsi + 0x10]
jmp 0x1800886fe
mov rbx, rsi
mov rbp, qword [rsi + 0x10]
add rbp, rsi
mov rdi, rsi
cmp rbx, rbp
je 0x180088719
sub rdi, rbx
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [rdi + rbx], al
inc rbx
cmp rbx, rbp
jne 0x180088706
mov r8, qword [rsi + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x18008872a
mov rdx, qword [rsi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x180088763
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x180088750
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.180083660
mov r12, qword [rax + 8]
test r12, r12
je 0x1800888a7
cmp r12, qword [r13 + 8]
je 0x1800888a7
mov r14, qword [r12 + 0x30]
mov qword [rsp + 0x30], r14
imul r15, r14, 0x78
add r15, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
lea rbp, [r15 + 0x78]
cmp rbp, rax
je 0x180088843
lea rdi, [r15 + 0x20]
lea rbx, [rbp + 0x60]
mov rsi, rax
nop dword [rax + rax]
mov rdx, rbp
mov rcx, r15
call fcn.180080d40
lea rax, [rbx - 0x40]
lea r14, [rdi + 0x40]
cmp rdi, rax
je 0x180088809
mov qword [rsp + 0x20], rdi
mov eax, dword [rax]
mov dword [rdi], eax
mov r8, qword [rbx - 0x38]
mov rdx, qword [r8]
lea rcx, [rdi + 8]
call fcn.18008a0f0
mov rdx, qword [rdi + 0x10]
mov rcx, rdi
call fcn.1800835b0
mov rdx, rax
mov rcx, rdi
call fcn.180083330
nop
cmp r14, rbx
je 0x180088824
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 6
mov rcx, r14
call fcn.180089ed0
add r15, 0x78
add rdi, 0x78
add rbp, 0x78
add rbx, 0x78
cmp rbp, rsi
jne 0x1800887c0
mov rsi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov rdi, qword [r13 + 0x48]
lea rcx, [rdi - 0x18]
call fcn.180081b00
lea rcx, [rdi - 0x58]
call fcn.18007e980
lea rcx, [rdi - 0x78]
call fcn.1800771b0
add qword [r13 + 0x48], 0xffffffffffffff88
mov r8, r12
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.180088f80
mov rdx, qword [r13 + 8]
mov rax, qword [rdx]
cmp rax, rdx
je 0x18008889b
mov r8, qword [rax + 0x30]
cmp r8, r14
jbe 0x180088893
dec r8
mov qword [rax + 0x30], r8
mov rax, qword [rax]
cmp rax, rdx
jne 0x180088883
mov rcx, rsi
call fcn.1800771b0
mov al, 1
jmp 0x1800888b1
mov rcx, rsi
call fcn.1800771b0
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18010c6a0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180088f80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp qword [r8 + 0x28], 0xf
lea r9, [r8 + 0x10]
mov r10, qword [r8 + 0x20]
mov rbx, r8
mov r14, rdx
mov rsi, rcx
jbe 0x180088fb1
mov r9, qword [r8 + 0x10]
xor edx, edx
movabs r8, 0xcbf29ce484222325
test r10, r10
je 0x180088fe4
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, r10
jb 0x180088fd0
mov rdx, qword [rsi + 0x30]
and rdx, r8
shl rdx, 4
add rdx, qword [rsi + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x180089018
cmp rax, rbx
jne 0x18008900e
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x180089023
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x180089023
cmp rax, rbx
jne 0x180089023
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdi, qword [rbx]
lea rcx, [rbx + 0x10]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
call fcn.1800771b0
mov edx, 0x38
mov rcx, rbx
call fcn.18010ca74
mov rbx, qword [rsp + 0x30]
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1800ca1a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rbp], rax
movzx esi, r8b
mov r14, rdx
mov rdi, rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rdx
mov byte [0x1802c4c47], r8b
mov r15d, dword [0x1802a5dc4]
xor edx, edx
lea rcx, str.grcWindow
call qword [sym.imp.USER32.dll_FindWindowA]
mov rbx, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rbx, rax
jne 0x1800ca3f3
cmp byte [0x1802c4c3e], 0
jne 0x1800ca3f3
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800ca3f3
test sil, sil
je 0x1800ca3f3
lea rax, [rbp - 0x20]
mov qword [rsp + 0x50], rax
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.1800779d0
mov r15, rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x60], rax
mov rdx, qword [0x1802bf850]
movabs rsi, 0x7fffffffffffffff
mov rcx, rsi
sub rcx, rdx
cmp rcx, 8
jb 0x1800ca42d
lea rax, [0x1802bf840]
cmp qword [0x1802bf858], 0xf
cmova rax, qword [0x1802bf840]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 8
lea r9, str.submenu_
lea rcx, [rbp - 0x40]
call fcn.180077ed0
nop
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
lea rdx, [0x1802c7e10]
lea rcx, [rbp - 0x70]
call fcn.1800779d0
mov rbx, rax
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.1800779d0
nop
mov r9, r15
lea r8, [rbp - 0x40]
mov rdx, rbx
mov rcx, rax
call fcn.1800cc670
mov rcx, qword [rdi + 0x10]
sub rsi, rcx
cmp rsi, 0xb
jb 0x1800ca433
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1800ca305
mov rax, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xb
lea r9, str.Selectable
lea rcx, [rbp - 0x20]
call fcn.180077ed0
nop
mov r8d, 6
lea rdx, str._saved
lea rcx, [rbp - 0x20]
call fcn.180077b80
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp - 0x20]
call fcn.1800771b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.1800779d0
mov rsi, rax
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800ca388
mov rcx, qword [rax]
call fcn.18011ccd0
mov rbx, rax
mov rcx, rsi
call fcn.1800771b0
movss xmm0, dword [0x18025dff4]
movss dword [rsp + 0x38], xmm0
lea rax, str.Config
mov qword [rsp + 0x28], rax
mov rcx, rbx
call fcn.1800e02e0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x1800ca3f3
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800ca3ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800ca427
call fcn.18010ca74
nop
mov rcx, rdi
call fcn.1800771b0
nop
mov rcx, r14
call fcn.1800771b0
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.18010c6a0
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.180112b44
nop
call fcn.180076dc0
nop
call fcn.180076dc0
int3
Function at 0x1800cb210
Capabilities:
Create thread

Disassembly:
sub rsp, 0x38
cmp edx, 1
jne 0x1800cb249
mov qword [0x1802c4b58], rcx
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov r9, qword [0x1802c4b58]
lea r8, [0x1800cad60]
xor eax, eax
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, 1
add rsp, 0x38
ret

Function at 0x1800cd520
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov r13, rcx
mov qword [rsp + 0x20], rdx
mov rcx, rdx
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x1800cd56e
mov rsi, qword [rdi]
mov rbp, rsi
mov rbx, rsi
add rbp, qword [rdi + 0x10]
jmp 0x1800cd57b
mov rbx, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rsi, rdi
cmp rbx, rbp
je 0x1800cd596
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rbp
jne 0x1800cd583
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1800cd5a7
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x1800cd5d5
movabs r10, 0x100000001b3
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1800cd5c2
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.180083660
mov rbp, qword [rax + 8]
test rbp, rbp
je 0x1800cd6a4
cmp rbp, qword [r13 + 8]
je 0x1800cd6a4
mov r14, qword [rbp + 0x30]
mov rsi, r14
shl rsi, 6
add rsi, qword [r13 + 0x40]
mov r15, qword [r13 + 0x48]
lea rbx, [rsi + 0x40]
cmp rbx, r15
je 0x1800cd645
nop dword [rax + rax]
mov rdx, rbx
mov rcx, rsi
call fcn.180080d40
lea rdx, [rbx + 0x20]
lea rcx, [rsi + 0x20]
call fcn.180080d40
add rsi, 0x40
add rbx, 0x40
cmp rbx, r15
jne 0x1800cd620
mov rbx, qword [r13 + 0x48]
lea rcx, [rbx - 0x20]
call fcn.1800771b0
lea rcx, [rbx - 0x40]
call fcn.1800771b0
add qword [r13 + 0x48], 0xffffffffffffffc0
mov r8, rbp
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.180088f80
mov rdx, qword [r13 + 8]
mov rax, qword [rdx]
cmp rax, rdx
je 0x1800cd698
nop dword [rax]
mov r8, qword [rax + 0x30]
cmp r8, r14
jbe 0x1800cd690
dec r8
mov qword [rax + 0x30], r8
mov rax, qword [rax]
cmp rax, rdx
jne 0x1800cd680
mov rcx, rdi
call fcn.1800771b0
mov al, 1
jmp 0x1800cd6ae
mov rcx, rdi
call fcn.1800771b0
xor al, al
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18010c6a0
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
Function at 0x1800cd6e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1802a5100]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, r8
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x38], r8
xor r12d, r12d
mov rcx, r8
call fcn.18007d730
cmp qword [rdi + 0x18], 0xf
jbe 0x1800cd732
mov r14, qword [rdi]
mov rbp, r14
add rbp, qword [rdi + 0x10]
mov rbx, r14
jmp 0x1800cd73f
mov r14, rdi
mov rbp, qword [rdi + 0x10]
add rbp, rdi
mov rbx, rdi
cmp rbx, rbp
je 0x1800cd75b
sub r14, rbx
movsx ecx, byte [rbx]
call fcn.180116de0
mov byte [r14 + rbx], al
inc rbx
cmp rbx, rbp
jne 0x1800cd747
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1800cd76c
mov rdx, qword [rdi]
movabs r9, 0xcbf29ce484222325
mov rcx, r12
test r8, r8
je 0x1800cd7a3
movabs r10, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1800cd790
mov r8, rdi
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.180083660
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800cd7dc
cmp rcx, qword [r15 + 8]
je 0x1800cd7dc
imul r8, qword [rcx + 0x30], 0x78
mov rdx, qword [r15 + 0x40]
add rdx, 0x20
add rdx, r8
mov rcx, rsi
call fcn.1800841d0
jmp 0x1800cd7f0
mov rcx, rsi
call fcn.180081650
mov qword [rsi + 0x40], r12
mov qword [rsi + 0x48], r12
mov qword [rsi + 0x50], r12
mov rcx, rdi
call fcn.1800771b0
mov rax, rsi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18010c6a0
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret