joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18018ac20
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov rdi, qword [0x1802ef710]
mov rbx, r8
lea rsi, [rdi + 0x164]
lea rcx, [rdi + 0x16c]
mov dword [rsi], 1
call sub.VCRUNTIME140.dll_memcpy
mov dword [rdi + 0x168], ebx
add rbx, 8
je 0x18018acfb
mov rax, qword [rdi]
test rax, rax
je 0x18018acab
mov rcx, qword [rax + 8]
cmp rcx, 0xffffffffffffffff
je 0x18018acab
test rsi, rsi
je 0x18018acab
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov r8d, ebx
mov qword [rsp + 0x20], 0
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x18018acab
cmp dword [rsp + 0x40], ebx
je 0x18018acfb
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x18018acca
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x18018acca
mov ecx, dword [rdi + 0x60]
lea rdx, [rdi + 0x64]
call r8
mov rbx, qword [rdi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
xor al, al
mov byte [rbx], 0
mov dword [rdi + 8], 0
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x48]
mov al, 1
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x18018fc60
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov eax, 0xffffffff
test edx, edx
je 0x18018fc9e
mov r9d, edx
lea r10, [0x180161190]
nop dword [rax]
nop word [rax + rax]
movzx r8d, word [rcx]
lea rcx, [rcx + 2]
mov edx, eax
shr eax, 8
xor r8, rdx
movzx edx, r8b
xor eax, dword [r10 + rdx*4]
sub r9, 1
jne 0x18018fc80
not eax
ret
Function at 0x18019a0c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
test rcx, rcx
je 0x18019a120
mov r8, qword [rcx]
test r8, r8
je 0x18019a120
mov r8, qword [r8 + 0x10]
mov eax, 0xffffffff
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x18019a0e0
test ecx, ecx
je 0x18019a11d
mov r9d, ecx
lea r10, [0x180161190]
nop dword [rax + rax]
movsx edx, byte [r8]
lea r8, [r8 + 1]
mov ecx, eax
shr eax, 8
xor rdx, rcx
movzx ecx, dl
xor eax, dword [r10 + rcx*4]
sub r9, 1
jne 0x18019a100
not eax
ret
xor eax, eax
ret

Function at 0x18019aa90
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
test rcx, rcx
jne 0x18019aa9d
xor eax, eax
jmp 0x18019ab16
mov r9, qword [rcx]
test r9, r9
jne 0x18019aaa9
xor eax, eax
jmp 0x18019ab16
mov r9, qword [r9 + 0x10]
test r9, r9
jne 0x18019aab6
xor eax, eax
jmp 0x18019ab16
mov r10, r9
mov qword [rsp + 8], r9
xor edx, edx
mov r8d, 0xffffffff
lea r11, [0x180161190]
mov dword [rsp], edx
mov ecx, r8d
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r9 + rax], 0
jne 0x18019aae0
cmp edx, eax
jae 0x18019ab0c
movsx eax, byte [r10]
xor rax, rcx
movzx ecx, al
shr r8d, 8
xor r8d, dword [r11 + rcx*4]
inc r10
mov qword [rsp + 8], r10
inc edx
jmp 0x18019aacd
not r8d
mov eax, r8d
jmp 0x18019ab16
add rsp, 0x18
ret

Function at 0x18019b3c0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [0x1802c9cf8], 0
mov rbx, rcx
je 0x18019b431
mov ecx, dword [0x1802c9e0c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18019b431
cmp dword [0x1802c9d10], 1
jne 0x18019b431
lea rcx, [rbx + 0xa8]
cmp rcx, 0x40000
jbe 0x18019b431
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x18019b431
mov rcx, qword [rcx]
add rcx, 0x1fc
cmp rcx, 0x40000
jbe 0x18019b431
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x18019b431
mov dword [rcx], 0x3c23d70a
add rsp, 0x20
pop rbx
ret
Function at 0x1801aae00
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
sub rsp, 0x28
cmp byte [0x1802c9b9c], 0
jne 0x1801aae60
lea rcx, [rsp + 0x30]
mov byte [0x1802c9b9c], 1
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, qword [rsp + 0x38]
cvtsi2ss xmm1, qword [rsp + 0x30]
movss dword [0x1802c9e38], xmm0
movss dword [0x1802c9c0c], xmm1
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rsp + 0x30]
subss xmm0, dword [0x1802c9c0c]
divss xmm0, dword [0x1802c9e38]
add rsp, 0x28
ret
Function at 0x1801ae600
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x70
call fcn.18019bf80
mov rcx, rax
call fcn.18019be90
mov rbx, rax
test rax, rax
je 0x1801ae818
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.18019b210
cmp dword [rsp + 0x20], 0
je 0x1801ae818
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x1801ae818
cmp eax, 0xfffffffe
jne 0x1801ae6dc
mov rcx, rbx
call fcn.18019b440
cmp byte [0x1802c9ce0], 0
je 0x1801ae818
add rbx, 0xa8
cmp rbx, 0x40000
jbe 0x1801ae818
lea rax, [rbx + 8]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
jae 0x1801ae818
mov rdx, qword [rbx]
mov r8, rdx
lea r9, [rdx + 0x3a0]
cmp r9, 0x40000
jbe 0x1801ae6af
lea rax, [r9 + 1]
cmp rax, rcx
jae 0x1801ae6af
mov byte [r9], 1
lea rdx, [r8 + 0x3a4]
cmp rdx, 0x40000
jbe 0x1801ae818
lea rax, [rdx + 4]
cmp rax, rcx
jae 0x1801ae818
mov dword [rdx], 0x3f800000
add rsp, 0x70
pop rbx
ret
cmp eax, 3
jne 0x1801ae744
mov rcx, rbx
call fcn.18019b440
cmp byte [0x1802c9ce4], 0
je 0x1801ae737
lea rdx, [rbx + 0xa8]
cmp rdx, 0x40000
jbe 0x1801ae737
lea rax, [rdx + 8]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
jae 0x1801ae737
mov rdx, qword [rdx]
add rdx, 0x1fc
cmp rdx, 0x40000
jbe 0x1801ae737
lea rax, [rdx + 4]
cmp rax, rcx
jae 0x1801ae737
mov dword [rdx], 0x3c23d70a
mov rcx, rbx
add rsp, 0x70
pop rbx
jmp fcn.18019b3c0
cmp eax, 2
jne 0x1801ae79d
mov rcx, rbx
call fcn.18019b440
mov rcx, rbx
call fcn.18019b3c0
cmp byte [0x1802c9cdb], 0
je 0x1801ae818
add rbx, 0xa8
cmp rbx, 0x40000
jbe 0x1801ae818
lea rax, [rbx + 8]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
jae 0x1801ae818
mov rdx, qword [rbx]
add rdx, 0x290
jmp 0x1801ae803
cmp eax, 0xffffffff
jne 0x1801ae818
mov rcx, rbx
call fcn.18019b440
cmp byte [0x1802c9cec], 0
je 0x1801ae818
add rbx, 0xa8
cmp rbx, 0x40000
jbe 0x1801ae818
lea rax, [rbx + 8]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
jae 0x1801ae818
mov rdx, qword [rbx]
mov r8, rdx
lea r9, [rdx + 0x3a0]
cmp r9, 0x40000
jbe 0x1801ae7fc
lea rax, [r9 + 4]
cmp rax, rcx
jae 0x1801ae7fc
mov dword [r9], 0x3f800000
lea rdx, [r8 + 0x3b0]
cmp rdx, 0x40000
jbe 0x1801ae818
lea rax, [rdx + 1]
cmp rax, rcx
jae 0x1801ae818
mov byte [rdx], 1
add rsp, 0x70
pop rbx
ret
Function at 0x1801b1a10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1801b1a88
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x1801b1a88
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x1801b1a75
nop
cmp rbx, rcx
jae 0x1801b1a88
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x1801b1a60
cmp rbx, rcx
jae 0x1801b1a88
xor eax, eax
cmp word [rbx], ax
cmove rbx, rax
mov rax, rbx
jmp 0x1801b1a8a
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1801c8e00
Capabilities:
Delete file

Disassembly:
sub rsp, 0xa8
movdqa xmm1, xmmword [0x1801831d0]
xorps xmm0, xmm0
mov r8, qword [0x1802c8110]
mov rcx, 0xffffffffffffffff
movups xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x40], 0
movdqu xmmword [rsp + 0x50], xmm1
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1801c8e30
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1801c8ffb
cmp qword [0x1802c8118], 0x10
lea r9, [0x1802c8100]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
cmovae r9, qword [0x1802c8100]
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0x28], rdx
movaps xmmword [rsp + 0x80], xmm7
mov qword [rsp + 0x20], r8
call fcn.1801886a0
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x1801c8ed0
lea rax, [rcx + 4]
cmp rdx, 0x10
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
cmovae rax, qword [rsp + 0x60]
mov dword [rax + rcx], 0x6766632e
mov byte [rax + rcx + 4], 0
lea rax, [rsp + 0x60]
jmp 0x1801c8eef
lea r9, [0x18017d7f0]
mov qword [rsp + 0x20], 4
mov edx, 4
lea rcx, [rsp + 0x60]
call fcn.1801dce40
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1801c8f42
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8f3d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c8f80
call fcn.18028b230
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, 0x10
jb 0x1801c8f8c
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8f87
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801c8f87
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18028b230
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1801c8fe3
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8fde
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801c8fde
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18028b230
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0xa8
ret
call fcn.180188110
int3
Function at 0x1801cba40
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0xd0
mov rsi, qword [0x1802eb160]
mov edi, 2
mov rbx, qword [0x1802eb158]
cmp rbx, rsi
je 0x1801cbccc
mov qword [rax + 0x18], rbp
lea rbp, [0x18017dfae]
mov qword [rax + 0x20], r14
lea r14, [0x18017dfac]
movaps xmmword [rax - 0x38], xmm7
xorps xmm7, xmm7
movaps xmmword [rax - 0x48], xmm8
movss xmm8, dword [0x180182f34]
movaps xmmword [rax - 0x58], xmm9
movss xmm9, dword [0x180182f3c]
movaps xmmword [rax - 0x68], xmm10
movss xmm10, dword [0x180182f64]
movaps xmmword [rax - 0x78], xmm11
movss xmm11, dword [0x180182fd8]
movaps xmmword [rsp + 0x60], xmm12
movss xmm12, dword [0x180182f18]
movaps xmmword [rax - 0x28], xmm6
mov ecx, dword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbc67
movaps xmm0, xmmword [0x180183960]
lea rcx, [rsp + 0x50]
mov r11, qword [rbx]
mov r8, qword [rbx + 0x10]
movups xmmword [rsp + 0x50], xmm0
call fcn.1801e3ea0
movss xmm0, dword [rbx + 8]
mov r9d, eax
mov r10, qword [0x1802c9e48]
addss xmm0, xmm12
movd xmm6, edi
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0xf0], xmm0
movss xmm0, dword [rbx + 0xc]
addss xmm0, xmm10
addss xmm0, xmm6
movss dword [rsp + 0xf4], xmm0
test eax, 0xff000000
je 0x1801cbbbe
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1801cbb50
add rcx, r8
cmp r8, rcx
je 0x1801cbbbe
test r10, r10
jne 0x1801cbb6f
mov rax, qword [r11 + 0x38]
mov r10, qword [rax + 8]
movups xmm0, xmmword [r11 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm7
movaps xmm2, xmm8
mov qword [rsp + 0x38], rcx
mov rdx, r11
mov qword [rsp + 0x30], r8
mov rcx, r10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0xf0]
movups xmmword [rsp + 0x50], xmm0
call fcn.180200960
mov r10, qword [0x1802c9e48]
movaps xmm0, xmmword [0x180183810]
lea rcx, [rsp + 0x50]
mov r8, qword [rbx]
movups xmmword [rsp + 0x50], xmm0
call fcn.1801e3ea0
movss xmm1, dword [rbx + 0xc]
mov ecx, eax
movss xmm0, dword [rbx + 8]
addss xmm1, xmm10
addss xmm0, xmm11
addss xmm1, xmm6
movss dword [rsp + 0xf8], xmm0
movss dword [rsp + 0xfc], xmm1
test eax, 0xff000000
je 0x1801cbc5e
test r10, r10
jne 0x1801cbc17
mov rax, qword [r8 + 0x38]
mov r10, qword [rax + 8]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm7
lea r9, [rsp + 0xf8]
mov qword [rsp + 0x38], rbp
movaps xmm2, xmm8
mov qword [rsp + 0x30], r14
mov rdx, r8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, r10
movups xmmword [rsp + 0x50], xmm0
call fcn.180200960
addss xmm6, xmm9
cvttss2si edi, xmm6
add rbx, 0x20
cmp rbx, rsi
jne 0x1801cbad1
mov rsi, qword [0x1802eb160]
mov rbx, qword [0x1802eb158]
movaps xmm12, xmmword [rsp + 0x60]
cmp rbx, rsi
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x100]
cmovne rsi, rbx
mov qword [0x1802eb160], rsi
add rsp, 0xd0
pop rdi
pop rsi
pop rbx
ret
Function at 0x1801d5740
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov r10, qword [0x1802c9e60]
lea rdx, [0x18017e3d1]
mov dword [rsp + 0x40], 0x435f0000
lea rdi, [0x1801761e0]
mov dword [rsp + 0x44], 0x43d28000
mov r8b, 0x41
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x180182f28]
addss xmm0, dword [0x180182f8c]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x1801d5803
cmp byte [rdx], r8b
jne 0x1801d5803
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [rdi + rcx*4]
test r8b, r8b
jne 0x1801d57f0
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1801d583d
lea r8, [0x18017e3d0]
mov edx, 0xb
mov ecx, ebx
call fcn.1801f8d50
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x18017e3d0]
call fcn.1801eb130
lea r9, [0x1802c7d28]
mov dword [rsp + 0x20], 2
lea rdx, [0x1802ff9a4]
lea rcx, [0x180180540]
call fcn.180208ff0
cmp dword [0x1802ff9a4], 0
lea rdx, [0x180180550]
lea rcx, [0x180180568]
mov r8d, 0x10120
setne al
test al, al
mov byte [0x1802c9c0a], al
cmovne rcx, rdx
lea rdx, [0x1802c7fb8]
call fcn.180210210
cmp byte [0x1802c9c0a], 0
lea rax, [0x180180578]
lea rcx, [0x180180590]
mov r8d, 0x10120
cmovne rcx, rax
lea rdx, [0x1802c8048]
call fcn.180210210
cmp byte [0x1802c9c0a], 0
lea rax, [0x1801805a0]
lea rcx, [0x1801805b8]
mov r8d, 0x10120
cmovne rcx, rax
lea rdx, [0x1802a1060]
call fcn.180210210
call fcn.1801eb480
mov r10, qword [0x1802c9e60]
mov rcx, qword [r10 + 0x3ea0]
cmp byte [rcx + 0x9b], 0
jne 0x1801d5970
movss xmm0, dword [rcx + 0xec]
movss xmm1, dword [rcx + 0xe8]
addss xmm1, dword [0x180182f24]
movss dword [rcx + 0xe0], xmm1
movss dword [rcx + 0xe4], xmm0
movsd xmm0, qword [rcx + 0x110]
mov eax, dword [rcx + 0x11c]
movsd qword [rcx + 0x108], xmm0
mov dword [rcx + 0x118], eax
mov byte [rcx + 0x120], 1
mov rax, qword [r10 + 0x3ea0]
lea r8, [0x18017e5f1]
mov dword [rsp + 0x40], 0x435f0000
mov dl, 0x41
mov dword [rsp + 0x44], 0x43d28000
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp dl, 0x23
jne 0x1801d59c9
cmp byte [r8], dl
jne 0x1801d59c9
cmp byte [r8 + 1], dl
cmove ebx, r9d
movzx ecx, bl
movzx eax, dl
movzx edx, byte [r8]
xor rcx, rax
shr ebx, 8
inc r8
xor ebx, dword [rdi + rcx*4]
test dl, dl
jne 0x1801d59b7
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1801d5a01
lea r8, [0x18017e5f0]
mov edx, 0xb
mov ecx, ebx
call fcn.1801f8d50
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x18017e5f0]
call fcn.1801eb130
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.1801eb480
Function at 0x1801d68c0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov r10, qword [0x1802c9e60]
lea rdx, [0x18017e3d1]
mov dword [rsp + 0x40], 0x435f0000
lea rdi, [0x1801761e0]
mov dword [rsp + 0x44], 0x43d28000
mov r8b, 0x41
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x180182f28]
addss xmm0, dword [0x180182f8c]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x1801d6983
cmp byte [rdx], r8b
jne 0x1801d6983
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [rdi + rcx*4]
test r8b, r8b
jne 0x1801d6970
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1801d69bd
lea r8, [0x18017e3d0]
mov edx, 0xb
mov ecx, ebx
call fcn.1801f8d50
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x18017e3d0]
call fcn.1801eb130
cmp byte [0x1802c9c0a], 0
lea rax, [0x180180770]
lea rcx, [0x180180798]
cmovne rcx, rax
call fcn.1802053a0
cmp byte [0x1802c9c0a], 0
lea rax, [0x1801807b0]
lea rcx, [0x1801807e8]
cmovne rcx, rax
call fcn.1802053a0
call fcn.1801eb480
mov r10, qword [0x1802c9e60]
mov rcx, qword [r10 + 0x3ea0]
cmp byte [rcx + 0x9b], 0
jne 0x1801d6a7e
movss xmm0, dword [rcx + 0xec]
movss xmm1, dword [rcx + 0xe8]
addss xmm1, dword [0x180182f24]
movss dword [rcx + 0xe0], xmm1
movss dword [rcx + 0xe4], xmm0
movsd xmm0, qword [rcx + 0x110]
mov eax, dword [rcx + 0x11c]
movsd qword [rcx + 0x108], xmm0
mov dword [rcx + 0x118], eax
mov byte [rcx + 0x120], 1
mov rax, qword [r10 + 0x3ea0]
lea r8, [0x18017e5f1]
mov dword [rsp + 0x40], 0x435f0000
mov dl, 0x41
mov dword [rsp + 0x44], 0x43d28000
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp dl, 0x23
jne 0x1801d6ad7
cmp byte [r8], dl
jne 0x1801d6ad7
cmp byte [r8 + 1], dl
cmove ebx, r9d
movzx ecx, bl
movzx eax, dl
movzx edx, byte [r8]
xor rcx, rax
shr ebx, 8
inc r8
xor ebx, dword [rdi + rcx*4]
test dl, dl
jne 0x1801d6ac5
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1801d6b0f
lea r8, [0x18017e5f0]
mov edx, 0xb
mov ecx, ebx
call fcn.1801f8d50
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x18017e5f0]
call fcn.1801eb130
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.1801eb480
Function at 0x1801d9ab0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
cmp edx, 1
jne 0x1801d9c4f
lea r9d, [rdx + 3]
mov qword [rsp + 0x40], rdi
xor edi, edi
lea r8d, [rdx + 0x3f]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], edi
mov rdx, rcx
mov qword [rsp + 0x20], rax
lea rcx, [rdi - 1]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x1801d9b11
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x20], rdi
mov qword [rbx + 0x28], rdi
mov qword [rbx + 0x30], rdi
mov qword [rbx + 0x38], rdi
jmp 0x1801d9b16
test rbx, rbx
je 0x1801d9b7f
lea rax, [rsp + 0x48]
mov r9d, 4
mov r8d, 0x108
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x1801d9b7f
xor edx, edx
mov rax, rbx
xorps xmm0, xmm0
lea ecx, [rdx + 2]
nop dword [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x1801d9b50
mov qword [rax], rdx
mov qword [rsp + 0x28], rdi
lea r8, [0x180198780]
mov r9, rbx
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [0x1801d8060]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [0x1801c75c0]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [0x1801d8820]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [0x1801d8850]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [fcn.1801987a0]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [fcn.1801994f0]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, qword [rsp + 0x40]
mov al, 1
add rsp, 0x30
pop rbx
ret
Function at 0x1801e34a0
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 0x1801e34fd
lea rbx, [0x1801761e0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1801e34e4
cmp r10, 2
jb 0x1801e34e4
cmp byte [r9], r8b
jne 0x1801e34e4
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 0x1801e34c0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x1801e353f
lea rbx, [0x1801761e0]
cmp r8b, 0x23
jne 0x1801e3523
cmp byte [r9], r8b
jne 0x1801e3523
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 0x1801e3510
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x1801e3680
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x1801e369a
mov qword [r8], 0
lea rdx, [0x180180e00]
call fcn.1801e3550
mov rbx, rax
test rax, rax
jne 0x1801e36ba
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x1801e3791
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 0x1801e3791
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x1801e3791
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1801e3791
cmp rdi, 0xffffffffffffffff
je 0x1801e3791
mov rax, qword [0x1802c9e60]
test rax, rax
je 0x1801e372e
inc dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x1801e3791
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 0x1801e377e
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1802c9e60]
test rax, rax
je 0x1801e3773
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1801e379a
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x1801e378c
mov qword [r14], rdi
mov rax, rsi
jmp 0x1801e379c
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret