joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18000156e
Capabilities:
Terminate process

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [0x1800141d8]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x30]
mov ecx, dword [rax]
cmp ecx, 3
je 0x180001617
cmp ecx, 1
je 0x180001632
cmp ecx, 2
je 0x1800015dc
test ecx, ecx
jne 0x18000172d
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], 0
mov rcx, qword [rax + 8]
je 0x1800015c5
mov rax, qword [rcx + 0x18]
cmp rax, qword [rcx + 8]
je 0x180001708
lea rdx, [rsp + 0x28]
mov r8, 0xffffffffffffffff
mov r9d, 1
jmp 0x1800016d6
mov rax, qword [rax + 8]
cmp dword [rax + 0x28], 0
je 0x1800016a8
mov ecx, 0xe2060210
add ecx, dword [0x18001461c]
mov edx, dword [0x180014624]
xor edx, dword [0x180014620]
and edx, ecx
add edx, 0xed45377d
cmp edx, 0xa31284e2
ja 0x1800016ae
jmp 0x180001615
cmp byte [0x180017448], 1
jne 0x180001673
and qword [rsp + 0x28], 0
xor ecx, ecx
call fcn.180007003
jmp 0x1800016db
mov ecx, dword [0x180014754]
xor ecx, dword [0x180014750]
add ecx, 0xbb61b26c
cmp ecx, 0xd20b5801
jae 0x180001671
mov rax, qword [rax + 8]
cmp dword [rax + 0x18], 0
mov rcx, qword [rax + 0x10]
je 0x180001668
mov rax, qword [rcx + 0x18]
cmp rax, qword [rcx + 8]
je 0x180001708
mov r9d, dword [0x180014758]
jmp 0x1800016ca
jmp 0x180001671
mov rbx, qword [rax + 8]
mov byte [0x180017448], 1
mov ecx, 0x10
call fcn.180007003
mov rdi, rax
mov rdx, qword [rbx]
mov r8, qword [0x180014790]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x28], 0x10
jmp 0x1800016de
mov rcx, qword [rax + 0x20]
jmp 0x1800016bc
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x18]
cmp rax, qword [rcx + 8]
je 0x180001708
mov r9d, dword [0x18001462c]
xor r9d, dword [0x180014628]
lea rdx, [rsp + 0x28]
mov r8, 0xffffffffffffffff
call fcn.180004be7
mov rdi, rax
test rdi, rdi
je 0x180001708
mov r8, qword [rsp + 0x28]
test r8, r8
je 0x1800016f9
mov rcx, qword [rsi + 0x38]
mov rdx, rdi
call fcn.1800049ad
mov rcx, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp sub.msvcrt.dll_free
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + 0x18]
cmp rcx, qword [rax + 8]
jne 0x180001725
mov rcx, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp fcn.1800017aa
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov ecx, 1
call qword [sym.imp.KERNEL32.DLL_ExitThread]

Function at 0x1800017aa
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
cmp dword [rcx + 0xc], 0
je 0x1800017b9
add rsp, 0x28
ret
mov dword [rcx + 0xc], 1
mov rax, qword [rcx + 0x30]
mov ecx, dword [rax]
cmp ecx, 3
je 0x1800017e6
cmp ecx, 1
je 0x1800017fa
cmp ecx, 2
je 0x180001807
test ecx, ecx
jne 0x180001821
mov rcx, qword [rax + 8]
add rsp, 0x28
jmp fcn.18000448f
imul ecx, dword [0x1800142d0], 0x285a5a52
cmp ecx, 0xfd3e96f6
jne 0x180001814
jmp 0x1800017f8
mov rcx, qword [rax + 8]
add rsp, 0x28
jmp fcn.180004908
mov rax, qword [rax + 8]
mov dword [rax + 0x28], 1
jmp 0x1800017b4
mov rax, qword [rax + 8]
mov dword [rax + 8], 1
jmp 0x1800017b4
mov ecx, 1
call qword [sym.imp.KERNEL32.DLL_ExitThread]
Function at 0x1800022f2
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov edi, ecx
mov ecx, 0x10
call fcn.180007003
mov dword [rax], edi
cmp edi, 4
jae 0x180002319
mov qword [rax + 8], rsi
add rsp, 0x28
pop rdi
pop rsi
ret
mov ecx, 1
call qword [sym.imp.KERNEL32.DLL_ExitThread]

Function at 0x180002324
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov eax, dword [rcx]
cmp eax, 3
je 0x180002393
mov rdi, r8
cmp eax, 1
je 0x1800023b6
cmp eax, 2
je 0x180002379
test eax, eax
jne 0x1800023d4
xor r14d, r14d
mov r15, qword [section..data]
cmp rdi, r14
je 0x1800023aa
movzx ebx, byte [rsi + r14]
mov ecx, 1
call r15
mov ecx, ebx
mov rdx, rax
call sub.msvcrt.dll_fputc
inc r14
jmp 0x180002358
mov rcx, qword [rcx + 8]
mov rdx, rsi
mov r8, rdi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.1800023e7
mov rax, qword [rcx + 8]
mov rdx, qword [rax]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
cmp eax, dword [0x1800172c8]
je 0x1800023df
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rax, qword [rcx + 8]
mov rcx, qword [rax + 0x28]
mov rdx, rsi
mov r8, rdi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x1800044af
mov ecx, 1
call qword [sym.imp.KERNEL32.DLL_ExitThread]
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_ExitThread]
push rbp
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov eax, dword [0x180014744]
xor eax, dword [0x180014740]
lea rax, [rax + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
mov r8d, dword [0x18001474c]
xor r8d, dword [0x180014748]
sub rsp, 0x20
lea rcx, [0x180014720]
lea rdx, [0x180014729]
call fcn.180010cab
mov rcx, rax
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
sub rsp, 0x10
and qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov rcx, rbx
mov rdx, rdi
mov r8d, esi
call rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800031f9
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov rdi, rcx
mov r8d, dword [0x180014580]
xor r8d, dword [0x18001457c]
sub rsp, 0x20
lea rcx, [0x180014320]
lea rdx, [0x18001433f]
lea r9, [rbp - 0x17]
call fcn.180010cab
add rsp, 0x20
mov rbx, rax
mov eax, dword [0x180014584]
lea rax, [rax + rax*2]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x180014340]
lea rdx, [0x180014343]
push 3
pop r8
call fcn.180010cab
add rsp, 0x20
mov rsi, rax
mov r8d, dword [0x18001458c]
xor r8d, dword [0x180014588]
sub rsp, 0x20
lea rcx, [0x180014350]
lea rdx, [0x180014374]
lea r9, [rbp - 0x3b]
call fcn.180010cab
add rsp, 0x20
mov r14, rax
mov eax, dword [0x180014594]
xor eax, dword [0x180014590]
imul rax, rax, 0x30
sub rsp, rax
mov r15, rsp
cmp dword [rdi + 8], 0
je 0x1800032fe
mov rcx, qword [rdi + 0x10]
sub rsp, 0x20
mov rdx, r15
call sub.msvcrt.dll__stat
add rsp, 0x20
test eax, eax
je 0x180003306
movzx ecx, word [rdi]
sub rsp, 0x20
mov dx, 0xffff
mov r8, rbx
call fcn.180004004
add rsp, 0x20
mov r15, rax
jmp 0x180003458
xor r15d, r15d
jmp 0x180003458
mov rcx, qword [rdi + 0x10]
sub rsp, 0x20
mov rdx, rsi
call sub.msvcrt.dll_fopen
add rsp, 0x20
test rax, rax
je 0x18000338b
mov rsi, rax
movsxd rcx, dword [r15 + 0x14]
sub rsp, 0x20
call fcn.180007003
add rsp, 0x20
mov rbx, rax
movsxd r8, dword [r15 + 0x14]
mov rdx, qword [0x1800145a0]
sub rsp, 0x20
mov rcx, rax
mov r9, rsi
call sub.msvcrt.dll_fread
add rsp, 0x20
movsxd r12, dword [r15 + 0x14]
movzx edi, word [rdi]
cmp rax, r12
jne 0x18000339e
mov eax, 0x7d67a390
xor eax, dword [0x1800146b0]
imul eax, eax, 0xd56f9f6b
xor edx, edx
div dword [0x1800146b4]
mov r14d, r12d
imul eax, eax, 0xd58e8a22
cmp eax, 0x124d6b7e
jae 0x1800033bf
jmp 0x1800033f8
movzx ecx, word [rdi]
movzx edx, word [0x180014598]
sub rsp, 0x20
jmp 0x1800032ea
movzx edx, word [0x1800145a8]
sub rsp, 0x20
mov ecx, edi
mov r8, r14
call fcn.180004004
add rsp, 0x20
mov r15, rax
jmp 0x180003440
mov r13d, dword [0x1800146b8]
sub rsp, 0x20
push 3
pop rdx
mov ecx, edi
xor r8d, r8d
call fcn.180003f7c
add rsp, 0x20
mov r15, rax
sub rsp, 0x20
mov rcx, r14
call fcn.180007003
add rsp, 0x20
mov qword [r15 + 0x10], rax
cmp r13d, 1
ja 0x180003426
sub rsp, 0x20
push 3
pop rdx
mov ecx, edi
xor r8d, r8d
call fcn.180003f7c
add rsp, 0x20
mov r15, rax
sub rsp, 0x20
mov rcx, r14
call fcn.180007003
add rsp, 0x20
mov qword [r15 + 0x10], rax
jmp 0x1800033bf
sub rsp, 0x20
mov rcx, rax
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
add rsp, 0x20
mov dword [r15 + 0x18], r12d
sub rsp, 0x20
mov rcx, rsi
call sub.msvcrt.dll_fclose
mov rcx, rbx
call sub.msvcrt.dll_free
add rsp, 0x20
mov rax, r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x18000346c
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1800145ac]
imul rax, rax, 0x1f
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x180014380]
lea rdx, [0x18001439f]
push 0x1f
pop r8
call fcn.180010cab
add rsp, 0x20
cmp dword [rsi + 8], 0
je 0x18000353a
mov rdi, rax
sub rsp, 0x20
lea rcx, [0x180014375]
lea rdx, [0x180014378]
push 3
pop r8
lea r9, [rbp + 5]
call fcn.180010cab
add rsp, 0x20
mov rcx, qword [rsi + 0x10]
sub rsp, 0x20
mov rdx, rax
call sub.msvcrt.dll_fopen
add rsp, 0x20
test rax, rax
je 0x18000353e
mov rbx, rax
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsi + 0x20]
sub rsp, 0x20
push 1
pop r8
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rcx, rbx
call sub.msvcrt.dll_fclose
add rsp, 0x20
movzx ecx, word [rsi]
mov edx, dword [0x1800146c0]
xor edx, dword [str._a_aP]
sub rsp, 0x20
xor r8d, r8d
call fcn.180003f7c
jmp 0x180003551
xor eax, eax
jmp 0x180003555
movzx ecx, word [rsi]
sub rsp, 0x20
mov dx, 0xffff
mov r8, rdi
call fcn.180004004
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
Function at 0x180004908
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x20
mov eax, 0x300c48c8
xor eax, dword [0x18001478c]
cmp eax, 0xc809caaa
jae 0x18000493e
mov rsi, rcx
mov rcx, qword [rcx + 0x50]
mov edx, 2
call qword [sym.imp.KERNEL32.DLL_TerminateProcess]
mov dword [rsi + 0x18], 1
add rsp, 0x20
pop rsi
ret
jmp 0x18000493e
Function at 0x18000903f
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov r14, qword [rsp + 0x70]
cmp rcx, r8
mov r15, r8
cmovb r15, rcx
cmp r15, r14
jae 0x180009080
cmp rcx, r8
mov rax, r8
cmova rax, rcx
cmp rax, r14
jae 0x180009095
xor eax, eax
mov qword [rsp], rax
mov rax, r14
mov r12, rcx
mov rdi, r8
jmp 0x1800090a3
mov rdi, qword [0x180017380]
xor eax, eax
xor r10d, r10d
mov qword [rsp], r10
mov r12, r15
jmp 0x1800090a3
mov al, 1
mov qword [rsp], rax
xor eax, eax
mov r12, r15
mov rdi, r14
mov r10, qword [rsp + 0x78]
xor ebx, ebx
mov r11, qword [0x180017388]
mov ebp, 0x100
cmp r11, r12
jae 0x1800090e7
movzx r13d, byte [rdx + r11]
movzx esi, byte [r9 + r11]
add ebx, esi
neg ebx
lea esi, [rbx + r13]
add esi, 0x100
mov byte [r10 + r11], sil
xor ebx, ebx
cmp esi, ebp
setb bl
add r11, qword [0x180014dd0]
jmp 0x1800090b6
cmp r15, r14
jae 0x18000914b
cmp rcx, r8
ja 0x180009140
cmp r11, rdi
jae 0x180009145
movzx ecx, byte [r9 + r11]
add ebx, ecx
mov ecx, ebx
neg cl
mov byte [r10 + r11], cl
xor ecx, ecx
test ebx, ebx
setne cl
mov rdx, qword [0x180014de8]
xor rdx, qword [0x180014de0]
add r11, rdx
mov ebx, ecx
jmp 0x1800090f1
movzx ecx, byte [rdx + r11]
sub ecx, ebx
add ecx, dword [0x180014dd8]
mov byte [r10 + r11], cl
xor ebx, ebx
cmp ecx, 0x100
setb bl
inc r11
cmp r11, rdi
jb 0x180009121
cmp byte [rsp], 0
je 0x18000915c
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r11, rax
jae 0x18000914b
mov ecx, ebx
neg cl
mov byte [r10 + r11], cl
xor ecx, ecx
test ebx, ebx
setne cl
inc r11
mov ebx, ecx
jmp 0x18000915c
Function at 0x18000f37c
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov esi, ecx
mov eax, dword [0x180016ca4]
lea rax, [rax + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov rbx, rsp
cmp qword [0x1800174d0], 0
jne 0x18000f492
sub rsp, 0x20
lea rcx, [0x180016c44]
lea rdx, [0x180016c4d]
push 9
pop r15
lea r9, [rbp - 1]
mov r8d, r15d
call fcn.180010cab
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
lea rcx, [0x180016c3a]
lea rdx, [0x180016c43]
lea r9, [rbp - 0xa]
mov r8d, r15d
call fcn.180010cab
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
lea rcx, [0x180016c30]
lea rdx, [0x180016c39]
mov r8d, r15d
mov r9, rbx
call fcn.180010cab
add rsp, 0x20
mov r15, rax
sub rsp, 0x20
push 0x38
pop rcx
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rbx, rax
mov qword [0x1800174d0], rax
sub rsp, 0x20
mov rcx, r15
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov qword [rbx + 8], rax
sub rsp, 0x20
mov rcx, r14
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov qword [rbx + 0x10], rax
sub rsp, 0x20
mov rcx, rdi
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov qword [rbx + 0x18], rax
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
add rsp, 0x20
mov rcx, qword [0x1800174d0]
mov qword [rcx], rax
mov dword [rcx + 0x20], esi
sub rsp, 0x30
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
lea r8, [0x18000f210]
xor ecx, ecx
xor edx, edx
xor r9d, r9d
call qword [sym.imp.KERNEL32.DLL_CreateThread]
add rsp, 0x30
push 0xffffffffffffffff
pop rdx
mov rcx, rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
jmp qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
Function at 0x1412e3318
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1412e349f
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1412e3349
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1412e332f
add dl, dl
jne 0x1412e3356
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1412e33b6
xor eax, eax
add dl, dl
jne 0x1412e3365
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1412e346d
add dl, dl
jne 0x1412e3376
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412e3383
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412e3390
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412e339d
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1412e33aa
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1412e333e
mov eax, 1
add dl, dl
jne 0x1412e33c6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412e33d3
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1412e33bb
sub eax, ebx
mov ebx, 1
jne 0x1412e340c
mov ecx, 1
add dl, dl
jne 0x1412e33ee
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1412e33fb
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1412e33e3
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1412e333e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1412e3428
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1412e3435
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1412e341d
cmp eax, 0x7d00
jae 0x1412e345b
cmp eax, 0x500
jb 0x1412e3456
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1412e333e
cmp eax, 0x7f
ja 0x1412e345e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1412e333e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1412e3492
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1412e333e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1800034d0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x18000352d
lea rbx, [0x1800e83e0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x180003514
cmp r10, 2
jb 0x180003514
cmp byte [r9], r8b
jne 0x180003514
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1800034f0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18000356f
lea rbx, [0x1800e83e0]
cmp r8b, 0x23
jne 0x180003553
cmp byte [r9], r8b
jne 0x180003553
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x180003540
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x1800036b0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x20
mov rsi, r8
mov rbx, rcx
test rcx, rcx
jne 0x1800036df
mov r8d, 0x823
lea rdx, str.C:UsersmetaphorPicturesCamera_Rollmetaowningwarzoneiiidrugdrug.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rsi, rsi
je 0x1800036eb
mov qword [rsi], 0
lea rdx, [0x1800e7bc8]
mov rcx, rbx
call fcn.180003580
mov rbx, rax
test rax, rax
jne 0x18000370d
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x1800037b6
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1800037b6
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x1800037b6
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1800037b6
cmp rdi, 0xffffffffffffffff
je 0x1800037b6
mov rcx, rdi
call fcn.180006820
mov rbp, rax
test rax, rax
je 0x1800037b6
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x1800037a3
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, rbp
call fcn.1800068d0
jmp 0x1800037bf
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rsi, rsi
je 0x1800037b1
mov qword [rsi], rdi
mov rax, rbp
jmp 0x1800037c1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x180006110
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov eax, dword [rcx + 0x100]
mov r14, rcx
movsxd rbx, edx
mov edi, ebx
mov esi, ebx
mov ebp, ebx
shr edi, 0x18
mov edx, ebx
shr esi, 0x10
mov r8d, ebx
shr ebp, 8
mov r9d, ebx
shr edx, 8
shr r8d, 0x10
movzx r10d, bl
shr r9d, 0x18
test eax, eax
jg 0x180006189
mov r8d, 0x78b
lea rdx, str.C:UsersmetaphorPicturesCamera_Rollmetaowningwarzoneiiidrugdrug.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [r14 + 0x100]
movzx r10d, bl
movzx edx, bpl
movzx r8d, sil
movzx r9d, dil
movsxd rcx, eax
mov rax, qword [r14 + 0x108]
mov edi, dword [rax + rcx*4 - 4]
not edi
movzx eax, r10b
movzx ecx, dil
lea r10, [0x1800e83e0]
xor rcx, rax
shr edi, 8
movzx eax, dl
xor edi, dword [r10 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, r8b
xor edi, dword [r10 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, r9b
xor edi, dword [r10 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
xor edi, dword [r10 + rcx*4]
mov rcx, qword [r14]
not edi
cmp dword [rcx + 0x4054], edi
jne 0x180006203
mov r8, rbx
mov edx, 4
mov ecx, edi
call fcn.18001d490
mov rbx, qword [rsp + 0x50]
mov eax, edi
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x180016060
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x180107070]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x18014fa60]
mov edi, ecx
cmp byte [rbx + 0x4d01], 0
jne 0x1800160c1
cmp byte [rbx + 0x4d02], 0
jne 0x1800160c1
movsx r9d, word [rbx + 0x5e58]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.180003280
test dil, 2
je 0x1800161ef
jmp 0x18001614a
movss xmm1, dword [rbx + 0x39c4]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1800f2f90]
xor eax, eax
mulss xmm1, dword [0x1800f2f84]
addss xmm0, dword [rbx + 0xe48]
lea edx, [rax + 0x10]
addss xmm1, dword [rbx + 0xe4c]
mov qword [rbx + 0x49e0], rax
mov dword [rbx + 0x49cc], 1
movss dword [rbx + 0x49d8], xmm0
movss dword [rbx + 0x49dc], xmm1
movss xmm0, dword [rbx + 0x3a20]
mulss xmm0, dword [0x1800f2eb0]
or dword [rbx + 0x49c8], 0x41
movss dword [rbx + 0x4a28], xmm0
movsx r9d, word [rbx + 0x5e58]
call fcn.180003280
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1800161a0
lea r11, [0x1800e83e0]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x180016183
cmp byte [r8], r9b
jne 0x180016183
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180016170
not ecx
call fcn.18000aac0
test rax, rax
je 0x1800161ef
cmp byte [rax + 0xbe], 0
je 0x1800161ef
mov byte [rax + 0xc3], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xc5], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xe4], 1
mov edx, reloc.WS2_32.dll_recv
inc word [rbx + 0x5e58]
movsx r9d, word [rbx + 0x5e58]
call fcn.180003280
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2030347
call fcn.18000db80
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800cf2e0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x18001bac0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5fb0], 0
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
je 0x18001bb43
xor edx, edx
add rcx, 0x5fb8
call fcn.18001e680
mov r8, rsi
lea rcx, [rbx + 0x5fb8]
mov rdx, rbp
call fcn.180003e70
mov eax, dword [rbx + 0x5fb8]
xor edx, edx
mov r9, qword [rbx + 0x5fb0]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rbx + 0x5fc0]
cmove ecx, edx
test rax, rax
movsxd r8, ecx
mov edx, 1
lea rcx, [0x18014fa68]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
jmp 0x18001bb4f
add rcx, 0x5fb8
call fcn.180003e70
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x18001bfe0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x18014fa60]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x18001c043
mov qword [rsp], rbx
lea rbx, [0x1800e83e0]
nop dword [rax]
cmp r9b, 0x23
jne 0x18001c023
cmp byte [r8], r9b
jne 0x18001c023
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x18001c010
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5f20]
not eax
mov r8, qword [r10 + 0x5f28]
lea rdx, [rcx + rcx*8]
lea rcx, [r8 + rdx*8]
cmp r8, rcx
je 0x18001c06f
cmp dword [r8 + 8], eax
je 0x18001c076
add r8, 0x48
cmp r8, rcx
jne 0x18001c060
xor eax, eax
add rsp, 8
ret
mov rax, r8
add rsp, 8
ret
Function at 0x1800450f0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x180107070]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rcx
xor esi, esi
xor edx, edx
lea ecx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, Ordinal_301
mov rbx, rax
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x18004519f
nop dword [rax]
nop word [rax + rax]
lea rax, [rsp + 0x4c]
mov r8, rdi
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180045183
inc rax
test ecx, ecx
jne 0x180045170
test edx, edx
je 0x18004519b
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x180045160
jmp 0x18004519f
mov esi, dword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1800cf2e0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x180045780
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x168
mov rax, qword [0x180107070]
xor rax, rsp
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0x2000
mov qword [rsp + 0x30], rax
mov rcx, 0xffffffff80000002
lea rax, [rsp + 0x50]
mov r9d, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
lea rax, [rsp + 0x50]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1800cf2e0
add rsp, 0x168
ret