joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140196960
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rdi
push r14
sub rsp, 0x160
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x160], rbx
mov qword [rbp + 0x168], rsi
mov rax, qword [0x1404f4fb8]
xor rax, rbp
mov qword [rbp + 0x120], rax
xor ebx, ebx
xor dil, dil
cmp qword [rcx + 0x18], 8
mov rsi, rdx
mov qword [rbp + 8], rbx
jb 0x1401969a6
mov rcx, qword [rcx]
lea rax, [rbp + 8]
mov rdx, rcx
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1401969d3
xor al, al
jmp 0x140196b77
mov rdx, qword [str.DumpFolder]
lea rax, [rbp]
mov rcx, qword [rbp + 8]
lea r9, [rbp + 4]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov dword [rbp + 4], 2
mov dword [rbp], ebx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140196b69
mov r8d, dword [rbp]
cmp r8d, 2
jbe 0x140196b69
lea edx, [r8 + 1]
mov rcx, rbx
add rdx, rdx
lea rax, [rdx + 0x10]
cmp rax, rdx
cmova rcx, rax
test rcx, rcx
je 0x140196aac
lea rax, [rdx + 0x10]
mov rcx, rbx
cmp rax, rdx
cmova rcx, rax
lea rax, [rdx + 0x10]
cmp rcx, 0x400
ja 0x140196a86
cmp rax, rdx
cmova rbx, rax
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x140196a68
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.140233e90
sub rsp, rax
lea rbx, [rsp + 0x30]
test rbx, rbx
je 0x140196aac
mov dword [rbx], 0xcccc
jmp 0x140196aa4
cmp rax, rdx
cmova rbx, rax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x140196aa8
mov dword [rax], 0xdddd
add rbx, 0x10
mov r8d, dword [rbp]
inc r8d
xor edx, edx
add r8, r8
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [str.DumpFolder]
lea rax, [rbp]
mov rcx, qword [rbp + 8]
lea r9, [rbp + 4]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140196b51
mov rdi, 0xffffffffffffffff
lea rcx, [rbp + 0x10]
mov r9, rdi
mov r8d, 0x104
mov rdx, rbx
call fcn.14026c260
lea rax, [rbp + 0x10]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140196b06
cmp rdi, qword [rsi + 0x18]
ja 0x140196b3c
cmp qword [rsi + 0x18], 0x10
mov r14, rsi
jb 0x140196b22
mov r14, qword [rsi]
mov r8, rdi
mov qword [rsi + 0x10], rdi
lea rdx, [rbp + 0x10]
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rdi], 0
jmp 0x140196b4e
lea r9, [rbp + 0x10]
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.140013440
mov dil, 1
test rbx, rbx
je 0x140196b69
cmp dword [rbx - 0x10], 0xdddd
lea rcx, [rbx - 0x10]
jne 0x140196b69
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, dil
mov rcx, qword [rbp + 0x120]
xor rcx, rbp
call fcn.140233ef0
mov rbx, qword [rbp + 0x160]
mov rsi, qword [rbp + 0x168]
lea rsp, [rbp + 0x130]
pop r14
pop rdi
pop rbp
ret
Function at 0x1401a3c90
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r15, r8
mov rdi, rdx
mov rbx, rcx
movzx esi, byte [r8]
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, byte [r8 + 1]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [r8 + 2]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [r8 + 3]
xor rsi, rax
imul rsi, rcx
mov r8, qword [rbx + 0x30]
and r8, rsi
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rbp, qword [rbx + 8]
cmp rdx, rbp
je 0x1401a3d55
add r8, r8
mov rcx, qword [rax + r8*8]
mov eax, dword [r15]
cmp eax, dword [rdx + 0x10]
je 0x1401a3d2e
nop
cmp rdx, rcx
je 0x1401a3d52
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1401a3d20
mov qword [rdi], rdx
mov byte [rdi + 8], 0
mov rax, rdi
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rbp, rdx
movabs rax, 0x492492492492492
cmp qword [rbx + 0x10], rax
je 0x1401a3e99
lea rax, [rbx + 8]
mov qword [rsp + 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x38], r12
lea ecx, [r12 + 0x38]
call fcn.140233ad4
mov r14, rax
mov qword [rsp + 0x38], rax
lea rdx, [rax + 0x10]
mov qword [rsp + 0x70], rdx
mov ecx, dword [r15]
mov dword [rdx], ecx
xorps xmm0, xmm0
movups xmmword [rdx + 8], xmm0
movups xmmword [rdx + 0x18], xmm0
lea rcx, [rdx + 8]
mov qword [rsp + 0x80], rcx
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], r12
mov rcx, qword [rbx + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1401a3dd6
cvtsi2ss xmm0, rcx
jmp 0x1401a3deb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbx + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401a3dfe
cvtsi2ss xmm1, rcx
jmp 0x1401a3e13
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbx]
jbe 0x1401a3e70
mov rcx, rbx
call fcn.1401a4ce0
mov r8, qword [rbx + 0x30]
and r8, rsi
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rax, qword [rbx + 8]
cmp rdx, rax
je 0x1401a3e66
add r8, r8
mov rax, qword [rbx + 0x18]
mov rcx, qword [rax + r8*8]
mov eax, dword [r14 + 0x10]
cmp eax, dword [rdx + 0x10]
je 0x1401a3e63
cmp rdx, rcx
je 0x1401a3e92
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1401a3e55
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
mov rbp, qword [rsp + 0x20]
mov qword [rsp + 0x38], r12
mov r9, r14
mov r8, rbp
mov rdx, rsi
mov rcx, rbx
call fcn.14013d1f0
mov qword [rdi], rax
mov byte [rdi + 8], 1
jmp 0x1401a3d35
mov qword [rsp + 0x20], rdx
jmp 0x1401a3e6b
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1401a3eb0
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, 0x40
mov r15, r8
mov rdi, rdx
mov rbx, rcx
movzx ebp, byte [r8]
movabs rax, 0xcbf29ce484222325
xor rbp, rax
movabs rcx, 0x100000001b3
imul rbp, rcx
movzx eax, byte [r8 + 1]
xor rbp, rax
imul rbp, rcx
movzx eax, byte [r8 + 2]
xor rbp, rax
imul rbp, rcx
movzx eax, byte [r8 + 3]
xor rbp, rax
imul rbp, rcx
mov r8, qword [rbx + 0x30]
and r8, rbp
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov r14, qword [rbx + 8]
cmp rdx, r14
je 0x1401a3f80
add r8, r8
mov rcx, qword [rax + r8*8]
mov eax, dword [r15]
cmp eax, dword [rdx + 0x10]
je 0x1401a3f54
cmp rdx, rcx
je 0x1401a3f7d
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1401a3f46
mov qword [rdi], rdx
mov byte [rdi + 8], 0
mov rax, rdi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
mov r14, rdx
movabs rax, 0x666666666666666
cmp qword [rbx + 0x10], rax
je 0x1401a40a4
lea rax, [rbx + 8]
mov qword [rsp + 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x38], r12
lea ecx, [r12 + 0x28]
call fcn.140233ad4
mov rsi, rax
mov qword [rsp + 0x38], rax
mov ecx, dword [r15]
mov dword [rax + 0x10], ecx
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov rcx, qword [rbx + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1401a3fdd
cvtsi2ss xmm0, rcx
jmp 0x1401a3ff2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbx + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401a4005
cvtsi2ss xmm1, rcx
jmp 0x1401a401a
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbx]
jbe 0x1401a407b
mov rcx, rbx
call fcn.1401a4da0
mov r8, qword [rbx + 0x30]
and r8, rbp
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rax, qword [rbx + 8]
cmp rdx, rax
je 0x1401a4071
add r8, r8
mov rax, qword [rbx + 0x18]
mov rcx, qword [rax + r8*8]
mov eax, dword [rsi + 0x10]
cmp eax, dword [rdx + 0x10]
je 0x1401a406e
nop dword [rax + rax]
cmp rdx, rcx
je 0x1401a409d
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1401a4060
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x38], r12
mov r9, rsi
mov r8, r14
mov rdx, rbp
mov rcx, rbx
call fcn.14013d1f0
mov qword [rdi], rax
mov byte [rdi + 8], 1
jmp 0x1401a3f5b
mov qword [rsp + 0x20], rdx
jmp 0x1401a4076
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1401a5dc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov rsi, rdx
mov rbp, rcx
mov rdx, qword [r8 + 0x10]
mov rcx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1401a5df0
mov rcx, qword [r8]
movabs rdi, 0xcbf29ce484222325
xor r12d, r12d
mov r9d, r12d
test rdx, rdx
je 0x1401a5e24
movabs r8, 0x100000001b3
nop
movzx eax, byte [r9 + rcx]
xor rdi, rax
imul rdi, r8
inc r9
cmp r9, rdx
jb 0x1401a5e10
mov r9, rdi
mov r8, r14
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140024e30
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401a5e4d
mov qword [rsi], rax
mov byte [rsi + 8], r12b
jmp 0x1401a5f50
movabs rax, 0x333333333333333
cmp qword [rbp + 0x10], rax
je 0x1401a5f6d
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x28], r12
mov ecx, 0x50
call fcn.140233ad4
mov r15, rax
mov qword [rsp + 0x28], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x70], rbx
mov rdx, r14
mov rcx, rbx
call fcn.1400274e0
nop
xorps xmm0, xmm0
movups xmmword [rbx + 0x20], xmm0
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbx + 0x20], 0
mov rcx, qword [rbp + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1401a5ec6
cvtsi2ss xmm0, rcx
jmp 0x1401a5edb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401a5eee
cvtsi2ss xmm1, rcx
jmp 0x1401a5f03
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x1401a5f31
mov rcx, rbp
call fcn.1401a5f80
lea r8, [r15 + 0x10]
mov r9, rdi
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140024e30
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], r12
mov r9, r15
mov r8, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, rbp
call fcn.14013d1f0
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1401a5f80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x1401a5fa5
cvtsi2ss xmm0, rdx
jmp 0x1401a5fba
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x140368bf8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1401a5fe8
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1401a5fe8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov rcx, qword [reloc.OLEAUT32.dll_VariantClear]
cmp rax, 8
cmova rcx, rax
cmp rbx, rcx
jae 0x1401a6025
cmp rbx, 0x200
jae 0x1401a6022
lea rax, [rbx*8]
lea rbx, [rbx*8]
cmp rax, rcx
jae 0x1401a6025
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140029200

Function at 0x1401a6040
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbx, r8
mov rsi, rdx
mov rbp, rcx
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x20], 0
mov r8, qword [r8 + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1401a6082
mov rdx, qword [rbx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x1401a60b3
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1401a60a0
mov r8, rbx
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140024e30
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x1401a60d0
mov rdx, qword [rbp + 8]
cmp rdx, qword [rbp + 8]
je 0x1401a60e7
add rdx, 0x30
mov rcx, rsi
call fcn.1400274e0
jmp 0x1401a61bd
mov rdi, qword [0x140517230]
test rdi, rdi
je 0x1401a61b1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test al, al
je 0x1401a61b1
lea rax, [rbp + 0x40]
cmp qword [rax + 0x18], 0x10
jb 0x1401a6116
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp qword [rbx + 0x18], 0x10
jb 0x1401a6125
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rbx
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x30]
lea rdx, str.Cannot_find_Language_Code__s__Returning_default_culture__s_
lea rcx, [rsp + 0x48]
call fcn.140138c70
nop
mov rax, qword [rdi]
lea r9, [rsp + 0x48]
lea r8, str.eax::services::localization::LocalizationSystem::getCultureFromISO639
mov edx, 2
mov rcx, rdi
call qword [rax + gethostname]
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1401a619a
inc rdx
mov rcx, qword [rsp + 0x48]
cmp rdx, 0x1000
jb 0x1401a6195
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401a61e5
mov rcx, r8
call fcn.140233b10
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], 0
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.1400274e0
mov dword [rsp + 0x20], 1
mov rax, rsi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140233ef0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x1401cb6c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x24], 0
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0x10
jb 0x1401cb6fb
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
test r9, r9
je 0x1401cb734
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r9
jb 0x1401cb720
lea rcx, [rsp + 0x50]
call fcn.140043d90
mov rbx, rax
lea r8, [0x14039765c]
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14007b810
nop
mov r9, rbx
mov r8, rax
movzx edx, byte [rsp + 0x20]
mov rcx, rdi
call fcn.140037ae0
mov eax, 4
mov dword [rsp + 0x24], eax
and eax, 0xfffffffb
mov dword [rsp + 0x24], eax
or eax, 1
mov dword [rsp + 0x24], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1401cb7bd
inc rdx
mov rcx, qword [rsp + 0x30]
cmp rdx, 0x1000
jb 0x1401cb7b8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401cb83f
mov rcx, r8
call fcn.140233b10
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x30], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1401cb80d
inc rdx
mov rcx, qword [rsp + 0x50]
cmp rdx, 0x1000
jb 0x1401cb808
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401cb846
mov rcx, r8
call fcn.140233b10
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
mov rax, rdi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140233ef0
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x1401d3520
Capabilities:
Hash data using fnv

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
sub rsp, 0x30
mov rbx, rdx
mov r10, rcx
xor r11d, r11d
mov dword [rsp + 0x20], r11d
movzx r9d, r8b
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [rsp + 0x51]
xor r9, rax
imul r9, rcx
movzx eax, byte [rsp + 0x52]
xor r9, rax
imul r9, rcx
movzx eax, byte [rsp + 0x53]
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x58]
and rcx, r9
lea rax, [rcx + rcx]
mov rdx, qword [r10 + 0x40]
mov rdx, qword [rdx + rax*8 + 8]
cmp rdx, qword [r10 + 0x30]
je 0x1401d35c1
add rcx, rcx
mov rax, qword [r10 + 0x40]
mov rcx, qword [rax + rcx*8]
cmp r8d, dword [rdx + 0x10]
je 0x1401d35c4
nop dword [rax + rax]
cmp rdx, rcx
je 0x1401d35c1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
jne 0x1401d35b0
jmp 0x1401d35c4
mov rdx, r11
test rdx, rdx
jne 0x1401d35cd
mov rdx, qword [r10 + 0x30]
cmp rdx, qword [r10 + 0x30]
je 0x1401d35e1
add rdx, 0x18
mov rcx, rbx
call fcn.1400274e0
jmp 0x1401d35f6
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r11
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], r11b
mov dword [rsp + 0x20], 1
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x1401d8240
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
movss xmm2, dword [0x1403967a4]
mov r11d, 0x138
mov r8, rcx
xorps xmm1, xmm1
cmp dword [rcx], r11d
jne 0x1401d82b5
lea r9, [rcx + 0x10]
movabs r10, 0xb5026f5aa96619e9
nop word [rax + rax]
mov eax, dword [r9]
mov rdx, qword [r9 - 8]
lea r9, [r9 + 8]
btr eax, 0x1f
and rdx, 0xffffffff80000000
or rdx, rax
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r10
xor rcx, qword [r9 + 0x4d0]
xor rcx, rdx
mov qword [r9 + 0x9b0], rcx
sub r11, 1
jne 0x1401d8270
jmp 0x1401d83ac
cmp dword [rcx], 0x270
jb 0x1401d83ac
lea r9, [rcx + 0x9c8]
mov r11d, 0x9c
movabs r10, 0xb5026f5aa96619e9
nop dword [rax + rax]
mov edx, dword [r9 + 8]
mov rax, qword [r9]
lea r9, [r9 + 8]
and rax, 0xffffffff80000000
btr edx, 0x1f
or rdx, rax
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r10
xor rcx, qword [r9 + 0x4d8]
xor rcx, rdx
mov qword [r9 - 0x9c8], rcx
sub r11, 1
jne 0x1401d82e0
lea r9, [r8 + 0xea8]
mov r11d, 0x9b
nop dword [rax]
mov edx, dword [r9 + 8]
mov rax, qword [r9]
lea r9, [r9 + 8]
and rax, 0xffffffff80000000
btr edx, 0x1f
or rdx, rax
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r10
xor rcx, qword [r9 - 0xea8]
xor rcx, rdx
mov qword [r9 - 0x9c8], rcx
sub r11, 1
jne 0x1401d8330
mov eax, dword [r8 + 8]
mov rdx, qword [r8 + 0x1380]
btr eax, 0x1f
and rdx, 0xffffffff80000000
or rdx, rax
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r10
xor rcx, qword [r8 + 0x4e0]
xor rcx, rdx
mov qword [r8 + 0x9c0], rcx
mov dword [r8], r11d
mov eax, dword [r8]
movabs rdx, 0x38eb3ffff6d3
xorps xmm0, xmm0
mov rcx, qword [r8 + rax*8 + 8]
inc dword [r8]
mov rax, rcx
shr rax, 0x1d
and rax, qword [r8 + 0x1388]
xor rcx, rax
mov rax, rcx
and rax, rdx
shl rax, 0x11
xor rcx, rax
mov rax, rcx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
mov rdx, rcx
shr rdx, 0x2b
xor rdx, rcx
js 0x1401d8405
cvtsi2ss xmm0, rdx
jmp 0x1401d841a
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
subss xmm0, xmm1
mulss xmm0, xmm2
mulss xmm2, dword [0x14036d7c4]
addss xmm1, xmm0
divss xmm1, xmm2
movaps xmm0, xmm1
ret
Function at 0x1401d8440
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x1400
call fcn.140233e90
sub rsp, rax
movaps xmmword [rsp + 0x13f0], xmm6
movaps xmmword [rsp + 0x13e0], xmm7
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x13d0], rax
mov rsi, rdx
mov rdi, rcx
call fcn.14003e950
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov edx, 0x20
lea rcx, [rsp + 0x20]
call fcn.140022250
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0x18
mov qword [rsp + 0x38], 0x1f
movups xmm0, xmmword [str.telemetry.disableCulling]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x14039d3d0]
movsd qword [rax + 0x10], xmm0
mov byte [rax + 0x18], 0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140139b90
movzx ebx, al
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1401d853f
inc rdx
mov rcx, qword [rsp + 0x20]
cmp rdx, 0x1000
jb 0x1401d853a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401d861a
mov rcx, r8
call fcn.140233b10
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x20], 0
test bl, bl
jne 0x1401d8616
cmp byte [rsi + 0x5d], bl
jne 0x1401d8616
xorps xmm7, xmm7
comiss xmm7, dword [rdi + 0x40]
jae 0x1401d8616
movss xmm0, dword [rdi + 0x40]
movss xmm6, dword [0x1403967a4]
comiss xmm0, xmm6
jae 0x1401d8621
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
movabs rax, 0x5555555555555555
mov qword [rsp + 0x13c8], rax
mov qword [rsp + 0x48], rdx
mov ecx, 1
movabs r8, 0x5851f42d4c957f2d
nop word [rax + rax]
mov rax, rdx
shr rax, 0x3e
xor rdx, rax
imul rdx, r8
add rdx, rcx
mov qword [rsp + rcx*8 + 0x48], rdx
inc rcx
cmp rcx, 0x138
jb 0x1401d85c0
mov dword [rsp + 0x40], 0x138
lea rcx, [rsp + 0x40]
call fcn.1401d8240
addss xmm0, xmm7
comiss xmm0, dword [rdi + 0x40]
jb 0x1401d8621
subss xmm6, dword [rdi + 0x40]
movss xmm0, dword [rdi + 0x40]
divss xmm0, xmm6
addss xmm0, dword [rsi + 0x54]
movss dword [rsi + 0x54], xmm0
xor al, al
jmp 0x1401d8623
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov al, 1
mov rcx, qword [rsp + 0x13d0]
xor rcx, rsp
call fcn.140233ef0
lea r11, [rsp + 0x1400]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1401dd770
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x30], esi
movsd xmm0, qword [0x14039d3e0]
divsd xmm0, xmm1
mulsd xmm0, qword [0x140395228]
cvttsd2si eax, xmm0
cdqe
cmp dword [rcx + 0xd8], esi
jne 0x1401dd84b
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
lea ecx, [rsi + 0x10]
call fcn.140233ad4
test rax, rax
je 0x1401dd7cf
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rax], xmm0
jmp 0x1401dd7d2
mov rax, rsi
mov qword [rsp + 0x70], rax
mov ebx, 1
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x1401dbfb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1401dd85e
mov qword [rsp + 0x70], rsi
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
cmp dword [rdi + 0xd8], 0
je 0x1401dd828
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
xorps xmm0, xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movups xmmword [rdi + 0xd0], xmm1
cmp dword [rsp + 0x48], 0
je 0x1401dd84b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
mov dword [rsp + 0x48], esi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3