joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000eb40
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rbx, rcx
mov qword [rsp + 0x20], rcx
cmp qword [rcx + 0x18], 8
jb 0x14000eb67
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000ec8b
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000eb83
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, qword [rbx + 0x18]
test eax, eax
je 0x14000ebf2
cmp rcx, 8
jb 0x14000ebcc
lea rdx, [rcx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14000ebc7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000ed2a
mov rcx, r8
call fcn.140070654
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
mov al, 1
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140070140
add rsp, 0x30
pop rbx
ret
mov rax, rbx
cmp rcx, 8
jb 0x14000ebfe
mov rax, qword [rbx]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0xfffffffe
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000ec17
mov rcx, qword [rbx]
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rdx, qword [rbx + 0x18]
test eax, eax
je 0x14000ed28
mov rcx, rbx
cmp rdx, 8
jb 0x14000ec37
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, qword [rbx + 0x18]
test eax, eax
jne 0x14000eb91
mov rax, rbx
cmp rcx, 8
jb 0x14000ec55
mov rax, qword [rbx]
xor edx, edx
lea r8d, [rdx + 4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x14000eca6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000ec7b
mov rdx, qword [rbx]
mov r8d, eax
lea rcx, str.FileOperation::Delete___Mark_File__s__as_deleted_until_reboot__Error_Code__d_
call fcn.1400262b0
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x14000ebcc
lea rdx, [rdx*2 + 2]
jmp 0x14000eb9f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000ecb9
mov rdx, qword [rbx]
mov r8d, eax
lea rcx, str.FileOperation::Delete___File__s__not_Deleted__Error_Code__d_
call fcn.140026280
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x14000ed04
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [rbx]
jb 0x14000ecff
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000ed2a
mov rcx, r8
call fcn.140070654
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140070140
add rsp, 0x30
pop rbx
ret
jmp 0x14000eccd
call fcn.14007d0fc
int3
Function at 0x14000ed30
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov edi, r8d
mov rbx, rdx
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
mov dword [rbp - 0x69], 0x70
mov dword [rbp - 0x65], 0x800540
lea rax, str.open
mov qword [rbp - 0x59], rax
mov rax, rcx
cmp qword [rcx + 0x18], 8
jb 0x14000ed9f
mov rax, qword [rcx]
mov qword [rbp - 0x51], rax
mov rax, rbx
cmp qword [rdx + 0x18], 8
jb 0x14000edb0
mov rax, qword [rdx]
mov qword [rbp - 0x49], rax
xor esi, esi
mov dword [rbp - 0x39], esi
lea rcx, [rbp - 0x69]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x14000eec8
mov edx, edi
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [rbp - 0x79], esi
lea rdx, [rbp - 0x79]
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x14000ee3d
cmp qword [rbx + 0x18], 8
jb 0x14000edf6
mov rbx, qword [rbx]
cmp qword [r14 + 0x18], 8
jb 0x14000ee00
mov r14, qword [r14]
mov r9d, dword [rbp - 0x79]
mov r8, rbx
mov rdx, r14
lea rcx, str.Process__s__s_completed_with_exit_code__d
call fcn.1400262b0
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp - 0x79]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140070140
add rsp, 0xe0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov edx, eax
lea rcx, [rbp + 7]
call fcn.1400089f0
nop
mov rcx, rax
call fcn.1400024e0
mov rdi, rax
mov rcx, rbx
call fcn.1400024e0
mov rbx, rax
mov rcx, r14
call fcn.1400024e0
mov qword [rsp + 0x20], rdi
mov r9d, esi
mov r8, rbx
mov rdx, rax
lea rcx, str.Unable_to_get_exit_code_for_process__s__s._Error_code___d__s
call fcn.140026280
nop
lea rcx, [rbp + 7]
call fcn.1400024f0
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.1400033d0
mov r8, rax
lea r9, str.Unable_to_process_exit_code
mov edx, esi
lea rcx, [rbp + 7]
call fcn.140002fb0
lea rdx, [0x1400dc5f8]
lea rcx, [rbp + 7]
call fcn.140071fb4
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov edx, eax
lea rcx, [rbp + 7]
call fcn.1400089f0
nop
mov rcx, rax
call fcn.1400024e0
mov rdi, rax
mov rcx, rbx
call fcn.1400024e0
mov rbx, rax
mov rcx, r14
call fcn.1400024e0
mov qword [rsp + 0x20], rdi
mov r9d, esi
mov r8, rbx
mov rdx, rax
lea rcx, str.Launching_process__s__s_failed._Error_code___d__s
call fcn.140026280
nop
lea rcx, [rbp + 7]
call fcn.1400024f0
call fcn.1400033d0
mov r8, rax
lea r9, str.Unable_to_create_process
mov edx, esi
lea rcx, [rbp + 7]
call fcn.140002fb0
lea rdx, [0x1400dc5f8]
lea rcx, [rbp + 7]
call fcn.140071fb4
int3
Function at 0x140010680
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x850
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rsp + 0x840], rax
mov rdi, rcx
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x800
xor bl, bl
call fcn.140072740
lea r8, [rsp + 0x38]
mov dword [rsp + 0x30], 0x800
lea rdx, str.SOFTWAREATI_TechnologiesInstall
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x14001072b
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.InstallDir
lea rax, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001071f
mov bl, 1
lea rcx, str.Getting_InstallDir_registry_value_succeeded
jmp 0x140010726
lea rcx, str.Getting_InstallDir_registry_value_failed
call fcn.1400262b0
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140010740
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400027d0
movzx eax, bl
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.140070140
mov rbx, qword [rsp + 0x868]
add rsp, 0x850
pop rdi
ret
Function at 0x140010780
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x290
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov dword [rsp + 0x40], ebp
mov edx, 0x104
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov qword [rbx], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], 7
mov word [rbx], bp
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bp
jne 0x1400107e6
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400027d0
mov dword [rsp + 0x40], 1
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x140010955
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14001081f
mov rcx, qword [rbx]
mov qword [rsp + 0x20], 1
lea r14, [0x1400bc204]
mov r9, r14
mov rdx, rdi
call fcn.140017560
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], 7
movsxd r8, eax
cmp rdi, r8
cmovb r8, rdi
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140010864
mov rdx, qword [rbx]
lea rcx, [rsp + 0x50]
call fcn.1400027d0
mov dword [rsp + 0x40], 3
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140014c20
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400108c5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400108c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010982
call fcn.140070654
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 1
jb 0x140010988
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400108ed
mov r9, qword [rbx]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x50]
call fcn.140018a00
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140014c20
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x140010955
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010950
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010982
call fcn.140070654
mov rax, rbx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140070140
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call fcn.14007d0fc
int3
call fcn.1400020a0
int3
Function at 0x1400262e0
Capabilities:
Create directory
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rbp + 0x190], rax
lea rdx, [rbp - 0x80]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], ax
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140026340
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1400027d0
nop
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rsp + 0x50]
sub rax, rcx
cmp rax, 8
jb 0x14002650c
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], 8
lea rax, str.CleanUp
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.140018a00
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400263ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400263e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140026512
call fcn.140070654
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x50], xmm1
lea rcx, [rsp + 0x40]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 8
cmovae rcx, rdx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, str.CleanUpAMDCleanup.log
lea rcx, [rbp - 0x80]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov r8d, 0x20
lea rdx, [0x1400bd720]
lea rcx, [rbp - 0x80]
call fcn.140082734
mov qword [0x1400e54a0], rax
test rax, rax
je 0x140026480
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r8d, eax
lea rdx, str.Process_Id:_d_n
mov rcx, qword [0x1400e54a0]
call fcn.1400261c0
mov rcx, qword [0x1400e54a0]
call fcn.14008352c
mov ecx, 0x50
call fcn.1400703c8
mov rbx, rax
mov edx, 2
mov rcx, rax
call fcn.14006e8e0
mov qword [0x1400e50b0], rbx
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400264df
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400264da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140026506
call fcn.140070654
lea rax, [0x1400e54a0]
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140070140
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x2a0
pop rbp
ret
call fcn.14007d0fc
nop
call fcn.1400020a0
nop
call fcn.14007d0fc
int3
Function at 0x140026520
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
mov eax, 0x400d0
call fcn.140070d90
sub rsp, rax
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rsp + 0x400c0], rax
mov rbp, r9
mov rdi, r8
mov dword [rsp + 0x70], edx
mov rbx, qword [0x1400e50b0]
mov qword [rsp + 0x88], rbx
mov rcx, rbx
call fcn.14006e910
test eax, eax
jne 0x140026733
xor ecx, ecx
call fcn.1400836f8
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x90]
call fcn.140083370
mov ecx, 0x8000
call fcn.140083738
mov rsi, rax
xor edx, edx
mov r8d, 0x8000
mov rcx, rax
call fcn.140072740
mov edx, dword [rsp + 0xa0]
inc edx
mov r9d, dword [rsp + 0xa4]
add r9d, 0x76c
mov ecx, dword [rsp + 0x90]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x58], 0x3a
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x48], 0x3a
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], 0x3a
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], 0x3a
lea r8, str._04d_c_02d_c_02d__02d_c_02d_c_02d
mov edx, 0x4000
mov rcx, rsi
call fcn.140002b10
xor edx, edx
mov r8d, 0x20000
lea rcx, [rsp + 0xc0]
call fcn.140072740
call fcn.140002ab0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], 0
mov r9, rdi
mov r8d, 0x10000
lea rdx, [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.140081870
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x78]
call fcn.140026930
mov rdi, qword [rax]
add rdi, 0x18
cmp qword [rdi + 0x18], 8
jb 0x140026688
mov rdi, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
mov r9d, eax
lea r8, str.Thread_Id:_d_t_s_t_s_t_s_n
mov edx, 0x10000
lea rcx, [rsp + 0x200c0]
call fcn.140002b10
mov rcx, qword [0x1400e54a0]
test rcx, rcx
je 0x1400266ef
lea r8, [rsp + 0x200c0]
lea rdx, [0x1400bd338]
call fcn.1400261c0
mov rcx, qword [0x1400e54a0]
call fcn.14008352c
jmp 0x1400266fd
lea rcx, [rsp + 0x200c0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rsi
call fcn.14007cec8
nop
mov rcx, rbx
call fcn.14006e918
mov al, 1
mov rcx, qword [rsp + 0x400c0]
xor rcx, rsp
call fcn.140070140
mov rbx, qword [rsp + 0x400f0]
add rsp, 0x400d0
pop rdi
pop rsi
pop rbp
ret
mov ecx, eax
call fcn.14006d85c
int3
Function at 0x140026ce0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1400e54c0]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1400e54e8]
js 0x140026d04
cvtsi2ss xmm0, rcx
jmp 0x140026d19
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1400e54b0]
call fcn.1400a1c14
movss xmm1, dword [0x1400cbc40]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x140026d4b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x140026d4b
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x140026d7d
cmp rbx, 0x200
jae 0x140026d7a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x140026d7d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140026db0
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140026f70
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1400e54b8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1400e54c8]
lea rdx, [rdi + rdi]
call fcn.1400267e0
mov rcx, qword [0x1400e54b8]
lea r9, [rdi - 1]
mov qword [0x1400e54e0], r9
mov qword [0x1400e54e8], rdi
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x140026f65
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
xor r11, rsi
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x12]
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x13]
imul r11, rdi
xor r11, rax
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1400e54c8]
mov r10, qword [r11]
cmp r10, rbx
jne 0x140026ea2
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x140026f26
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x140026edf
mov r10, qword [rax]
cmp r10, rcx
je 0x140026ed9
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x140026f26
mov r8, rax
cmp r10, rax
je 0x140026f02
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x140026f3a
cmp r10, rax
jne 0x140026ef0
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
je 0x140026f60
mov r9, qword [0x1400e54e0]
jmp 0x140026e50
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x140026f26
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.14006ca70
int3
Function at 0x140026db0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1400e54c0]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1400e54e8]
js 0x140026d04
cvtsi2ss xmm0, rcx
jmp 0x140026d19
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1400e54b0]
call fcn.1400a1c14
movss xmm1, dword [0x1400cbc40]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x140026d4b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x140026d4b
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x140026d7d
cmp rbx, 0x200
jae 0x140026d7a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x140026d7d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140026db0
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140026f70
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1400e54b8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1400e54c8]
lea rdx, [rdi + rdi]
call fcn.1400267e0
mov rcx, qword [0x1400e54b8]
lea r9, [rdi - 1]
mov qword [0x1400e54e0], r9
mov qword [0x1400e54e8], rdi
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x140026f65
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
xor r11, rsi
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x12]
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x13]
imul r11, rdi
xor r11, rax
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1400e54c8]
mov r10, qword [r11]
cmp r10, rbx
jne 0x140026ea2
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x140026f26
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x140026edf
mov r10, qword [rax]
cmp r10, rcx
je 0x140026ed9
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x140026f26
mov r8, rax
cmp r10, rax
je 0x140026f02
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x140026f3a
cmp r10, rax
jne 0x140026ef0
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
je 0x140026f60
mov r9, qword [0x1400e54e0]
jmp 0x140026e50
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x140026f26
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.14006ca70
int3
Function at 0x1400277e0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x1400e00c0]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor edi, edi
mov qword [rbp + 0x27], rdi
mov qword [rbp + 0x37], rdi
mov qword [rbp + 0x3f], 7
mov word [rbp + 0x27], di
lea r8d, [rdi + 0x26]
lea rdx, str.SOFTWAREAIX_InstallerInstallCleanup
lea rcx, [rbp + 0x27]
call fcn.1400027d0
nop
mov qword [rbp + 7], rdi
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], 7
mov word [rbp + 7], di
lea r8d, [rdi + 0x12]
lea rdx, str.ProgressPercentage
lea rcx, [rbp + 7]
call fcn.1400027d0
nop
mov dword [rbp - 9], edi
lea rdx, [rbp + 0x27]
cmp qword [rbp + 0x3f], 8
cmovae rdx, qword [rbp + 0x27]
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140027899
lea rcx, str.Failed_Opening_Registry_Key_of_CleanUpProgressPercentage_registry_value
call fcn.140026280
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 8
cmovae rdx, qword [rbp + 7]
mov dword [rsp + 0x28], 4
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x1400278e0
mov edx, dword [rbp - 9]
lea rcx, str.Setting_CleanUpProgressPercentage____d
call fcn.140026280
jmp 0x1400278ec
lea rcx, str.Failed_Setting_CleanUpProgressPercentage
call fcn.140026280
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, eax
test eax, eax
je 0x140027909
lea rcx, str.Failed_closing_registry_key_of_CleanUpProgressPercentage
call fcn.140026280
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 8
jb 0x140027945
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027940
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400279ba
call fcn.140070654
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], 7
mov word [rbp + 7], di
mov rdx, qword [rbp + 0x3f]
cmp rdx, 8
jb 0x140027991
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002798c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400279b4
call fcn.140070654
mov eax, ebx
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140070140
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
call fcn.14007d0fc
nop
call fcn.14007d0fc
nop