joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140172a00
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r9, rcx
mov r10, rdx
test r8, r8
je 0x140172ba8
lea rax, [r8 - 1]
cmp rax, 0xe
jbe 0x140172bac
mov rcx, r8
xor eax, eax
pxor xmm1, xmm1
and rcx, 0xfffffffffffffff0
nop dword [rax + rax]
movdqu xmm0, xmmword [r9 + rax]
movdqu xmm3, xmmword [r10 + rax]
add rax, 0x10
pxor xmm0, xmm3
por xmm1, xmm0
cmp rcx, rax
jne 0x140172a30
movdqa xmm0, xmm1
psrldq xmm0, 8
por xmm0, xmm1
movdqa xmm2, xmm0
psrldq xmm2, 4
por xmm0, xmm2
movdqa xmm2, xmm0
psrldq xmm2, 2
por xmm0, xmm2
movdqa xmm2, xmm0
psrldq xmm2, 1
por xmm0, xmm2
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm1, 8
por xmm1, xmm0
cmp r8, rcx
je 0x140172b9f
mov r11, r8
sub r11, rcx
lea rdx, [r11 - 1]
cmp rdx, 6
jbe 0x140172b10
movq xmm0, qword [r9 + rcx]
movq xmm2, qword [r10 + rcx]
pxor xmm0, xmm2
por xmm0, xmm1
movq rdx, xmm0
mov rax, rdx
mov rbx, rdx
or al, dh
shr rbx, 0x10
or eax, ebx
mov rbx, rdx
shr rbx, 0x18
or eax, ebx
mov rbx, rdx
shr rbx, 0x20
or eax, ebx
mov rbx, rdx
shr rbx, 0x28
or eax, ebx
mov rbx, rdx
shr rdx, 0x38
shr rbx, 0x30
or eax, ebx
or eax, edx
mov rdx, r11
and rdx, 0xfffffffffffffff8
add rcx, rdx
and r11d, 7
je 0x140172b9f
movzx edx, byte [r9 + rcx]
xor dl, byte [r10 + rcx]
or eax, edx
lea rdx, [rcx + 1]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r10 + rcx + 1]
xor dl, byte [r9 + rcx + 1]
or eax, edx
lea rdx, [rcx + 2]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r9 + rcx + 2]
xor dl, byte [r10 + rcx + 2]
or eax, edx
lea rdx, [rcx + 3]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r9 + rcx + 3]
xor dl, byte [r10 + rcx + 3]
or eax, edx
lea rdx, [rcx + 4]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r9 + rcx + 4]
xor dl, byte [r10 + rcx + 4]
or eax, edx
lea rdx, [rcx + 5]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r9 + rcx + 5]
xor dl, byte [r10 + rcx + 5]
or eax, edx
lea rdx, [rcx + 6]
cmp rdx, r8
jae 0x140172b9f
movzx edx, byte [r9 + rcx + 6]
xor dl, byte [r10 + rcx + 6]
or eax, edx
movzx eax, al
pop rbx
ret
xor eax, eax
pop rbx
ret
pxor xmm1, xmm1
xor ecx, ecx
xor eax, eax
jmp 0x140172a9b

Function at 0x140174f90
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
test rdx, rdx
je 0x140174fd0
lea r10, [rcx + rdx*8]
mov r8, 0xffffffffffffffff
mov rdx, qword [rcx]
mov r9, r8
add rcx, 8
mov rax, rdx
sub rdx, 1
not rax
and rax, rdx
sar rax, 0x3f
xor rax, r8
and rax, r9
xor r8, rax
cmp r10, rcx
jne 0x140174fa0
mov rax, r8
ret
mov r8, 0xffffffffffffffff
mov rax, r8
ret

Function at 0x140174fe0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push rbx
mov r11, rcx
mov rbx, rdx
test r8, r8
je 0x140175030
xor ecx, ecx
mov r9, 0xffffffffffffffff
nop dword [rax]
mov rdx, qword [rbx + rcx*8]
xor rdx, qword [r11 + rcx*8]
mov r10, r9
add rcx, 1
mov rax, rdx
sub rdx, 1
not rax
and rax, rdx
sar rax, 0x3f
xor rax, r9
and rax, r10
xor r9, rax
cmp r8, rcx
jne 0x140174ff8
mov rax, r9
pop rbx
ret
mov r9, 0xffffffffffffffff
mov rax, r9
pop rbx
ret
Function at 0x140175110
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov rax, qword [rcx]
mov r9, rdx
xor edx, edx
cmp rax, r9
sbb rdx, 0
mov r10, rdx
and r10d, 1
sub r10, 1
mov rax, r10
not r10
sar rax, 0x3f
cmp r8, 1
je 0x14017517c
lea r9, [rcx + 8]
lea r11, [rcx + r8*8]
mov rax, 0xffffffffffffffff
nop dword [rax]
mov rcx, qword [r9]
mov r8, rax
add r9, 8
mov rdx, rcx
sub rcx, 1
not rdx
and rdx, rcx
sar rdx, 0x3f
xor rdx, rax
and rdx, r8
xor rax, rdx
cmp r11, r9
jne 0x140175150
xor rax, r10
mov rdx, r10
and rax, rdx
xor rax, r10
ret
Function at 0x140177410
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r10d, 0x40
xor eax, eax
mov r8d, 1
movabs rbx, 0x8000000000000000
nop dword [rax]
mov rdx, r8
mov r11, rcx
shr rax, 1
and edx, 1
neg rdx
and r11, rdx
and rdx, rbx
mov r9, r11
add rax, rdx
xor r9, r8
and r8, r11
shr r9, 1
add r8, r9
sub r10, 1
jne 0x140177430
pop rbx
ret
Function at 0x1401813d0
Capabilities:
Encrypt data using curve25519

Disassembly:
movzx eax, byte [rcx + 0x1f]
and byte [rcx], 0xf8
and eax, 0x7f
or eax, 0x40
mov byte [rcx + 0x1f], al
ret
Function at 0x140003628
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140003672
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140003672
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140003672
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140003672
cmp dword [rcx + 0x84], 0xe
jbe 0x140003672
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140003674
xor al, al
add rsp, 0x28
ret

Function at 0x140009a88
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x1400098f3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400098f3
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400098f3
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400098f3
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400098f3
cmp dword [rcx + 0x84], 0xe
jbe 0x1400098f3
cmp dword [rcx + 0xf8], 0
je 0x1400098f3
mov ecx, ebx
call fcn.1400099a4
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140009780
nop
cmp dword [rbp + 0x20], 0
je 0x140009941
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14000994c
int3
xor r8d, r8d
xor edx, edx
jmp 0x140009884
Function at 0x140011778
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x1400117a8
xor eax, eax
jmp 0x14001186b
mov rbp, rbx
cmp word [rax], si
je 0x1400117cd
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x1400117b4
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x1400117b0
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.140011698
movsxd r14, eax
test eax, eax
jne 0x14001180b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x1400117a1
mov rcx, r14
call fcn.14000d740
mov rdi, rax
test rax, rax
jne 0x140011824
xor ecx, ecx
call fcn.14000d704
jmp 0x140011800
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.140011698
test eax, eax
jne 0x140011855
mov rcx, rdi
call fcn.14000d704
jmp 0x14001185f
xor ecx, ecx
call fcn.14000d704
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x1400159ec
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x140015a02
mov al, 1
jmp 0x140015a62
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x140015a13
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x140015a60
mov ecx, dword [rcx + 0x18]
nop
call fcn.140011f7c
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140015a60
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140015a60
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140015a60
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x140015a62
xor al, al
add rsp, 0x20
pop rbx
ret
Function at 0x140016aa0
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.140010768
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x140016b2a
cmp byte [rbp - 0x21], r15b
je 0x140016b25
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x140016b60
call fcn.14000dc3c
test eax, eax
jne 0x140016b4c
cmp byte [rbp - 0x21], r15b
je 0x140016b44
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x140016b60
cmp byte [rbp - 0x21], r15b
je 0x140016b5d
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.14000fd48
test eax, eax
jne 0x140016c00
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.140010768
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x140016b9f
cmp byte [rbp - 0x21], r15b
je 0x140016bd4
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140016bd4
call fcn.14000dc3c
test eax, eax
jne 0x140016bc0
cmp byte [rbp - 0x21], r15b
je 0x140016bb9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140016bd4
cmp byte [rbp - 0x21], r15b
je 0x140016bd1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000fd48
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140016c00
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140016c03
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140016c11
mov rcx, rdi
call fcn.14000d704
cmp byte [rbp + 0x3f], r15b
je 0x140016c20
mov rcx, qword [rbp + 0x27]
call fcn.14000d704
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret

Function at 0x140019240
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140019268
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140019268
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140003310
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 0x14000336d
lea rbx, [0x140068360]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140003354
cmp r10, 2
jb 0x140003354
cmp byte [r9], r8b
jne 0x140003354
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 0x140003330
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x1400033af
lea rbx, [0x140068360]
cmp r8b, 0x23
jne 0x140003393
cmp byte [r9], r8b
jne 0x140003393
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 0x140003380
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x1400034f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x14000350a
mov qword [r8], 0
lea rdx, [0x14006772c]
call fcn.1400033c0
mov rbx, rax
test rax, rax
jne 0x14000352a
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 0x140003601
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 0x140003601
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140003601
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 0x140003601
cmp rdi, 0xffffffffffffffff
je 0x140003601
mov rax, qword [0x1400e8a78]
test rax, rax
je 0x14000359e
inc dword [rax + 0xfc]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x140003601
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 0x1400035ee
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1400e8a78]
test rax, rax
je 0x1400035e3
dec dword [rax + 0xfc]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000360a
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x1400035fc
mov qword [r14], rdi
mov rax, rsi
jmp 0x14000360c
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
Function at 0x140006b20
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0x108]
mov rax, qword [rcx + 0x110]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x140068360]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [0x1400e8a78]
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rcx + 0x3ffc], ebx
jne 0x140006bb6
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.140027440
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140006bc0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0x110]
lea r9, [0x140068360]
movss xmm2, dword [rcx + 0x128]
movss xmm3, dword [rcx + 0x12c]
movsxd rcx, dword [rcx + 0x108]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x1400157c0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400e8010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1400e8a78]
mov edi, ecx
cmp byte [rbx + 0x43e5], 0
jne 0x140015821
cmp byte [rbx + 0x43e6], 0
jne 0x140015821
movsx r9d, word [rbx + 0x54da]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.1400031d0
test dil, 1
je 0x140015949
jmp 0x1400158b1
movss xmm1, dword [rbx + 0x39a8]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x54da]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1400dd570]
mulss xmm1, dword [0x1400dd55c]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xe04]
addss xmm1, dword [rbx + 0xe08]
mov qword [rbx + 0x40e4], rax
mov dword [rbx + 0x40cc], 1
movss dword [rbx + 0x40dc], xmm0
mov byte [rbx + 0x4104], 1
movss dword [rbx + 0x40e0], xmm1
movss xmm0, dword [rbx + 0x3a04]
mulss xmm0, dword [0x1400dd4a4]
or dword [rbx + 0x40c8], 0x41
movss dword [rbx + 0x4128], xmm0
call fcn.1400031d0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140015901
lea r11, [0x140068360]
cmp r9b, 0x23
jne 0x1400158e4
cmp byte [r8], r9b
jne 0x1400158e4
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 0x1400158d1
not ecx
call fcn.14000d0a0
test rax, rax
je 0x140015949
cmp byte [rax + 0xcb], 0
je 0x140015949
mov byte [rax + 0xd2], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xf0], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x54da]
mov edx, 0x10
movsx r9d, word [rbx + 0x54da]
call fcn.1400031d0
lea r9, [0x140066c34]
xor edx, edx
mov r8d, 0x22c0347
lea rcx, [rsp + 0x20]
call fcn.14000fd60
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140063590
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x14001af00
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x55c8], 0
lea rbx, [rcx + 0x55d0]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14001afa7
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001af5a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.140028790
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140003ef0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x55c8]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x55d8]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x1400e8a70]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001afaf
mov rcx, rbx
call fcn.140003ef0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x14001b3f0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov rbx, rcx
mov eax, r10d
test r9b, r9b
je 0x14001b442
lea r11, [0x140068360]
cmp r9b, 0x23
jne 0x14001b425
cmp byte [r8], r9b
jne 0x14001b425
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 0x14001b412
mov r11, qword [0x1400e8a78]
mov r10, qword [r11 + 0x5590]
test r10, r10
je 0x14001b489
lea r9, [r10 + 4]
test r9, r9
je 0x14001b489
not eax
cmp dword [r9], eax
je 0x14001b492
movsxd r8, dword [r9 - 4]
movsxd rdx, dword [r11 + 0x5588]
add r8, r9
add rdx, 4
xor r9d, r9d
add rdx, r10
cmp r8, rdx
cmovne r9, r8
test r9, r9
jne 0x14001b460
mov rcx, rbx
pop rbx
jmp fcn.14001b300
mov rax, r9
pop rbx
ret

Function at 0x14001b4a0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1400e8a78]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x14001b503
mov qword [rsp], rbx
lea rbx, [0x140068360]
nop dword [rax]
cmp r9b, 0x23
jne 0x14001b4e3
cmp byte [r8], r9b
jne 0x14001b4e3
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 0x14001b4d0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5578]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x14001b537
mov r10, qword [r10 + 0x5580]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x14001b53e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x14001b524
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x14001f090
Capabilities:
Hash data with crc32

Disassembly:
test r8d, r8d
jle 0x14001f2de
mov r11, rsp
push rbp
push rsi
sub rsp, 0x58
mov rax, qword [0x1400e8010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [r11 - 0x18], rdi
mov rbp, rcx
mov qword [r11 - 0x20], r14
lea rdi, [rdx + 0x1a]
mov qword [r11 - 0x28], r15
mov r14d, 0xffffffff
lea r15, [0x140068360]
mov qword [r11 + 0x18], rbx
movsxd rsi, r8d
nop dword [rax + rax]
mov edx, dword [rdi - 0x1a]
test edx, edx
je 0x14001f2a6
mov rcx, rbp
call fcn.14001e680
mov r9d, dword [rdi - 0x16]
mov rbx, rax
test r9d, r9d
je 0x14001f161
movsxd rdx, dword [rbp + 0x5528]
mov r8, qword [rbp + 0x5530]
mov r10, rdx
shl r10, 4
add r10, r8
test rdx, rdx
je 0x14001f151
nop dword [rax]
mov rcx, rdx
shr rcx, 1
mov rax, rcx
add rax, rax
cmp dword [r8 + rax*8], r9d
jae 0x14001f149
lea r8, [r8 + rax*8]
mov rax, 0xffffffffffffffff
sub rax, rcx
add r8, 0x10
add rdx, rax
jmp 0x14001f14c
mov rdx, rcx
test rdx, rdx
jne 0x14001f120
cmp r8, r10
je 0x14001f161
cmp dword [r8], r9d
jne 0x14001f161
mov rcx, qword [r8 + 8]
jmp 0x14001f163
xor ecx, ecx
mov qword [rbx + 0x18], rcx
movsx eax, word [rdi - 2]
movd xmm1, eax
movsx eax, word [rdi]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x48], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x4c], xmm0
movsx eax, word [rdi + 2]
movd xmm1, eax
movsx eax, word [rdi + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x50], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x54], xmm0
movsx eax, word [rdi + 6]
movd xmm1, eax
movsx eax, word [rdi + 8]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [rbx + 0xc4]
and eax, 0xfffffe49
movss dword [rbx + 0x58], xmm1
or eax, 0x49
mov dword [rbx + 0xc4], eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x5c], xmm0
test rcx, rcx
je 0x14001f1f7
cmp qword [rcx + 0x20], 0
jne 0x14001f1ec
mov qword [rcx + 0x20], rbx
jmp 0x14001f1f7
cmp qword [rcx + 0x28], 0
jne 0x14001f1f7
mov qword [rcx + 0x28], rbx
mov eax, dword [rdi - 0xe]
mov dword [rbx + 0xbc], eax
movsx eax, byte [rdi - 0xa]
mov dword [rbx + 0x60], eax
mov ecx, dword [rdi - 6]
mov eax, dword [rbx + 0xc]
and ecx, 0xc1fc20
or eax, dword [rbx + 4]
or eax, ecx
mov dword [rbx + 8], ecx
mov dword [rbx + 0x10], eax
mov rcx, rbx
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14001f23c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14001f230
mov r9d, dword [rcx]
lea r8, str.DockNode__02X
lea rcx, [rsp + 0x20]
mov edx, 0x14
call fcn.1400031d0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov ecx, r14d
test r9b, r9b
je 0x14001f298
cmp r9b, 0x23
jne 0x14001f27b
cmp byte [r8], r9b
jne 0x14001f27b
cmp byte [r8 + 1], r9b
cmove ecx, r14d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r15 + rdx*4]
test r9b, r9b
jne 0x14001f268
not ecx
call fcn.14000d0a0
mov qword [rbx + 0x88], rax
add rdi, 0x24
sub rsi, 1
jne 0x14001f0e0
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140063590
add rsp, 0x58
pop rsi
pop rbp
ret