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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x140018bcf
mov rsi, rbx
cmp word [rax], bp
je 0x140018b8e
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140018b78
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x140018b74
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140016378
mov rdi, rax
test rax, rax
je 0x140018bbc
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.14000d510
mov rbp, rdi
xor ecx, ecx
call fcn.140015488
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14001ad3c
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x14001ad52
mov al, 1
jmp 0x14001adb2
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x14001ad63
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x14001adb0
mov ecx, dword [rcx + 0x18]
nop
call fcn.140018e90
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14001adb0
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x14001adb0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x14001adb0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x14001adb2
xor al, al
add rsp, 0x20
pop rbx
ret

Function at 0x14001efd0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14001eff8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14001eff8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140021b4c
Capabilities:
Access peb ldr_data

Disassembly:
push rdx
push rcx
push r14
sub rdx, rdx
add rdx, 0x60
mov rcx, qword gs:[rdx]
push r15
mov rdx, rcx
add rdx, 0x10
mov r15, qword [rdx]
mov r14, qword [rcx + 0x18]
add r14, 0x10
mov rcx, qword [r14]
push r11
mov r14, rcx
add r14, 0x30
mov rdx, qword [r14]
test rdx, rdx
je 0x140021bac
mov r14, qword [rcx + 0x60]
mov r11, qword [r14]
and r11d, 0xdf00df
mov r14, qword [r14 + 0xb]
add r14d, r11d
shr r14d, 2
sub r14d, 0xc914cd2
test r14, r14
je 0x140021bb4
mov rcx, qword [rcx]
jmp 0x140021b74
mov ecx, dword [rdx + 0x3c]
add rcx, 0x10
add rcx, rdx
mov r14d, dword [rcx + 0x78]
add r14, rdx
push rsi
mov r11d, dword [r14 + 0x20]
add r11, rdx
mov esi, dword [r11]
add rsi, rdx
mov ecx, dword [rsi + 0xb]
add ecx, 0xff8b9c9b
test ecx, ecx
jne 0x140021be2
jmp 0x140021bf0
inc r11
inc r11
inc r11
inc r11
jmp 0x140021bcd
mov ecx, dword [r14 + 0x20]
sub r11, rdx
sub r11, rcx
shr r11d, 1
mov ecx, dword [r14 + 0x24]
add rcx, rdx
add rcx, r11
mov r11d, dword [rcx]
and r11d, 0xffff
shl r11d, 2
mov ecx, dword [r14 + 0x1c]
add rcx, r11
add rcx, rdx
mov r11d, dword [rcx]
add r11, rdx
movabs rcx, 0xa8000
add rcx, r15
push rdx
push r15
push rcx
push rsi
push rsi
push rsi
mov r8d, 0x40
mov r9, rsp
mov edx, 0x7c000
call r11
pop r14
pop rsi
pop rsi
pop rcx
pop r15
mov r14d, 0x209e0
push r11
movabs rdx, 0x5427
mov r11d, 0x13
imul edx, r11d
mov r11d, 0x3721
add r11, r15
add rdx, r11
call fcn.140021c9e
mov edx, 0x88e06
mov ecx, 0xce000
add rcx, r15
mov r14d, 0x3760
add rdx, r15
call fcn.140021c9e
pop r11
jmp 0x140021cd6
mov r14d, 0x2d3

Function at 0x140025b3c
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x14002599b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14002599b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14002599b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14002599b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14002599b
cmp dword [rcx + 0x84], 0xe
jbe 0x14002599b
cmp dword [rcx + 0xf8], 0
je 0x14002599b
mov ecx, ebx
call fcn.140025a58
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140025828
nop
cmp dword [rbp + 0x20], 0
je 0x1400259e9
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.1400259f4
int3
xor r8d, r8d
xor edx, edx
jmp 0x14002592c
Function at 0x180057050
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x1800570d7
mov rbx, r15
mov rbp, r15
jmp 0x18005711a
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1800570f1
cmp rbx, rcx
je 0x180057114
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1800570e3
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rsi + 0x10], rax
jne 0x180057138
lea rcx, [0x18026c190]
call qword [fcn.18024b438]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.18022bad0
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r13]
mov dword [rdi + 0x10], eax
xor r13d, r13d
mov dword [rdi + 0x14], r13d
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18005717a
cvtsi2ss xmm0, rcx
jmp 0x18005718f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800571a2
cvtsi2ss xmm1, rcx
jmp 0x1800571b7
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x180057216
mov rcx, rsi
call fcn.180057430
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
je 0x180057209
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x180057206
mov rbx, rax
cmp rax, rdx
je 0x18005724a
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800571f5
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x180057251
mov qword [rcx + rax*8], rdi
jmp 0x180057263
mov qword [rsp + 0x20], rax
jmp 0x18005720e
cmp r8, rbp
jne 0x18005725c
mov qword [rcx + rax*8], rdi
jmp 0x180057268
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180057268
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x1800570f9
Function at 0x1800574e0
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180057515
lea rcx, [0x18026c1b0]
call qword [fcn.18024b438]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800568c0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180057656
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800575d0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180057645
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18005760d
mov r10, qword [rdx]
cmp r10, rax
je 0x180057607
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 0x180057645
cmp r9, rdx
je 0x180057621
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180057667
cmp r9, rdx
jne 0x180057612
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
jne 0x180057580
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
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 0x180057645
Function at 0x1800602f0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x180060377
mov rbx, r15
mov rbp, r15
jmp 0x1800603ba
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x180060391
cmp rbx, rcx
je 0x1800603b4
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180060383
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rsi + 0x10], rax
jne 0x1800603d8
lea rcx, [0x18026c190]
call qword [fcn.18024b438]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.18022bad0
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r13]
mov dword [rdi + 0x10], eax
mov byte [rdi + 0x14], 0
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x180060417
cvtsi2ss xmm0, rcx
jmp 0x18006042c
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18006043f
cvtsi2ss xmm1, rcx
jmp 0x180060454
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x1800604c1
mov rcx, rsi
call fcn.180057430
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
jne 0x180060491
mov qword [rsp + 0x28], 0
jmp 0x1800604b4
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x1800604b1
nop dword [rax]
mov rbx, rax
cmp rax, rdx
je 0x1800604f5
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800604a0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x180060505
mov qword [rcx + rax*8], rdi
jmp 0x180060517
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x1800604b9
cmp r8, rbp
jne 0x180060510
mov qword [rcx + rax*8], rdi
jmp 0x18006051c
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18006051c
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x180060399
Function at 0x1800b0770
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1800b07a5
lea rcx, [0x18026c1b0]
call qword [fcn.18024b438]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800b0170
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800b08e6
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800b0860
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800b08d5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800b089d
mov r10, qword [rdx]
cmp r10, rax
je 0x1800b0897
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 0x1800b08d5
cmp r9, rdx
je 0x1800b08b1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800b08f7
cmp r9, rdx
jne 0x1800b08a2
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
jne 0x1800b0810
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
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 0x1800b08d5
Function at 0x180146f90
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180146fc5
lea rcx, [0x18026c1b0]
call qword [fcn.18024b438]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800568c0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180147134
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rbp
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x14]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x15]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x16]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x17]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1801470a9
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180147123
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x1801470e6
mov r10, qword [rdx]
cmp r10, rax
je 0x1801470e0
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 0x180147123
cmp r9, rdx
je 0x1801470ff
nop dword [rax + rax]
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x180147145
cmp r9, rdx
jne 0x1801470f0
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
jne 0x180147030
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
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 0x180147123
Function at 0x18015d5b0
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, byte [r8]
movabs rcx, 0x100000001b3
mov r10, rdx
movabs rax, 0xcbf29ce484222325
mov rdx, qword [0x18045ac50]
xor r9, rax
movzx eax, byte [r8 + 1]
mov r11, r8
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
mov r8, qword [0x18045ac28]
imul r9, rcx
xor r9, rax
imul r9, rcx
and rdx, r9
shl rdx, 4
add rdx, qword [0x18045ac38]
mov rax, qword [rdx + 8]
cmp rax, r8
je 0x18015d64c
mov ecx, dword [r11]
mov rdx, qword [rdx]
cmp ecx, dword [rax + 0x10]
je 0x18015d64e
nop dword [rax]
cmp rax, rdx
je 0x18015d64c
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18015d630
test rax, rax
cmovne r8, rax
mov rax, r10
mov qword [r10], r8
ret
xor eax, eax
test rax, rax
cmovne r8, rax
mov rax, r10
mov qword [r10], r8
ret
Function at 0x18015d6a0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx r15d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
movzx eax, byte [r8 + 1]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 2]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 3]
xor r15, rax
imul r15, rcx
mov rcx, qword [0x18045ac50]
and rcx, r15
add rcx, rcx
mov rax, qword [0x18045ac38]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [0x18045ac28]
cmp rbx, r14
jne 0x18015d72a
mov rbx, r14
mov rbp, r14
jmp 0x18015d769
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x18015d744
cmp rbx, rcx
je 0x18015d763
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18015d736
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0x492492492492492
cmp qword [0x18045ac30], rax
jne 0x18015d78a
lea rcx, [0x18026c190]
call qword [fcn.18024b438]
int3
lea rax, [0x18045ac28]
mov qword [rsp + 0x20], rax
xor r13d, r13d
mov qword [rsp + 0x28], r13
lea ecx, [r13 + 0x38]
call fcn.18022bad0
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r12]
mov dword [rdi + 0x10], eax
xorps xmm0, xmm0
movups xmmword [rdi + 0x18], xmm0
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x30], 0xf
mov byte [rdi + 0x18], r13b
mov rdx, qword [0x18045ac30]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x18015d7e7
cvtsi2ss xmm0, rcx
jmp 0x18015d7fc
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x18045ac58]
xorps xmm1, xmm1
test rcx, rcx
js 0x18015d812
cvtsi2ss xmm1, rcx
jmp 0x18015d827
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x18045ac20]
seta al
test al, al
je 0x18015d898
call fcn.18015d910
mov rcx, qword [0x18045ac50]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x18045ac38]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x18045ac28]
cmp rax, rbx
je 0x18015d884
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x18015d881
nop
mov rbx, rax
cmp rax, rdx
je 0x18015d8db
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18015d870
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov rdx, qword [0x18045ac30]
mov r8, qword [rbx + 8]
inc rdx
mov qword [0x18045ac30], rdx
mov qword [rdi], r14
mov qword [rdi + 8], r8
mov qword [r8], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x18045ac38]
mov rax, qword [0x18045ac50]
and rax, r15
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x18045ac28]
jne 0x18015d8e2
mov qword [rcx + rax*8], rdi
jmp 0x18015d8f4
mov qword [rsp + 0x20], rax
jmp 0x18015d889
cmp rdx, rbp
jne 0x18015d8ed
mov qword [rcx + rax*8], rdi
jmp 0x18015d8f9
cmp qword [rcx + rax*8 + 8], r8
jne 0x18015d8f9
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x18015d74b