joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400df5f4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x140188040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0xa0]
lea r10, [0x140197b90]
xor r11d, r11d
lea rdi, [0x140155f90]
test r9, r9
mov rax, rdx
mov r12, rdx
cmovne r10, r9
test rdx, rdx
lea ebp, [r11 + 1]
cmovne rdi, rdx
mov r15d, ebp
cmovne r15, r8
neg rax
sbb r14, r14
and r14, rcx
test r15, r15
jne 0x1400df664
mov rax, 0xfffffffffffffffe
jmp 0x1400df7b1
cmp word [r10 + 6], r11w
jne 0x1400df6d3
movzx r9d, byte [rdi]
inc rdi
test r9b, r9b
js 0x1400df68e
test r14, r14
je 0x1400df67f
mov dword [r14], r9d
test r9b, r9b
setne r11b
mov rax, r11
jmp 0x1400df7b1
mov al, r9b
and al, 0xe0
cmp al, 0xc0
jne 0x1400df69c
mov r8b, 2
jmp 0x1400df6ba
mov al, r9b
and al, 0xf0
cmp al, 0xe0
jne 0x1400df6aa
mov r8b, 3
jmp 0x1400df6ba
mov al, r9b
and al, 0xf8
cmp al, 0xf0
jne 0x1400df7a6
mov r8b, 4
movzx eax, r8b
mov ecx, 7
sub ecx, eax
mov edx, ebp
shl edx, cl
mov bl, r8b
sub edx, ebp
and edx, r9d
jmp 0x1400df6fc
mov r8b, byte [r10 + 4]
mov edx, dword [r10]
mov bl, byte [r10 + 6]
lea eax, [r8 - 2]
cmp al, 2
ja 0x1400df7a6
cmp bl, bpl
jb 0x1400df7a6
cmp bl, r8b
jae 0x1400df7a6
movzx ebp, bl
cmp rbp, r15
mov r9d, ebp
cmovae r9, r15
jmp 0x1400df729
movzx ecx, byte [rdi]
inc rdi
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x1400df7a6
mov eax, edx
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
mov rax, rdi
sub rax, r12
cmp rax, r9
jb 0x1400df70b
cmp r9, rbp
jae 0x1400df755
movzx eax, r8b
sub bl, r9b
mov word [r10 + 4], ax
movzx eax, bl
mov word [r10 + 6], ax
mov dword [r10], edx
jmp 0x1400df658
lea eax, [rdx - 0xd800]
cmp eax, 0x7ff
jbe 0x1400df7a6
cmp edx, 0x110000
jae 0x1400df7a6
movzx eax, r8b
mov dword [rsp + 0x20], 0x80
mov dword [rsp + 0x24], 0x800
mov dword [rsp + 0x28], 0x10000
cmp edx, dword [rsp + rax*4 + 0x18]
jb 0x1400df7a6
test r14, r14
je 0x1400df794
mov dword [r14], edx
neg edx
mov rdx, r10
sbb rcx, rcx
and rcx, rbp
call fcn.1400e42a0
jmp 0x1400df7b1
mov rdx, rsi
mov rcx, r10
call fcn.1400e428c
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400b5c70
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x1400df968
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x1400df97e
mov al, 1
jmp 0x1400df9de
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x1400df98f
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x1400df9dc
mov ecx, dword [rcx + 0x18]
nop
call fcn.1400c72dc
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400df9dc
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1400df9dc
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400df9dc
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x1400df9de
xor al, al
add rsp, 0x20
pop rbx
ret
Function at 0x1400ec100
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
cmp rdx, r8
je 0x1400ec137
movabs rcx, 0xf000000000000000
shl rax, 4
movsx r9, byte [rdx]
add r9, rax
mov r10, r9
and r10, rcx
mov rax, r10
shr rax, 0x38
or rax, r10
xor rax, r9
inc rdx
cmp rdx, r8
jne 0x1400ec111
ret

Function at 0x1400ec1b0
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
cmp rdx, r8
je 0x1400ec1e8
movabs rcx, 0xf000000000000000
shl rax, 4
movzx r9d, word [rdx]
add r9, rax
mov r10, r9
and r10, rcx
mov rax, r10
shr rax, 0x38
or rax, r10
xor rax, r9
add rdx, 2
cmp rdx, r8
jne 0x1400ec1c1
ret
Function at 0x140114970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
cmp rdx, r9
mov r10, r9
cmovb r10, rdx
xor eax, eax
test r10, r10
je 0x1401149cf
xor r11d, r11d
mov rsi, qword [r8 + r11*8]
mov rdi, qword [rcx + r11*8]
mov rbx, rdi
xor rbx, rsi
lea r14, [rbx - 1]
mov r15, rdi
sub r15, rsi
xor r15, rdi
or r15, rbx
not rbx
and r14, rbx
sar r14, 0x3f
xor r15, rdi
sar r15, 0x3f
or r15, 1
xor rax, r15
and rax, r14
xor rax, r15
inc r11
cmp r10, r11
jne 0x14011498b
cmp rdx, r9
jb 0x1401149de
ja 0x140114a02
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
xor ecx, ecx
or rcx, qword [r8 + rdx*8]
inc rdx
cmp r9, rdx
jne 0x1401149e0
mov rdx, rcx
not rdx
dec rcx
and rcx, rdx
sar rcx, 0x3f
not ecx
or eax, ecx
jmp 0x1401149d6
xor r8d, r8d
or r8, qword [rcx + r9*8]
inc r9
cmp rdx, r9
jne 0x140114a05
mov rcx, r8
not rcx
dec r8
and r8, rcx
sar r8, 0x3f
xor eax, 1
and eax, r8d
xor eax, 1
jmp 0x1401149d6

Function at 0x14011d040
Capabilities:
Hash data using sha512

Disassembly:
push rsi
push rdi
sub rsp, 0x108
mov rsi, r8
mov r8, rdx
mov rdx, rcx
mov rax, qword [0x140188040]
xor rax, rsp
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [0x14015deb0]
lea rdi, [rsp + 0x28]
movups xmmword [rdi + 0xc0], xmm0
movups xmmword [rdi + 0xb0], xmm0
movups xmmword [rdi + 0xa0], xmm0
movups xmmword [rdi + 0x90], xmm0
movups xmmword [rdi + 0x80], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x50], xmm0
movabs rax, 0x6a09e667f3bcc908
mov qword [rdi], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rdi + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rdi + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rdi + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rdi + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rdi + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rdi + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rdi + 0x38], rax
movabs rax, 0x4000000000
mov qword [rdi + 0xd0], rax
xorps xmm0, xmm0
movups xmmword [rdi + 0x40], xmm0
mov rcx, rdi
call fcn.140053440
mov edx, dword [rdi + 0xd4]
mov rcx, rsi
mov r8, rdi
call fcn.1400567c0
mov edx, 0xd8
mov rcx, rdi
call fcn.14009b2a0
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400b5c70
mov rax, rsi
add rsp, 0x108
pop rdi
pop rsi
ret
Function at 0x140001e40
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001e8a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001e8a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001e8a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001e8a
cmp dword [rcx + 0x84], 0xe
jbe 0x140001e8a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001e8c
xor al, al
add rsp, 0x28
ret
Function at 0x18004ab10
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x40
mov dword [rcx], edx
mov rbx, rcx
bt edx, 0xd
jae 0x18004abda
xorps xmm0, xmm0
lea r8, [0x180272869]
mov r10d, 0xffffffff
lea r11, [0x180279e80]
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x24], r10d
mov eax, r10d
movups xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x3d], 1
mov r9b, 0x54
cmp r9b, 0x23
jne 0x18004ab69
cmp byte [r8], r9b
jne 0x18004ab69
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x18004ab56
test dword [rsp + 0x30], 0x400
not eax
mov dword [rsp + 0x20], eax
mov rax, qword [0x180338dd0]
mov dword [rsp + 0x2c], 0x400
jne 0x18004ac8c
or dword [rax + 0x1e40], 0x1000
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rax + 0x1eb4], xmm0
movups xmmword [rax + 0x1ec4], xmm1
and dword [rbx], 0xffffdfff
mov rax, rbx
add rsp, 0x40
pop rbx
ret
mov ecx, dword [0x18033650c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1803371cc], eax
jg 0x18004ac41
mov eax, dword [0x1803371b8]
test dword [0x1803371b4], eax
mov rcx, qword [0x180338dd0]
jne 0x18004ac8c
or dword [rcx + 0x1e40], 0x1000
mov rax, rbx
movups xmm0, xmmword [0x1803371a8]
movups xmmword [rcx + 0x1eb4], xmm0
movups xmm1, xmmword [0x1803371b8]
movups xmmword [rcx + 0x1ec4], xmm1
add rsp, 0x40
pop rbx
ret
lea rcx, [0x1803371cc]
call fcn.1801e56d8
cmp dword [0x1803371cc], 0xffffffff
jne 0x18004abfd
xorps xmm0, xmm0
lea rcx, [0x1803371cc]
mov r10d, 0xffffffff
movups xmmword [0x1803371a8], xmm0
mov dword [0x1803371ac], r10d
movups xmmword [0x1803371b8], xmm0
mov byte [0x1803371c5], 1
call fcn.1801e566c
jmp 0x18004abfd
lea rcx, str._window_class__ViewportFlagsOverrideSet__window_class__ViewportFlagsOverrideClear___0
call fcn.1800add40
int3
Function at 0x18006e430
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rdx
mov rbx, r9
mov rdx, rcx
mov rsi, r8
mov rdi, rcx
call fcn.180053ac0
test al, al
je 0x18006e4b1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test al, al
je 0x18006e4b1
mov rcx, rdi
call fcn.180053810
test al, al
je 0x18006e4b1
mov rcx, rdi
mov byte [rdi + 8], 2
call fcn.18004aa70
test rbx, rbx
lea rax, [0x18027778c]
mov rdx, rsi
mov rcx, rbp
cmove rbx, rax
mov r8d, dword [rbx]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.1800f7b40
mov rcx, rdi
call fcn.180052ec0
int3

Function at 0x1800700c0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
mov rdx, rcx
mov rbx, rcx
call fcn.180053ac0
test al, al
je 0x18007011a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test al, al
je 0x18007011a
mov rcx, rbx
call fcn.180053810
test al, al
je 0x18007011a
mov rcx, rbx
mov byte [rbx + 8], 2
call fcn.18004aa70
mov ecx, 0x1000
call fcn.1800bcd90
test al, al
jne 0x18007010e
add rsp, 0x20
pop rbx
ret
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.1800ce7c0
mov rcx, rbx
call fcn.180052ec0
int3

Function at 0x18008acc0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rdx
mov rdi, rcx
mov rdx, rcx
call fcn.180053ac0
test al, al
je 0x18008ad20
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test al, al
je 0x18008ad20
mov rcx, rdi
call fcn.180053810
test al, al
je 0x18008ad20
mov rcx, rdi
mov byte [rdi + 8], 2
call fcn.18004aa70
test rbx, rbx
lea rax, [0x180278aa4]
cmove rbx, rax
mov ecx, dword [rbx]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1800d4410
mov rcx, rdi
call fcn.180052ec0
int3

Function at 0x18008c1e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rdx
mov rsi, rcx
mov ecx, 0xe0
call fcn.1801e5750
mov rdi, rax
mov qword [rsp + 0x40], rax
lea rax, [0x180278ab8]
test rbx, rbx
cmove rbx, rax
mov r10d, 0xffffffff
mov edx, r10d
movzx r9d, byte [rsi]
lea r8, [rsi + 1]
test r9b, r9b
je 0x18008c262
lea r11, [0x180279e80]
cmp r9b, 0x23
jne 0x18008c245
cmp byte [r8], r9b
jne 0x18008c245
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r11 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x18008c232
not edx
mov r9d, dword [rbx]
mov r8, rsi
mov rcx, rdi
call fcn.1800afe10
lea rax, vtable.Context.0
mov qword [rdi], rax
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x180094e80
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1803320c0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbp, rcx
lea r14, [0x180279178]
mov r15d, 4
nop word [rax + rax]
lea rsi, [r14 + 0x10]
mov rdi, r14
cmp r14, rsi
je 0x180094f7e
mov ebx, dword [rdi + 4]
mov edx, ebx
mov rcx, qword [0x180338dd0]
call fcn.1800c9a40
cmp byte [rax], 0
je 0x180094f71
lea eax, [rbx - 0x200]
cmp eax, 0x99
jbe 0x180094f17
cmp ebx, 0x1000
je 0x180094f17
cmp ebx, 0x2000
je 0x180094f17
cmp ebx, 0x4000
je 0x180094f17
cmp ebx, 0x8000
jne 0x180094f2b
mov rcx, qword [0x180338dd0]
mov edx, ebx
call fcn.1800b5240
cmp byte [rax + 8], 0
jne 0x180094f71
movzx ecx, byte [rdi]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x180094f71
mov eax, dword [rdi + 4]
mov r8, qword [rbp + 8]
cmp eax, 0x1ff
ja 0x180094f50
mov ecx, eax
call fcn.1800a2210
mov rcx, qword [r8 + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], 0
je 0x180094f71
xorps xmm3, xmm3
xor r8d, r8d
mov edx, eax
call fcn.1800b5a60
add rdi, 8
cmp rdi, rsi
jne 0x180094ed0
add r14, 0x18
sub r15, 1
jne 0x180094ec0
cmp qword [rbp + 0x28], r15
jne 0x180095087
mov ebx, dword [rbp + 0x94]
mov rcx, rbp
mov edi, dword [rbp + 0x98]
call fcn.180094370
mov r8d, dword [rbp + 0x94]
cmp ebx, r8d
jne 0x180094fc2
cmp edi, dword [rbp + 0x98]
je 0x180095087
mov rcx, qword [rbp + 0x18]
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov r8d, dword [rbp + 0x98]
mov edx, 0xffffffec
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
test byte [rax + 4], 8
je 0x180094fff
xor edx, edx
call qword [0x1803373e8]
jmp 0x180095005
call qword [0x1803373f8]
mov ebx, dword [rbp + 0x98]
mov esi, 0x70
mov eax, ebx
and eax, edi
cmp eax, 8
je 0x180095026
shr rbx, 3
and ebx, 1
or rbx, 0xfffffffffffffffe
jmp 0x18009502d
xor ebx, ebx
mov esi, 0x74
mov r8, qword [rbp + 0x10]
lea rdx, [rsp + 0x40]
mov rcx, rbp
mov r9, qword [r8 + 0x10]
mov r8, qword [r8 + 8]
call fcn.180094990
mov ecx, dword [rsp + 0x4c]
mov rdx, rbx
mov r9d, dword [rsp + 0x44]
sub ecx, r9d
mov eax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
sub eax, r8d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rax, qword [rbp + 0x10]
mov byte [rax + 0x5a], 1
mov rax, qword [rbp + 0x10]
mov byte [rax + 0x59], 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1801e5610
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x1800957c0
Capabilities:
Log keystrokes via polling

Disassembly:
cmp r8, 0xff
ja 0x18009598b
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x30
mov qword [rsp + 0x48], rdi
lea eax, [rdx - 0x100]
test eax, 0xfffffffb
movaps xmmword [rsp + 0x20], xmm6
movss xmm6, dword [0x1802f5308]
mov rsi, r8
sete dil
mov rbp, rcx
cmp r8, 0x2c
jne 0x180095869
test dil, dil
jne 0x180095831
mov rax, qword [rcx + 8]
mov rcx, qword [rax + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], dil
je 0x180095831
movaps xmm3, xmm6
mov r8b, 1
mov edx, 0x262
call fcn.1800b5a60
mov qword [rsp + 0x40], rbx
lea rcx, str.glActiveTexture
lea rbx, [0x180279170]
movzx eax, byte [rbx]
cmp rsi, rax
je 0x1800958b5
add rbx, 0x18
cmp rbx, rcx
jne 0x180095844
mov rcx, qword [rbp + 8]
movzx r8d, dil
mov edx, esi
call fcn.1800b1060
jmp 0x180095972
cmp rsi, 0xd
jne 0x180095831
shr r9, 0x10
bt r9w, 8
jae 0x180095831
mov rax, qword [rcx + 8]
mov rcx, qword [rax + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], 0
je 0x180095977
test dil, dil
jne 0x18009589f
xorps xmm6, xmm6
movaps xmm3, xmm6
movzx r8d, dil
mov edx, 0x273
call fcn.1800b5a60
jmp 0x180095977
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne 0x180095908
mov eax, dword [rbx + 4]
mov r8, qword [rbp + 8]
cmp eax, 0x1ff
ja 0x1800958dc
mov ecx, eax
call fcn.1800a2210
mov rcx, qword [r8 + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], 0
je 0x180095908
test dil, dil
je 0x1800958fa
movaps xmm3, xmm6
jmp 0x1800958fd
xorps xmm3, xmm3
movzx r8d, dil
mov edx, eax
call fcn.1800b5a60
add rbx, 8
lea rsi, [rbx + 0x10]
cmp rbx, rsi
je 0x180095972
movzx ecx, byte [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne 0x180095969
mov eax, dword [rbx + 4]
mov r8, qword [rbp + 8]
cmp eax, 0x1ff
ja 0x18009593d
mov ecx, eax
call fcn.1800a2210
mov rcx, qword [r8 + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], 0
je 0x180095969
test dil, dil
je 0x18009595b
movaps xmm3, xmm6
jmp 0x18009595e
xorps xmm3, xmm3
movzx r8d, dil
mov edx, eax
call fcn.1800b5a60
add rbx, 8
cmp rbx, rsi
jne 0x180095915
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x20]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
Function at 0x180099ee0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x1803320c0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov ebp, edx
mov rsi, rcx
call qword [sym.imp.USER32.dll_GetCapture]
test rax, rax
jne 0x180099f22
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_SetCapture]
mov rax, qword [rsi + 0x10]
test byte [rax + 4], 0x40
jne 0x180099f35
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x48]
movdqa xmm0, xmmword [0x1802f5760]
lea rbx, [rsp + 0x20]
movdqa xmm1, xmmword [0x1802f5740]
movss xmm6, dword [0x1802f5308]
movdqu xmmword [rsp + 0x20], xmm0
movdqu xmmword [rsp + 0x30], xmm1
nop
mov ecx, dword [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180099fa3
mov eax, dword [rbx + 4]
mov r8, qword [rsi + 8]
cmp eax, 0x1ff
ja 0x180099f82
mov ecx, eax
call fcn.1800a2210
mov rcx, qword [r8 + 0xb8]
add rcx, 8
cmp byte [rcx + 0xbb9], 0
je 0x180099fa3
movaps xmm3, xmm6
mov r8b, 1
mov edx, eax
call fcn.1800b5a60
add rbx, 8
lea rax, [rsp + 0x40]
cmp rbx, rax
jne 0x180099f60
mov rdi, qword [rsi + 8]
mov r8b, 1
mov edx, ebp
mov rax, qword [rdi + 0xb8]
movzx ebx, byte [rax + 0x61]
mov byte [rax + 0x61], 0
mov rcx, qword [rdi + 0xb8]
add rcx, 8
call fcn.1800b5e80
mov rax, qword [rdi + 0xb8]
mov byte [rax + 0x61], bl
mov eax, dword [rsi + 0x88]
bts eax, ebp
mov dword [rsi + 0x88], eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1801e5610
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [rsp + 0x50]
mov rsp, r11
pop rdi
ret
Function at 0x1800a21f0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1803320c0]
xor rax, rsp
mov qword [rbp - 8], rax
xor r14d, r14d
call qword [0x180338dc0]
mov rsi, rax
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], r14b
jne 0x1800a1e30
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, edi
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov r8, rbx
xor edx, edx
lea rcx, [rbp - 0x48]
call fcn.180095a00
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rdx, qword [rbp - 0x48]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdx
mov r9d, edi
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
mov rdi, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
sub rax, rdi
cmp rax, 0x1b
jb 0x1800a1eec
lea rax, [rdi + 0x1b]
mov qword [rbp - 0x38], rax
lea rbx, [rbp - 0x48]
cmp rcx, 7
cmova rbx, qword [rbp - 0x48]
lea rcx, [rbx + rdi*2]
mov r8d, 0x36
lea rdx, str.Data_reaper_imgui_doc.html
call fcn.180217e00
mov word [rbx + rdi*2 + 0x36], r14w
lea rax, [rbp - 0x48]
jmp 0x1800a1f0f
mov qword [rsp + 0x20], 0x1b
lea r9, str.Data_reaper_imgui_doc.html
movzx r8d, byte [rbp - 0x50]
mov edx, 0x1b
lea rcx, [rbp - 0x48]
call fcn.1800a2020
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x1800a1f7d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a1f78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a2015
call fcn.1801e578c
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova r8, qword [rbp - 0x28]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x1800a1fe6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a1fe1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a200f
call fcn.1801e578c
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1801e5610
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.1801efd10
int3
call fcn.1801efd10
int3
jmp 0x1800a1df0
Function at 0x1800a4060
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 0x1800a4082
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 0x1800a4116
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 0x1800a40e3
mov rax, qword [rsi]
movsxd rcx, dword [rax]
test ecx, ecx
jle 0x1800a40e3
cmp rdi, rcx
mov r15, rdi
cmovge r15, rcx
mov rcx, r14
mov r8, r15
call fcn.180217e00
mov rax, qword [rsi]
sub rdi, r15
sub dword [rax], r15d
mov rcx, qword [rbx + 0x38]
movsxd rax, r15d
add qword [rcx], rax
jmp 0x1800a4101
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x1800a4109
mov byte [r14], al
lea rsi, [rbx + 0x50]
dec rdi
mov r15d, 1
add r14, r15
test rdi, rdi
jg 0x1800a40a3
mov r15, qword [rsp + 0x50]
sub rbp, rdi
jmp 0x1800a41ff
mov rax, qword [rcx + 0x38]
mov rsi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1800a412d
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1800a412f
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x1800a4161
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.180217e00
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 0x1800a41fc
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x1800a419c
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 0x1800a41dd
nop word [rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call fcn.1801fb024
add r14, rax
sub rsi, rax
cmp rax, 0xfff
jne 0x1800a41fc
cmp rsi, rax
ja 0x1800a41b0
test rsi, rsi
je 0x1800a41fc
mov r9, qword [rbx + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.1801fb024
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