joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140045b30
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
xor r14d, r14d
mov rsi, r8
test r8, r8
je 0x140045b4e
mov qword [r8], r14
lea rdx, [0x14013cf84]
call fcn.140045a40
mov rbx, rax
test rax, rax
jne 0x140045b73
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call fcn.1400d4e50
mov ebp, eax
cmp eax, 0xffffffff
je 0x140045c97
xor edx, edx
mov r8d, 2
mov rcx, rbx
call fcn.1400d3e10
test eax, eax
jne 0x140045c97
mov rcx, rbx
call fcn.1400d4e50
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140045c97
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call fcn.1400d3e10
test eax, eax
jne 0x140045c97
cmp rdi, 0xffffffffffffffff
je 0x140045c97
mov rcx, rdi
call fcn.140049cb0
mov rbp, rax
test rax, rax
je 0x140045c97
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.1400d34c0
mov rcx, rbx
cmp rax, rdi
je 0x140045c85
call fcn.1400ccaa0
mov r8, qword [0x1402983f0]
test r8, r8
je 0x140045c7b
movsx rdx, word [r8 + 0x60d8]
lea rcx, [r8 + 0x60dc]
mov r9d, dword [r8 + 0x3f90]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r9d
je 0x140045c70
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x60d8], cx
movsx rax, cx
lea rcx, [r8 + 0x60dc]
lea rcx, [rcx + rax*8]
mov dword [rcx], r9d
mov dword [rcx + 4], r14d
inc word [rcx + 6]
inc dword [r8 + 0x60d4]
mov rcx, rbp
call fcn.1400d2130
jmp 0x140045c9f
call fcn.1400ccaa0
test rsi, rsi
je 0x140045c92
mov qword [rsi], rdi
mov rax, rbp
jmp 0x140045ca1
mov rcx, rbx
call fcn.1400ccaa0
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x140049450
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov r11, rcx
lea rdi, [0x14013d460]
movsxd rcx, dword [rcx + 0x100]
mov r10d, edx
shr r10d, 0x18
mov r8d, edx
shr r8d, 8
mov r9d, edx
mov rax, qword [r11 + 0x108]
shr r9d, 0x10
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, dl
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r8b
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r9b
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, r10
shr ebx, 8
xor ebx, dword [rdi + rcx*4]
mov rcx, qword [r11]
not ebx
cmp dword [rcx + 0x4084], ebx
jne 0x1400494e4
movsxd r8, edx
mov ecx, ebx
mov edx, 4
call fcn.14005eac0
mov eax, ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x140049500
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
movss xmm0, dword [rcx + 0x120]
lea r10, [0x14013d460]
mov rax, qword [rcx + 0x108]
movss xmm1, dword [rcx + 0x124]
movss xmm2, dword [rdx]
movss xmm4, dword [rdx + 8]
subss xmm2, xmm0
movss xmm3, dword [rdx + 4]
subss xmm4, xmm0
movss xmm0, dword [rdx + 0xc]
subss xmm3, xmm1
movsxd rcx, dword [rcx + 0x100]
subss xmm0, xmm1
movd r8d, xmm2
movss dword [rsp], xmm2
mov r9d, dword [rax + rcx*4 - 4]
movzx eax, byte [rsp]
not r9d
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
movss dword [rsp + 4], xmm3
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
movss dword [rsp + 8], xmm4
movss dword [rsp + 0xc], xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 4]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm3
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 8]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm4
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
shr eax, 8
movzx edx, al
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
mov eax, r8d
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 0xc]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
shr r8, 0x18
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx edx, r9b
shr r9d, 8
xor r8, rdx
xor r9d, dword [r10 + r8*4]
not r9d
mov eax, r9d
add rsp, 0x18
ret
Function at 0x14005d790
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1402983f0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x14005d7f3
mov qword [rsp], rbx
lea rbx, [0x14013d460]
nop dword [rax]
cmp r9b, 0x23
jne 0x14005d7d3
cmp byte [r8], r9b
jne 0x14005d7d3
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 0x14005d7c0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5f70]
not eax
mov r8, qword [r10 + 0x5f78]
lea rdx, [rcx + rcx*8]
lea rcx, [r8 + rdx*8]
cmp r8, rcx
je 0x14005d81f
cmp dword [r8 + 8], eax
je 0x14005d826
add r8, 0x48
cmp r8, rcx
jne 0x14005d810
xor eax, eax
add rsp, 8
ret
mov rax, r8
add rsp, 8
ret
Function at 0x1400809d0
Capabilities:
Get geographical location
Get keyboard layout

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x70
mov rax, qword [0x1401f2100]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rsi, qword [0x1402983f0]
mov rbp, rcx
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140080b8e
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140080b8e
mov qword [rsp + 0x80], rbx
mov ecx, 0x50
mov qword [rsp + 0x88], rdi
call fcn.140049cb0
xor ebx, ebx
mov qword [rsp + 0x28], rax
mov rdi, rax
test rax, rax
je 0x140080a5a
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
jmp 0x140080a5d
mov rdi, rbx
or dword [rsi + 0xc], 6
lea rax, [0x1401db2c0]
mov qword [rsi + 0x80], rax
mov qword [rsi + 0x90], rdi
mov qword [rdi], rbp
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x18], rax
mov rax, qword [0x1402983f0]
mov dword [rdi + 0x28], 9
test rax, rax
je 0x140080aa7
mov rsi, qword [rax + 0x90]
jmp 0x140080aaa
mov rsi, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
shr rax, 0x10
mov r9d, 4
movzx ecx, ax
lea r8, [rsi + 0x2c]
mov edx, 0x20001004
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140080ad5
mov dword [rsi + 0x2c], ebx
mov rax, qword [0x1402983f0]
mov rcx, qword [rax + 0x4b30]
mov rax, qword [rcx]
mov qword [rax + 0x28], rbp
lea rax, str.xinput1_4.dll
mov qword [rsp + 0x30], rax
lea rax, str.xinput1_3.dll
mov qword [rsp + 0x38], rax
lea rax, str.xinput9_1_0.dll
mov qword [rsp + 0x40], rax
lea rax, str.xinput1_2.dll
mov qword [rsp + 0x48], rax
lea rax, str.xinput1_1.dll
mov qword [rsp + 0x50], rax
mov byte [rdi + 0x31], 1
nop word [rax + rax]
mov rcx, qword [rsp + rbx*8 + 0x30]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
jne 0x140080b4e
inc rbx
cmp rbx, 5
jl 0x140080b30
jmp 0x140080b7a
lea rdx, str.XInputGetCapabilities
mov qword [rdi + 0x38], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.XInputGetState
mov rcx, rsi
mov qword [rdi + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x48], rax
mov rdi, qword [rsp + 0x88]
mov al, 1
mov rbx, qword [rsp + 0x80]
jmp 0x140080b90
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400a7300
mov rbp, qword [rsp + 0x90]
add rsp, 0x70
pop rsi
ret
Function at 0x1400a0180
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
call fcn.1400a13e0
mov qword [0x140298478], rax
test rax, rax
je 0x1400a033c
mov rax, qword gs:[0x60]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], rdi
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400a0237
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400a0237
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5486f961
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1400a0232
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1400a0210
cmp r8d, 0xfef0f212
je 0x1400a023c
test r9d, r9d
jne 0x1400a01f0
mov rax, qword [rax]
jmp 0x1400a01c0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [0x140298488]
mov rcx, qword [0x140298478]
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400a02f7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400a02f7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5b8942fd
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400a02f2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400a02d0
cmp r8d, 0xb10381b2
je 0x1400a02fc
test r9d, r9d
jne 0x1400a02b0
mov rax, qword [rax]
jmp 0x1400a0280
mov ecx, dword [rbx + 0x24]
lea r8, [0x140298488]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov r9d, 2
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
mov rcx, qword [0x140298478]
add rax, r10
call rax
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
mov byte [0x1402983ea], 1
add rsp, 0x28
ret
Function at 0x1400a0d40
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400a0dd7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400a0dd7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc296467f
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400a0dd2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400a0db0
cmp r8d, 0x5803e24f
je 0x1400a0ddc
test r9d, r9d
jne 0x1400a0d90
mov rax, qword [rax]
jmp 0x1400a0d60
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, qword [0x140298468]
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400a0e87
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400a0e87
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbd940009
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1400a0e82
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1400a0e60
cmp r8d, 0x8ddf47ba
je 0x1400a0e8c
test r9d, r9d
jne 0x1400a0e40
mov rax, qword [rax]
jmp 0x1400a0e10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rdx, qword [0x140298428]
add rax, r10
mov rcx, qword [0x140298450]
call rax
mov rbx, qword [rsp + 0x30]
mov byte [0x1402983eb], 0
mov byte [0x1402983ea], 0
add rsp, 0x20
pop rdi
ret
Function at 0x1400a13e0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x1401f2100]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov ebx, ecx
xor esi, esi
mov qword [rbp - 1], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov ecx, 0x10
call fcn.1400a7320
mov qword [rax + 8], rsi
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
mov qword [rax], rcx
movdqa xmm0, xmmword [0x1401dc450]
movdqu xmmword [rbp + 0x17], xmm0
mov word [rbp + 7], si
mov dword [rbp - 9], ebx
movabs rdx, 0x7f30c5d25d2dee87
mov qword [rbp - 0x29], rdx
mov rax, qword [rbp - 0x29]
mov qword [rbp - 0x19], rax
movabs rcx, 0xd0507f1b87cc7e20
mov qword [rbp - 0x29], rcx
mov rax, qword [rbp - 0x29]
mov qword [rbp - 0x11], rax
mov qword [rbp - 0x29], rdx
mov rax, qword [rbp - 0x29]
mov qword [rbp + 0x37], rax
mov qword [rbp - 0x29], rcx
mov rax, qword [rbp - 0x29]
mov qword [rbp + 0x3f], rax
movdqa xmm0, xmmword [rbp - 0x19]
xorps xmm0, xmmword [rbp + 0x37]
movdqa xmmword [rbp - 0x19], xmm0
lea rax, [rbp - 0x19]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400a14b0
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 1]
call fcn.1400a2270
mov qword [rbp + 0x27], rsi
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400a1556
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400a1556
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x87c9adb1
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1400a1551
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x1400a1530
cmp r8d, 0x1246daa9
je 0x1400a155b
test r9d, r9d
jne 0x1400a1510
mov rax, qword [rax]
jmp 0x1400a14e0
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rbp - 9]
lea rcx, [0x1400a1090]
call r8
mov rbx, qword [rbp + 0x27]
lea rcx, [rbp - 1]
call fcn.140001d30
mov r8, qword [rbp + 0x1f]
cmp r8, 7
jbe 0x1400a15a5
mov rdx, qword [rbp + 7]
lea rcx, [rbp - 1]
call fcn.14003f7e0
movdqa xmm0, xmmword [0x1401dc450]
movdqu xmmword [rbp + 0x17], xmm0
mov word [rbp + 7], si
mov rcx, qword [rbp - 1]
mov qword [rbp - 1], rsi
mov edx, 0x10
call fcn.1400a78a0
mov rax, rbx
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1400a7300
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x1400120f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x140012180
cmp r11, r10
ja 0x1400121f6
cmp r10, rdx
ja 0x140012208
add r11, r9
xor r15d, r15d
nop word cs:[rax + rax]
cmp r14, r15
je 0x140012182
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x140012160
jmp 0x1400121e4
ja 0x14001218a
mov r11, r10
cmp rax, r8
jne 0x140012124
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x1400121c0
mov rdi, r8
sub ecx, edx
jns 0x1400121db
jmp 0x1400121e6
cmp r8, rsi
je 0x140012217
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x1400121e6
xor al, 1
cmp rdi, rsi
jne 0x1400121a0
jmp 0x1400121e6
xor eax, eax
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.14000f3a0
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.14000dec0
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.140010a90
int3
Function at 0x140017344
Capabilities:
Hash data with crc32

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r9, r8
mov rax, rdx
not ecx
lea rdi, [0x14011a128]
mov ebx, 0xff
lea rsi, str._home_wav_.cargo_registry_src_index.crates.io_6f17d22bba15001f_crc32fast_1.4.0_src_baseline.rs
cmp r9, 0x40
jb 0x140017474
mov r14d, 4
sub r14, 1
jb 0x140017369
cmp r9, 0xf
jbe 0x1400174a1
movzx edx, byte [rax + 0xf]
movzx r8d, byte [rax + 0xe]
mov ebp, dword [rdi + r8*4 + 0x400]
xor ebp, dword [rdi + rdx*4]
movzx edx, byte [rax + 0xd]
xor ebp, dword [rdi + rdx*4 + 0x800]
movzx edx, byte [rax + 0xc]
xor ebp, dword [rdi + rdx*4 + 0xc00]
movzx edx, byte [rax + 0xb]
xor ebp, dword [rdi + rdx*4 + 0x1000]
movzx edx, byte [rax + 0xa]
xor ebp, dword [rdi + rdx*4 + 0x1400]
movzx edx, byte [rax + 9]
xor ebp, dword [rdi + rdx*4 + 0x1800]
movzx edx, byte [rax + 8]
xor ebp, dword [rdi + rdx*4 + 0x1c00]
movzx edx, byte [rax + 7]
xor ebp, dword [rdi + rdx*4 + 0x2000]
movzx edx, byte [rax + 6]
xor ebp, dword [rdi + rdx*4 + 0x2400]
movzx edx, byte [rax + 5]
xor ebp, dword [rdi + rdx*4 + 0x2800]
movzx edx, byte [rax + 4]
xor ebp, dword [rdi + rdx*4 + 0x2c00]
mov edx, ecx
shr edx, 0x18
movzx r8d, byte [rax + 3]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3000]
mov edx, ecx
shr edx, 0x10
and edx, ebx
movzx r8d, byte [rax + 2]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3400]
mov edx, ecx
shr edx, 8
and edx, ebx
movzx r8d, byte [rax + 1]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3800]
and ecx, ebx
movzx edx, byte [rax]
xor edx, ecx
xor ebp, dword [rdi + rdx*4 + 0x3c00]
mov rcx, rax
mov rdx, r9
mov r8, rsi
call fcn.140017987
mov r9, rdx
mov ecx, ebp
jmp 0x140017379
xor edx, edx
cmp r9, rdx
je 0x140017492
mov r8b, byte [rax + rdx]
xor r8b, cl
movzx r8d, r8b
shr ecx, 8
xor ecx, dword [rdi + r8*4]
inc rdx
jmp 0x140017476
not ecx
mov eax, ecx
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
lea r8, str._home_wav_.cargo_registry_src_index.crates.io_6f17d22bba15001f_crc32fast_1.4.0_src_baseline.rs
mov ecx, 0xf
mov rdx, r9
call fcn.14000d4d0
int3
Function at 0x140019240
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x1400d8028]
test ecx, ecx
je 0x140019259
dec ecx
add rsp, 0x28
jmp sub.kernel32.dll_TlsGetValue
lea rcx, [0x1400d8010]
call fcn.14002c3c0
mov ecx, eax
jmp 0x140019250

Function at 0x14001930c
Capabilities:
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rdx
mov rax, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14001932d
dec ecx
mov rdx, rsi
add rsp, 0x20
pop rsi
jmp sub.kernel32.dll_TlsSetValue
mov rcx, rax
call fcn.14002c3c0
mov ecx, eax
jmp 0x140019320

Function at 0x1400193a7
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rdi, rcx
call fcn.140019240
cmp rax, 2
jb 0x1400193cf
mov rbx, rax
cmp qword [rax + 8], 0
je 0x1400193cf
add rbx, 0x10
jmp 0x1400194ae
call fcn.140019240
cmp rax, 1
je 0x140019462
mov rsi, rax
test rax, rax
jne 0x14001942b
mov al, byte [0x140152200]
mov edx, 0x28
xor ecx, ecx
call fcn.140050160
test rax, rax
je 0x1400194cc
mov rsi, rax
lea rax, [0x1400d8010]
mov qword [rsi], rax
and qword [rsi + 8], 0
mov ecx, dword [0x1400d8028]
test ecx, ecx
je 0x1400194b9
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
lea rbx, [rsi + 8]
test rdi, rdi
je 0x140019470
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
and qword [rdi], 0
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
cmp qword [rsp + 0x20], 0
je 0x140019466
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x28]
jmp 0x140019473
xor ebx, ebx
jmp 0x1400194ae
lea rcx, [rsp + 0x20]
call fcn.140019201
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
lea rcx, [rsp + 0x20]
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
mov qword [rsi + 8], 1
lea rbx, [rsi + 0x10]
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x10], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x20], rax
call fcn.140019201
mov rax, rbx
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1400d8010]
call fcn.14002c3c0
mov ecx, eax
jmp 0x140019423
mov ecx, 8
mov edx, 0x28
call fcn.14000c620
int3
Function at 0x140022ce0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae fcn.14000d940
cmp rax, rcx
je 0x140022d05
cmp rdx, 4
jae 0x140022d08
xor eax, eax
xor r8d, r8d
jmp 0x140022da0
xor eax, eax
ret
mov r8, rdx
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1400daa20]
movdqa xmm3, xmmword [0x1400daa30]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x140022d30
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x140022db7
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x140022da0
ret