joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140095610
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r15, r8
mov rsi, rdx
movzx eax, byte [r8]
mov r12d, eax
movabs rcx, 0xcbf29ce484222325
xor r12, rcx
movabs rcx, 0x100000001b3
imul r12, rcx
mov rcx, qword [0x140234c60]
and rcx, r12
add rcx, rcx
mov rdx, qword [0x140234c48]
mov rbx, qword [rdx + rcx*8 + 8]
mov r14, qword [0x140234c38]
cmp rbx, r14
jne 0x140095683
mov rbx, r14
mov rbp, r14
jmp 0x1400956cd
mov rcx, qword [rdx + rcx*8]
cmp al, byte [rbx + 0x10]
je 0x14009569e
nop dword [rax]
cmp rbx, rcx
je 0x1400956c7
mov rbx, qword [rbx + 8]
cmp al, byte [rbx + 0x10]
jne 0x140095690
mov qword [rsi], rbx
mov byte [rsi + 8], 0
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, 0x30
pop r15
pop r14
pop r12
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x140234c40], rax
jne 0x1400956ee
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x140234c38]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.140118894
mov rdi, rax
mov qword [rsp + 0x28], rax
movzx ecx, byte [r15]
mov byte [rax + 0x10], cl
xor eax, eax
mov dword [rdi + 0x11], eax
mov r8, qword [0x140234c40]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14009573b
cvtsi2ss xmm0, rcx
jmp 0x140095750
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x140234c68]
xorps xmm1, xmm1
test rcx, rcx
js 0x140095766
cvtsi2ss xmm1, rcx
jmp 0x14009577b
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x140234c30]
seta al
test al, al
je 0x1400957f8
call fcn.140098490
mov rdx, qword [0x140234c60]
and rdx, r12
add rdx, rdx
mov rcx, qword [0x140234c48]
mov rax, qword [rcx + rdx*8 + 8]
mov rbx, qword [0x140234c38]
cmp rax, rbx
jne 0x1400957c2
mov qword [rsp + 0x28], 0
jmp 0x1400957e4
mov rdx, qword [rcx + rdx*8]
movzx ecx, byte [rdi + 0x10]
cmp cl, byte [rax + 0x10]
je 0x1400957e1
nop
mov rbx, rax
cmp rax, rdx
je 0x14009583b
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x1400957d0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov r8, qword [0x140234c40]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x140234c40], r8
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x140234c48]
mov rax, qword [0x140234c60]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x140234c38]
jne 0x14009584b
mov qword [rcx + rax*8], rdi
jmp 0x14009585d
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x1400957e9
cmp r8, rbp
jne 0x140095856
mov qword [rcx + rax*8], rdi
jmp 0x140095862
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140095862
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x1400956a5
Function at 0x140098490
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x140234c40]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x140234c68]
js 0x1400984b4
cvtsi2ss xmm0, rcx
jmp 0x1400984c9
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x140234c30]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x14017cfa8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1400984fb
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1400984fb
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 0x14009852d
cmp rbx, 0x200
jae 0x14009852a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14009852d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140099490
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400994c1
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x140234c38]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x140234c48]
lea rdx, [rdi + rdi]
call fcn.140090a90
mov rax, qword [0x140234c38]
lea rdx, [rdi - 1]
mov qword [0x140234c60], rdx
mov qword [0x140234c68], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140099612
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x140234c48]
mov r8, qword [r11]
cmp r8, rbx
jne 0x140099562
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400995d3
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x14009959b
mov r10, qword [rdx]
cmp r10, rax
je 0x140099595
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400995d3
cmp r8, rdx
je 0x1400995af
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400995e7
cmp r8, rdx
jne 0x1400995a0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x14009960d
mov rdx, qword [0x140234c60]
jmp 0x140099531
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400995d3
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140099490
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x140234c40]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x140234c68]
js 0x1400984b4
cvtsi2ss xmm0, rcx
jmp 0x1400984c9
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x140234c30]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x14017cfa8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1400984fb
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1400984fb
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 0x14009852d
cmp rbx, 0x200
jae 0x14009852a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14009852d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140099490
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400994c1
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x140234c38]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x140234c48]
lea rdx, [rdi + rdi]
call fcn.140090a90
mov rax, qword [0x140234c38]
lea rdx, [rdi - 1]
mov qword [0x140234c60], rdx
mov qword [0x140234c68], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140099612
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x140234c48]
mov r8, qword [r11]
cmp r8, rbx
jne 0x140099562
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400995d3
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x14009959b
mov r10, qword [rdx]
cmp r10, rax
je 0x140099595
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400995d3
cmp r8, rdx
je 0x1400995af
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400995e7
cmp r8, rdx
jne 0x1400995a0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x14009960d
mov rdx, qword [0x140234c60]
jmp 0x140099531
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400995d3
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14009dba0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r15, r8
mov rsi, rdx
movzx eax, byte [r8]
mov r12d, eax
movabs rcx, 0xcbf29ce484222325
xor r12, rcx
movabs rcx, 0x100000001b3
imul r12, rcx
mov rcx, qword [0x140234c60]
and rcx, r12
add rcx, rcx
mov rdx, qword [0x140234c48]
mov rbx, qword [rdx + rcx*8 + 8]
mov r14, qword [0x140234c38]
cmp rbx, r14
jne 0x14009dc13
mov rbx, r14
mov rbp, r14
jmp 0x14009dc5d
mov rcx, qword [rdx + rcx*8]
cmp al, byte [rbx + 0x10]
je 0x14009dc2e
nop dword [rax]
cmp rbx, rcx
je 0x14009dc57
mov rbx, qword [rbx + 8]
cmp al, byte [rbx + 0x10]
jne 0x14009dc20
mov qword [rsi], rbx
mov byte [rsi + 8], 0
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, 0x30
pop r15
pop r14
pop r12
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x140234c40], rax
jne 0x14009dc7e
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x140234c38]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.140118894
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r15]
mov dword [rax + 0x10], ecx
movzx ecx, byte [r15 + 4]
mov byte [rax + 0x14], cl
mov r8, qword [0x140234c40]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14009dccd
cvtsi2ss xmm0, rcx
jmp 0x14009dce2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x140234c68]
xorps xmm1, xmm1
test rcx, rcx
js 0x14009dcf8
cvtsi2ss xmm1, rcx
jmp 0x14009dd0d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x140234c30]
seta al
test al, al
je 0x14009dd89
call fcn.140098490
mov rdx, qword [0x140234c60]
and rdx, r12
add rdx, rdx
mov rcx, qword [0x140234c48]
mov rax, qword [rcx + rdx*8 + 8]
mov rbx, qword [0x140234c38]
cmp rax, rbx
jne 0x14009dd54
mov qword [rsp + 0x28], 0
jmp 0x14009dd75
mov rdx, qword [rcx + rdx*8]
movzx ecx, byte [rdi + 0x10]
cmp cl, byte [rax + 0x10]
je 0x14009dd72
mov rbx, rax
cmp rax, rdx
je 0x14009ddcc
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x14009dd61
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov r8, qword [0x140234c40]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x140234c40], r8
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x140234c48]
mov rax, qword [0x140234c60]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x140234c38]
jne 0x14009dddc
mov qword [rcx + rax*8], rdi
jmp 0x14009ddee
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x14009dd7a
cmp r8, rbp
jne 0x14009dde7
mov qword [rcx + rax*8], rdi
jmp 0x14009ddf3
cmp qword [rcx + rax*8 + 8], rdx
jne 0x14009ddf3
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x14009dc35
Function at 0x1400a5d60
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400a5d91
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x140234bf8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x140234c08]
lea rdx, [rdi + rdi]
call fcn.140090a90
mov rax, qword [0x140234bf8]
lea rdx, [rdi - 1]
mov qword [0x140234c20], rdx
mov qword [0x140234c28], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400a5ee2
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x140234c08]
mov r8, qword [r11]
cmp r8, rbx
jne 0x1400a5e32
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400a5ea3
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x1400a5e6b
mov r10, qword [rdx]
cmp r10, rax
je 0x1400a5e65
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400a5ea3
cmp r8, rdx
je 0x1400a5e7f
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400a5eb7
cmp r8, rdx
jne 0x1400a5e70
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x1400a5edd
mov rdx, qword [0x140234c20]
jmp 0x1400a5e01
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400a5ea3
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a5ef0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400a5f21
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1402348c8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1402348d8]
lea rdx, [rdi + rdi]
call fcn.140090a90
mov rax, qword [0x1402348c8]
lea rdx, [rdi - 1]
mov qword [0x1402348f0], rdx
mov qword [0x1402348f8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400a6072
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x1402348d8]
mov r8, qword [r11]
cmp r8, rbx
jne 0x1400a5fc2
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400a6033
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x1400a5ffb
mov r10, qword [rdx]
cmp r10, rax
je 0x1400a5ff5
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400a6033
cmp r8, rdx
je 0x1400a600f
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400a6047
cmp r8, rdx
jne 0x1400a6000
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x1400a606d
mov rdx, qword [0x1402348f0]
jmp 0x1400a5f91
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400a6033
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a6080
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x138
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x1400a60e7
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
lea r8, [r8 + 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8 - 8]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x1400a60a2
mov ecx, dword [r10]
jmp 0x1400a61f6
cmp ecx, 0x270
jb 0x1400a61f6
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
nop word [rax + rax]
mov r9, qword [rbx + 8]
lea rbx, [rbx + 8]
mov rdx, r9
xor rdx, rax
and rdx, 0xffffffff80000000
xor rdx, r9
movzx eax, dl
and al, 1
neg al
mov rax, r9
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx + 0x4d8]
xor rcx, rdx
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x1400a6120
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov r9, qword [rbx]
mov r8, qword [rbx + 8]
lea rbx, [rbx + 8]
xor r9, r8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rbx - 0xea8]
xor rcx, r9
mov r9, r8
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x1400a6171
mov rdx, qword [r10 + 8]
xor rdx, qword [r10 + 0x1380]
mov rdi, qword [rsp]
and rdx, 0xffffffff80000000
xor rdx, qword [r10 + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 + 0x9c0], rcx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov rdx, qword [r10 + rax*8 + 8]
lea eax, [rcx + 1]
mov dword [r10], eax
mov rcx, rdx
mov rax, qword [r10 + 0x1388]
shr rcx, 0x1d
and rax, rcx
movabs rcx, 0x38eb3ffff6d3
xor rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 0x11
xor rdx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rdx, rax
mov rax, rdx
shr rax, 0x2b
xor rax, rdx
add rsp, 8
ret
Function at 0x1400a83f0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x2c0
mov rdi, rcx
xor ebx, ebx
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0xb0]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0xb0]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x104
ja 0x1400a8477
lea rcx, [rsp + 0xb0]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], bx
jne 0x1400a8450
cmp word [rsp + rax*2 + 0xae], 0x5c
jne 0x1400a846d
mov word [rsp + rax*2 + 0xae], bx
lea rdx, [rsp + 0xb0]
jmp 0x1400a847e
lea rdx, [0x1401771c0]
lea rcx, [rsp + 0x48]
call fcn.14008dfc0
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
jne 0x1400a84a7
lea rdx, [0x14016c8d0]
mov rcx, rdi
call fcn.14008dfc0
jmp 0x1400a852e
lea rcx, [rsp + 0x88]
call fcn.1400a8320
mov rsi, rax
movabs rcx, 0x7ffffffffffffffe
sub rcx, rbx
cmp rcx, 1
jb 0x1400a8550
lea r9, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova r9, qword [rsp + 0x48]
mov qword [rsp + 0x30], 1
lea rax, [0x14016c8cc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x68]
call fcn.1400ac630
nop
mov r9, rsi
lea r8, [rsp + 0x68]
mov rcx, rdi
call fcn.1400ac400
nop
lea rcx, [rsp + 0x68]
call fcn.1400900b0
nop
lea rcx, [rsp + 0x88]
call fcn.1400900b0
nop
lea rcx, [rsp + 0x48]
call fcn.1400900b0
mov rax, rdi
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
call fcn.140008110
nop
int3
Function at 0x1400a9120
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x180
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400a9142
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x50]
call fcn.1400a8320
nop
mov rcx, rax
call fcn.1400af590
movzx ebx, al
lea rcx, [rsp + 0x50]
call fcn.1400900b0
test bl, bl
jne 0x1400a916d
xor al, al
jmp 0x1400a92f4
lea rcx, [rsp + 0x30]
call fcn.1400a83f0
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.1400ab2f0
nop
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rbx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
imul rcx, rbx
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x13
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x1e8480
sub rcx, rax
add ecx, 0x9618
movsxd rsi, ecx
mov rcx, rsi
call fcn.1401188d0
mov rdi, rax
xor ebx, ebx
test rsi, rsi
je 0x1400a9223
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r9d, eax
mov eax, 0x80808081
imul r9d
add edx, r9d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r9d, ecx
mov byte [rbx + rdi], r9b
inc rbx
cmp rbx, rsi
jb 0x1400a91f0
mov r8, rsi
mov rdx, rdi
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator__void_const___ptr64]
lea rcx, [rsp + 0x78]
call fcn.14008faa0
test rax, rax
jne 0x1400a9271
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, rdi
call fcn.14011888c
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
nop
test eax, eax
sete bl
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rax
mov rcx, qword [rsp + 0x70]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xa8]
mov dword [rsp + rdx + 0x6c], r8d
lea rcx, [rsp + 0x78]
call fcn.14008ca20
lea rcx, [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x118]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x30]
call fcn.1400900b0
movzx eax, bl
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret