joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18005c530
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x18005c560
xor eax, eax
jmp 0x18005c623
mov rbp, rbx
cmp word [rax], si
je 0x18005c585
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x18005c56c
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x18005c568
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.18005a968
movsxd r14, eax
test eax, eax
jne 0x18005c5c3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x18005c559
mov rcx, r14
call fcn.180056adc
mov rdi, rax
test rax, rax
jne 0x18005c5dc
xor ecx, ecx
call fcn.1800554c8
jmp 0x18005c5b8
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.18005a968
test eax, eax
jne 0x18005c60d
mov rcx, rdi
call fcn.1800554c8
jmp 0x18005c617
xor ecx, ecx
call fcn.1800554c8
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x18005f398
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov ebx, ecx
call fcn.1800525a4
mov ecx, ebx
lea r8, [rsp + 0x30]
and ecx, 0x3ff
mov r9d, 2
bts ecx, 0xa
mov edx, 0x20000001
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor edx, edx
test eax, eax
je 0x18005f439
cmp ebx, dword [rsp + 0x30]
je 0x18005f432
test esi, esi
je 0x18005f432
mov r10, qword [rdi + 0x98]
mov r9d, edx
movzx r8d, word [r10]
lea rcx, [r10 + 2]
lea eax, [r8 - 0x41]
cmp ax, 0x19
jbe 0x18005f40d
sub r8w, 0x61
cmp r8w, 0x19
ja 0x18005f41a
movzx r8d, word [rcx]
inc r9d
add rcx, 2
jmp 0x18005f3f7
or rax, 0xffffffffffffffff
inc rax
cmp word [r10 + rax*2], dx
jne 0x18005f41e
cmp r9d, eax
setne dl
mov eax, edx
jmp 0x18005f43b
mov eax, 1
jmp 0x18005f43b
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x180063e88
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.180058ee4
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.180058ee4
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x180063fd8
cmp rax, 0xffffffffffffffff
je 0x180063fd8
xor edi, edi
test rbp, rbp
jle 0x180063f83
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.180055efc
mov rbx, rax
test rax, rax
jne 0x180063f10
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x180063f79
mov edx, 0x8000
mov ecx, r14d
call fcn.180063d0c
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.1800551c0
cmp eax, 0xffffffff
je 0x180063f59
cdqe
sub rbp, rax
test rbp, rbp
jg 0x180063f20
mov edx, r15d
mov ecx, r14d
call fcn.180063d0c
jmp 0x180063f79
cmp byte [rsi + 0x38], dil
je 0x180063f70
cmp dword [rsi + 0x34], 5
jne 0x180063f70
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x180063f79
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.1800554c8
jmp 0x180063fec
jns 0x180063fec
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.180058ee4
cmp rax, 0xffffffffffffffff
jne 0x180063fa4
cmp byte [rsi + 0x30], dil
je 0x180063fec
mov edi, dword [rsi + 0x2c]
jmp 0x180063fec
mov ecx, r14d
call fcn.18005ccec
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x180063fec
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x180063fec
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x180063fe5
mov eax, dword [rsi + 0x2c]
jmp 0x180063fea
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.180058ee4
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x1004039e0
Capabilities:
Encode data using xor

Disassembly:
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al

Function at 0x140001948
Capabilities:
Parse pe header

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

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140030036
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140030036
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140030036
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140030036
cmp dword [rcx + 0x84], 0xe
jbe 0x140030036
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140030038
xor al, al
add rsp, 0x28
ret
Function at 0x180095a00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push r14
sub rsp, 0x60
and dword [rax - 0x48], 0
mov rdi, rcx
mov r8d, dword [0x18034a6a0]
mov sil, dl
movaps xmmword [rax - 0x18], xmm6
movss xmm6, dword [0x18009037c]
mov dword [rax - 0x40], 0xff
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r8*8]
mov eax, dword [rcx + rax]
cmp dword [0x18034b3c0], eax
jg 0x180095bd1
movabs rbx, 0xcbf29ce484222325
xor edx, edx
mov rcx, rbx
movabs r14, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
inc rdx
xor rcx, rax
imul rcx, r14
cmp rdx, 8
jb 0x180095a77
mov rax, qword [0x18034b3b0]
mov rdx, qword [0x18034b398]
and rax, rcx
mov r9, qword [0x18034b388]
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x180095ac8
mov r8, qword [rdx + rax*8]
jmp 0x180095ac0
cmp rcx, r8
je 0x180095ac8
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095ab7
jmp 0x180095aca
xor ecx, ecx
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x180095b4b
and dword [rsp + 0x38], 0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
call fcn.18009635c
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x70]
inc rcx
xor rbx, rax
imul rbx, r14
cmp rcx, 8
jb 0x180095af4
and rbx, qword [0x18034b3b0]
mov rdx, qword [0x18034b398]
add rbx, rbx
mov rax, qword [0x18034b388]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180095b42
mov r8, qword [rdx + rbx*8]
jmp 0x180095b3a
cmp rcx, r8
je 0x180095b42
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095b31
jmp 0x180095b44
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov rcx, qword [0x18034aee0]
lea r8, [rax + 0x18]
mov edx, dword [r8]
subss xmm6, dword [rcx + 0x18]
mulss xmm6, dword [0x18009046c]
test sil, sil
je 0x180095b80
cmp edx, 0xff
jge 0x180095b96
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
jmp 0x180095b8f
test edx, edx
jle 0x180095b96
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm6
cvttss2si edx, xmm0
mov dword [r8], edx
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
lea rcx, [rsp + 0x20]
mov rsi, qword [r11 + 0x20]
lea rax, [rsp + 0x28]
mov rdi, qword [r11 + 0x28]
test edx, edx
cmovns rcx, r8
cmp edx, 0xff
cmovle rax, rcx
mov eax, dword [rax]
mov dword [r8], eax
mov rsp, r11
pop r14
ret
lea rcx, [0x18034b3c0]
call fcn.1800fc7dc
cmp dword [0x18034b3c0], 0xffffffff
jne 0x180095a5e
mov ecx, 0x20
call fcn.1800fc6f8
xorps xmm0, xmm0
lea rcx, [0x18034b398]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
and qword [0x18034b398], 0
mov qword [0x18034b388], rax
movdqa xmmword [0x18034b3a0], xmm0
mov qword [0x18034b3b0], 7
mov qword [0x18034b3b8], 8
mov dword [0x18034b380], 0x3f800000
call fcn.180095fd8
lea rcx, [0x180168840]
call fcn.1800fcbac
lea rcx, [0x18034b3c0]
call fcn.1800fc770
jmp 0x180095a5e
Function at 0x180095d08
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x50
and dword [rax - 0x38], 0
mov rdi, rcx
mov r8d, dword [0x18034a6a0]
mov sil, dl
mov dword [rax - 0x30], 0x3f800000
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r8*8]
mov eax, dword [rcx + rax]
cmp dword [0x18034b3c4], eax
jg 0x180095ecd
movabs rbx, 0xcbf29ce484222325
xor edx, edx
mov rcx, rbx
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x60]
inc rdx
xor rcx, rax
imul rcx, rbp
cmp rdx, 8
jb 0x180095d72
mov rax, qword [0x18034b370]
mov rdx, qword [0x18034b358]
and rax, rcx
mov r9, qword [0x18034b348]
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x180095dc3
mov r8, qword [rdx + rax*8]
jmp 0x180095dbb
cmp rcx, r8
je 0x180095dc3
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095db2
jmp 0x180095dc5
xor ecx, ecx
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x180095e46
and dword [rsp + 0x38], 0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
call fcn.180096118
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x60]
inc rcx
xor rbx, rax
imul rbx, rbp
cmp rcx, 8
jb 0x180095def
and rbx, qword [0x18034b370]
mov rdx, qword [0x18034b358]
add rbx, rbx
mov rax, qword [0x18034b348]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180095e3d
mov r8, qword [rdx + rbx*8]
jmp 0x180095e35
cmp rcx, r8
je 0x180095e3d
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095e2c
jmp 0x180095e3f
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov rcx, qword [0x18034aee0]
lea rdx, [rax + 0x18]
movss xmm1, dword [0x18009037c]
movss xmm0, dword [rdx]
subss xmm1, dword [rcx + 0x18]
mulss xmm1, dword [rsp + 0x80]
test sil, sil
je 0x180095e7f
comiss xmm0, dword [0x18009037c]
jae 0x180095e90
addss xmm0, xmm1
jmp 0x180095e8c
comiss xmm0, dword [0x18009025c]
jbe 0x180095e90
subss xmm0, xmm1
movss dword [rdx], xmm0
comiss xmm0, dword [0x18009025c]
mov rbx, qword [rsp + 0x68]
lea rcx, [rsp + 0x20]
mov rbp, qword [rsp + 0x70]
lea rax, [rsp + 0x28]
mov rsi, qword [rsp + 0x78]
cmovae rcx, rdx
comiss xmm0, dword [0x18009037c]
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rdx], xmm0
add rsp, 0x50
pop rdi
ret
lea rcx, [0x18034b3c4]
call fcn.1800fc7dc
cmp dword [0x18034b3c4], 0xffffffff
jne 0x180095d59
mov ecx, 0x20
call fcn.1800fc6f8
xorps xmm0, xmm0
lea rcx, [0x18034b358]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
and qword [0x18034b358], 0
mov qword [0x18034b348], rax
movdqa xmmword [0x18034b360], xmm0
mov qword [0x18034b370], 7
mov qword [0x18034b378], 8
mov dword [0x18034b340], 0x3f800000
call fcn.180095fd8
lea rcx, [0x18016884c]
call fcn.1800fcbac
lea rcx, [0x18034b3c4]
call fcn.1800fc770
jmp 0x180095d59
Function at 0x180096118
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
xor ecx, ecx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [r8 + rcx]
movabs rdx, 0x100000001b3
xor r15, rax
inc rcx
imul r15, rdx
cmp rcx, 8
jb 0x180096147
mov rax, qword [0x18034b370]
mov rcx, qword [0x18034b358]
and rax, r15
mov r14, qword [0x18034b348]
add rax, rax
mov rbx, qword [rcx + rax*8 + 8]
cmp rbx, r14
jne 0x1800961b2
mov rbx, r14
mov rbp, r14
movabs rax, 0x7ffffffffffffff
cmp qword [0x18034b350], rax
jne 0x1800961f1
lea rcx, [0x18008a080]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x1800961c4
cmp rbx, rdx
je 0x1800961e7
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800961bb
mov r14, qword [rbx]
mov rax, rbx
mov rbp, r14
mov rbx, r14
test rax, rax
je 0x180096191
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180096338
mov r14, rbx
xor eax, eax
mov rbp, rbx
jmp 0x1800961d6
mov ecx, 0x20
call fcn.1800fc6f8
movups xmm0, xmmword [r12]
mov rdi, rax
xorps xmm1, xmm1
movdqu xmmword [rax + 0x10], xmm0
mov r8, qword [0x18034b350]
lea rcx, [r8 + 1]
test rcx, rcx
js 0x180096222
cvtsi2ss xmm1, rcx
jmp 0x180096237
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [0x18034b378]
xorps xmm0, xmm0
test rcx, rcx
js 0x18009624d
cvtsi2ss xmm0, rcx
jmp 0x180096262
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x18034b340]
comiss xmm0, xmm1
jae 0x1800962d0
call fcn.1800965a0
mov rcx, qword [0x18034b370]
mov rdx, qword [0x18034b358]
and rcx, r15
mov rbx, qword [0x18034b348]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rbx
je 0x1800962bc
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x1800962b3
mov rbx, rax
cmp rax, r8
je 0x180096313
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800962a7
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, qword [rsp + 0x20]
mov rbp, rbx
mov r8, qword [0x18034b350]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x18034b350], r8
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [0x18034b370]
mov rcx, qword [0x18034b358]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x18034b348]
jne 0x18009631a
mov qword [rcx + rax*8], rdi
jmp 0x18009632c
mov qword [rsp + 0x20], rax
jmp 0x1800962c1
cmp r8, rbp
jne 0x180096325
mov qword [rcx + rax*8], rdi
jmp 0x180096331
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180096331
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rbx, qword [rsp + 0x50]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x18009635c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
xor ecx, ecx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [r8 + rcx]
movabs rdx, 0x100000001b3
xor r15, rax
inc rcx
imul r15, rdx
cmp rcx, 8
jb 0x18009638b
mov rax, qword [0x18034b3b0]
mov rcx, qword [0x18034b398]
and rax, r15
mov r14, qword [0x18034b388]
add rax, rax
mov rbx, qword [rcx + rax*8 + 8]
cmp rbx, r14
jne 0x1800963f6
mov rbx, r14
mov rbp, r14
movabs rax, 0x7ffffffffffffff
cmp qword [0x18034b390], rax
jne 0x180096435
lea rcx, [0x18008a080]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180096408
cmp rbx, rdx
je 0x18009642b
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800963ff
mov r14, qword [rbx]
mov rax, rbx
mov rbp, r14
mov rbx, r14
test rax, rax
je 0x1800963d5
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18009657c
mov r14, rbx
xor eax, eax
mov rbp, rbx
jmp 0x18009641a
mov ecx, 0x20
call fcn.1800fc6f8
movups xmm0, xmmword [r12]
mov rdi, rax
xorps xmm1, xmm1
movdqu xmmword [rax + 0x10], xmm0
mov r8, qword [0x18034b390]
lea rcx, [r8 + 1]
test rcx, rcx
js 0x180096466
cvtsi2ss xmm1, rcx
jmp 0x18009647b
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [0x18034b3b8]
xorps xmm0, xmm0
test rcx, rcx
js 0x180096491
cvtsi2ss xmm0, rcx
jmp 0x1800964a6
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x18034b380]
comiss xmm0, xmm1
jae 0x180096514
call fcn.1800967f0
mov rcx, qword [0x18034b3b0]
mov rdx, qword [0x18034b398]
and rcx, r15
mov rbx, qword [0x18034b388]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rbx
je 0x180096500
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x1800964f7
mov rbx, rax
cmp rax, r8
je 0x180096557
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800964eb
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, qword [rsp + 0x20]
mov rbp, rbx
mov r8, qword [0x18034b390]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x18034b390], r8
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [0x18034b3b0]
mov rcx, qword [0x18034b398]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x18034b388]
jne 0x18009655e
mov qword [rcx + rax*8], rdi
jmp 0x180096570
mov qword [rsp + 0x20], rax
jmp 0x180096505
cmp r8, rbp
jne 0x180096569
mov qword [rcx + rax*8], rdi
jmp 0x180096575
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180096575
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rbx, qword [rsp + 0x50]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x1800965a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rcx, qword [0x18034b350]
mov esi, 1
add rcx, rsi
xorps xmm1, xmm1
js 0x1800965ca
cvtsi2ss xmm1, rcx
jmp 0x1800965df
mov rax, rcx
and rcx, rsi
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x18034b340]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x180096612
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x180096612
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, esi
xor eax, esi
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x180090564]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x180096637
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x180096637
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x18034b378]
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18009666c
cmp rdx, 0x200
jae 0x180096669
shl rdx, 3
cmp rdx, rcx
jae 0x18009666c
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rsi
shl rax, cl
cmp rdx, rax
jbe 0x180096693
lea rcx, [0x18008a0a0]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rbx, qword [0x18034b348]
lea rax, [rdx - 1]
or rax, rsi
mov rdi, rsi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x18034b358]
lea rdx, [rdi + rdi]
call fcn.180095fd8
mov rax, qword [0x18034b348]
lea r9, [rdi - 1]
mov qword [0x18034b370], r9
mov qword [0x18034b378], rdi
mov rax, qword [rax]
mov rdx, rax
cmp rax, rbx
je 0x1800967df
mov rdx, qword [rdx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx ecx, byte [rax + r8 + 0x10]
movabs r10, 0x100000001b3
xor r11, rcx
add r8, rsi
imul r11, r10
cmp r8, 8
jb 0x1800966f8
mov rdi, qword [0x18034b358]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x180096736
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x1800967a5
mov rcx, qword [rdi + r11*8 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rcx + 0x10]
jne 0x18009677a
mov r8, qword [rcx]
cmp r8, rax
je 0x18009672f
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rcx, qword [r8 + 8]
mov qword [rcx], rax
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], rcx
jmp 0x18009672f
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
je 0x1800967b9
cmp qword [rdi + r11*8], rcx
jne 0x180096770
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], rax
mov qword [rcx + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], r8
mov qword [rdi + r11*8], rax
mov rax, rdx
cmp rdx, rbx
je 0x1800967df
mov r9, qword [0x18034b370]
jmp 0x1800966e8
mov r10, qword [rcx]
mov r9, qword [rax + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rcx, qword [r10 + 8]
mov qword [rcx], rax
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rax + 8], rcx
jmp 0x1800967a5
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1800967f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rcx, qword [0x18034b390]
mov esi, 1
add rcx, rsi
xorps xmm1, xmm1
js 0x18009681a
cvtsi2ss xmm1, rcx
jmp 0x18009682f
mov rax, rcx
and rcx, rsi
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x18034b380]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x180096862
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x180096862
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, esi
xor eax, esi
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x180090564]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x180096887
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x180096887
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x18034b3b8]
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x1800968bc
cmp rdx, 0x200
jae 0x1800968b9
shl rdx, 3
cmp rdx, rcx
jae 0x1800968bc
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rsi
shl rax, cl
cmp rdx, rax
jbe 0x1800968e3
lea rcx, [0x18008a0a0]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rbx, qword [0x18034b388]
lea rax, [rdx - 1]
or rax, rsi
mov rdi, rsi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x18034b398]
lea rdx, [rdi + rdi]
call fcn.180095fd8
mov rax, qword [0x18034b388]
lea r9, [rdi - 1]
mov qword [0x18034b3b0], r9
mov qword [0x18034b3b8], rdi
mov rax, qword [rax]
mov rdx, rax
cmp rax, rbx
je 0x180096a2f
mov rdx, qword [rdx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx ecx, byte [rax + r8 + 0x10]
movabs r10, 0x100000001b3
xor r11, rcx
add r8, rsi
imul r11, r10
cmp r8, 8
jb 0x180096948
mov rdi, qword [0x18034b398]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x180096986
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x1800969f5
mov rcx, qword [rdi + r11*8 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rcx + 0x10]
jne 0x1800969ca
mov r8, qword [rcx]
cmp r8, rax
je 0x18009697f
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rcx, qword [r8 + 8]
mov qword [rcx], rax
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], rcx
jmp 0x18009697f
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
je 0x180096a09
cmp qword [rdi + r11*8], rcx
jne 0x1800969c0
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], rax
mov qword [rcx + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], r8
mov qword [rdi + r11*8], rax
mov rax, rdx
cmp rdx, rbx
je 0x180096a2f
mov r9, qword [0x18034b3b0]
jmp 0x180096938
mov r10, qword [rcx]
mov r9, qword [rax + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rcx, qword [r10 + 8]
mov qword [rcx], rax
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rax + 8], rcx
jmp 0x1800969f5
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret