joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180002c40
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov dword [rsp + 0x2c], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x1800a16e8], eax
je 0x180002c6e
mov eax, 0x10dd
jmp 0x180002e72
cmp dword [0x1800a16ec], 0
je 0x180002c82
mov eax, dword [0x1800a16ec]
jmp 0x180002e72
cmp qword [rsp + 0x70], 0
jne 0x180002c94
mov eax, 6
jmp 0x180002e72
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x180002cc6
mov dword [rsp + 0x2c], 6
mov eax, dword [rsp + 0x2c]
mov dword [0x1800a16ec], eax
mov rax, qword [rsp + 0x70]
mov qword [0x1800a16f0], rax
mov eax, dword [rsp + 0x2c]
jmp 0x180002e72
mov ecx, 0x30
call fcn.180069dac
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x180002d33
mov dword [rsp + 0x2c], 8
mov eax, dword [rsp + 0x2c]
mov dword [0x1800a16ec], eax
cmp qword [rsp + 0x40], 0
je 0x180002d1e
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.18006a3dc
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x70]
mov qword [0x1800a16f0], rax
mov eax, dword [rsp + 0x2c]
jmp 0x180002e72
xor edx, edx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
call fcn.180001000
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.180001000
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x3e]
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x48]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
cmp dword [rsp + 0x28], 0
je 0x180002d90
movsxd rax, dword [rsp + 0x28]
cmp rax, 0x1e
jbe 0x180002dad
mov dword [rsp + 0x2c], 9
cmp dword [0x1800a16e0], 0
je 0x180002da8
jmp 0x180002cf9
jmp 0x180002cef
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
cmp qword [rax + 0x50], rcx
je 0x180002dda
mov dword [rsp + 0x2c], 9
cmp dword [0x1800a16e0], 0
je 0x180002dd5
jmp 0x180002cf9
jmp 0x180002cef
mov dword [rsp + 0x38], 0
movsxd rax, dword [rsp + 0x28]
lea r9, [rsp + 0x38]
mov r8d, 0x40
mov rdx, rax
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180002e13
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x2c], eax
jmp 0x180002cef
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x38]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x40]
mov rcx, qword [0x1800a1700]
mov qword [rax], rcx
mov rax, qword [rsp + 0x40]
mov qword [0x1800a1700], rax
xor eax, eax
add rsp, 0x68
ret
Function at 0x180009f10
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov rax, qword [0x1800a1030]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x60
xor eax, eax
mov byte [rsp + 0x24], 4
mov r9, rcx
mov byte [rsp + 0x25], 1
xor edx, edx
mov byte [rsp + 0x26], 0x19
mov byte [rsp + 0x27], 0x1a
mov byte [rsp + 0x28], 0x10
mov byte [rsp + 0x29], 0xc
mov byte [rsp + 0x2a], 1
mov byte [rsp + 0x2b], 0x19
mov byte [rsp + 0x2c], 5
mov byte [rsp + 0x2d], 0x12
mov byte [rsp + 0x2e], al
movzx eax, byte [rsp + 0x24]
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x24]
mov ecx, dword [rsp + 0x20]
xor cl, al
mov byte [rsp + rdx + 0x24], cl
inc rdx
cmp rdx, 0xa
jb 0x180009f70
mov byte [rsp + 0x2e], 0
lea rcx, [rsp + 0x24]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180009fa0
cmp qword [r9 + 0x18], 0x10
mov r8, qword [r9 + 0x10]
jb 0x180009fb7
mov r9, qword [r9]
cmp r8, rax
jne 0x180009fe1
lea rdx, [rsp + 0x24]
mov rcx, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180009fe1
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180069970
add rsp, 0x48
ret
xor al, al
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180069970
add rsp, 0x48
ret
Function at 0x18002e4c0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 3
jb 0x18002e4d0
mov byte [rcx + 7], 0
ret

Function at 0x18002e520
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xd
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e530
mov byte [rcx + 0x11], r10b
ret

Function at 0x18002e550
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0x27
jb 0x18002e560
mov byte [rcx + 0x2b], 0
ret

Function at 0x18002e5e0
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0x3a
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e5f0
mov byte [rcx + 0x3e], r10b
ret

Function at 0x18002e610
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 7
jb 0x18002e620
mov byte [rcx + 0xb], 0
ret

Function at 0x18002e640
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xb
jb 0x18002e650
mov byte [rcx + 0xf], 0
ret

Function at 0x18002e670
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0x13
jb 0x18002e680
mov byte [rcx + 0x17], 0
ret

Function at 0x18002e6d0
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 7
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e6e0
mov byte [rcx + 0xb], r10b
ret

Function at 0x18002e730
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 5
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e740
mov byte [rcx + 9], r10b
ret

Function at 0x18002e790
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xd
jb 0x18002e7a0
mov byte [rcx + 0x11], 0
ret
Function at 0x18002e7c0
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xc
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e7d0
mov byte [rcx + 0x10], r10b
ret

Function at 0x18002e7f0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xf
jb 0x18002e800
mov byte [rcx + 0x13], 0
ret

Function at 0x18002e820
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 2
jb 0x18002e830
mov byte [rcx + 6], 0
ret

Function at 0x18002e880
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0x10
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002e890
mov byte [rcx + 0x14], r10b
ret

Function at 0x18002e8b0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0x10
jb 0x18002e8c0
mov byte [rcx + 0x14], 0
ret

Function at 0x18002e8e0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 9
jb 0x18002e8f0
mov byte [rcx + 0xd], 0
ret

Function at 0x18002eb00
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xe
jb 0x18002eb10
mov byte [rcx + 0x12], 0
ret

Function at 0x18002eb30
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xf
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002eb40
mov byte [rcx + 0x13], r10b
ret

Function at 0x18002eb90
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xb
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002eba0
mov byte [rcx + 0xf], r10b
ret

Function at 0x18002ebc0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xc
jb 0x18002ebd0
mov byte [rcx + 0x10], 0
ret
Function at 0x18002ed40
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 9
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002ed50
mov byte [rcx + 0xd], r10b
ret

Function at 0x18002ef00
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0x2c
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002ef10
mov byte [rcx + 0x30], r10b
ret

Function at 0x18002efc0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0x2c
jb 0x18002efd0
mov byte [rcx + 0x30], 0
ret

Function at 0x18002f020
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 6
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f030
mov byte [rcx + 0xa], r10b
ret

Function at 0x18002f050
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 6
jb 0x18002f060
mov byte [rcx + 0xa], 0
ret

Function at 0x18002f080
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0xa
jb 0x18002f090
mov byte [rcx + 0xe], 0
ret

Function at 0x18002f170
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xa
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f180
mov byte [rcx + 0xe], r10b
ret

Function at 0x18002f290
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 4
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f2a0
mov byte [rcx + 8], r10b
ret

Function at 0x18002f2c0
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 2
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f2d0
mov byte [rcx + 6], r10b
ret

Function at 0x18002f380
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 4
jb 0x18002f390
mov byte [rcx + 8], 0
ret
Function at 0x18002f470
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 8
jb 0x18002f480
mov byte [rcx + 0xc], 0
ret

Function at 0x18002f500
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 8
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f510
mov byte [rcx + 0xc], r10b
ret

Function at 0x18002f560
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 5
jb 0x18002f570
mov byte [rcx + 9], 0
ret

Function at 0x18002f5c0
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
lea rax, [rcx + 4]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, dword [rcx]
add r9b, dl
xor r9b, r8b
mov byte [rax + rdx], r9b
inc rdx
cmp rdx, 0x1c
jb 0x18002f5d0
mov byte [rcx + 0x20], 0
ret

Function at 0x18002f620
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 3
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f630
mov byte [rcx + 7], r10b
ret

Function at 0x18002f740
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rcx + 4]
mov r10d, 0xe
mov rdx, rax
nop dword [rax]
movzx r8d, byte [rdx]
lea rdx, [rdx + 1]
mov r9d, dword [rcx]
xor r9b, r8b
mov byte [rdx - 1], r9b
sub r10, 1
jne 0x18002f750
mov byte [rcx + 0x12], r10b
ret
Function at 0x180030b60
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
movzx r9d, byte [r8 + 0x10]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [r8 + 0x11]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 0x12]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 0x13]
xor r9, rax
imul r9, rcx
mov rdx, qword [0x1800a6e10]
and rdx, r9
shl rdx, 4
add rdx, qword [0x1800a6df8]
mov rax, qword [rdx]
cmp qword [rdx + 8], r8
jne 0x180030bee
cmp rax, r8
jne 0x180030be4
mov rax, qword [0x1800a6de8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x180030bf9
mov rax, qword [r8 + 8]
mov qword [rdx + 8], rax
jmp 0x180030bf9
cmp rax, r8
jne 0x180030bf9
mov rax, qword [r8]
mov qword [rdx], rax
mov rbx, qword [r8]
dec qword [0x1800a6df0]
mov rax, qword [r8 + 8]
mov qword [rax], rbx
mov rax, qword [r8 + 8]
mov qword [rbx + 8], rax
mov edx, 0x18
mov rcx, r8
call fcn.180069990
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x180031340
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1800a1030]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x180031413
cmp byte [rcx + 0x71], 0
je 0x180031413
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x18003140f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x1800313d4
sub eax, 1
je 0x1800313d8
cmp eax, 2
jne 0x18003140f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180069970
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x180031406
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x18003140f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1800313bc
xor al, al
jmp 0x1800313bc
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180069970
add rsp, 0x60
pop rbx
ret
Function at 0x180033dd0
Capabilities:
Hash data using fnv

Disassembly:
movzx r8d, byte [rdx]
movabs rcx, 0x100000001b3
mov r9, rdx
movabs rax, 0xcbf29ce484222325
xor r8, rax
movzx eax, byte [rdx + 1]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 2]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 3]
mov rdx, qword [0x1800a6e70]
imul r8, rcx
xor r8, rax
imul r8, rcx
and rdx, r8
shl rdx, 4
add rdx, qword [0x1800a6e58]
mov rax, qword [rdx + 8]
cmp rax, qword [0x1800a6e48]
je 0x180033e55
mov ecx, dword [r9]
mov rdx, qword [rdx]
cmp ecx, dword [rax + 0x10]
je 0x180033e57
cmp rax, rdx
je 0x180033e55
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180033e40
test rax, rax
setne al
ret
xor eax, eax
test rax, rax
setne al
ret

Function at 0x180034020
Capabilities:
Hash data using fnv

Disassembly:
movzx r8d, byte [rdx]
movabs rcx, 0x100000001b3
mov r9, rdx
movabs rax, 0xcbf29ce484222325
xor r8, rax
movzx eax, byte [rdx + 1]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 2]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 3]
mov rdx, qword [0x1800a6e10]
imul r8, rcx
xor r8, rax
imul r8, rcx
and rdx, r8
shl rdx, 4
add rdx, qword [0x1800a6df8]
mov rax, qword [rdx + 8]
cmp rax, qword [0x1800a6de8]
je 0x1800340a5
mov ecx, dword [r9]
mov rdx, qword [rdx]
cmp ecx, dword [rax + 0x10]
je 0x1800340a7
cmp rax, rdx
je 0x1800340a5
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180034090
test rax, rax
setne al
ret
xor eax, eax
test rax, rax
setne al
ret

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

Disassembly:
push rbx
sub rsp, 0x30
cmp qword [r8 + 0x18], 0x10
mov rbx, rdx
mov r11, qword [r8 + 0x10]
mov r10, r8
jb 0x18003439a
mov r10, qword [r8]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r11, r11
je 0x1800343d4
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r10]
inc rcx
xor r9, rax
imul r9, rdx
cmp rcx, r11
jb 0x1800343c0
lea rdx, [rsp + 0x20]
call fcn.180037d30
mov rcx, qword [rax + 8]
mov rax, qword [0x1800a2218]
test rcx, rcx
cmovne rax, rcx
mov qword [rbx], rax
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x1800347f0
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, byte [r8]
movabs rcx, 0x100000001b3
mov r10, rdx
movabs rax, 0xcbf29ce484222325
mov rdx, qword [0x1800a6e10]
xor r9, rax
movzx eax, byte [r8 + 1]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
imul r9, rcx
and rdx, r9
mov r9, qword [0x1800a6de8]
shl rdx, 4
add rdx, qword [0x1800a6df8]
mov rax, qword [rdx + 8]
cmp rax, r9
je 0x180034880
mov ecx, dword [r8]
mov rdx, qword [rdx]
cmp ecx, dword [rax + 0x10]
je 0x180034874
cmp rax, rdx
je 0x180034880
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180034866
test rax, rax
je 0x180034880
mov qword [r10], rax
mov rax, r10
ret
mov qword [r10], r9
mov rax, r10
ret
Function at 0x180035f50
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1800a6e50]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1800a6e78]
js 0x180035f74
cvtsi2ss xmm0, rcx
jmp 0x180035f89
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1800a6e40]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x18009623c]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x180035fbb
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180035fbb
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 0x180035fed
cmp rbx, 0x200
jae 0x180035fea
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x180035fed
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x180036880
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1800368bf
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]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [0x1800a6e48]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [0x1800a6e58]
call fcn.180031d00
lea rax, [rdi - 1]
mov qword [0x1800a6e70], rax
mov qword [0x1800a6e78], rdi
lea rax, [0x1800a6e40]
mov qword [rsp + 0x30], rax
mov rcx, qword [0x1800a6e48]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x180036a05
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov rdx, qword [rdx]
movzx r11d, byte [rcx + 0x10]
xor r11, rsi
imul r11, rdi
movzx eax, byte [rcx + 0x11]
xor r11, rax
imul r11, rdi
movzx eax, byte [rcx + 0x12]
xor r11, rax
imul r11, rdi
movzx eax, byte [rcx + 0x13]
xor r11, rax
imul r11, rdi
and r11, qword [0x1800a6e70]
shl r11, 4
add r11, qword [0x1800a6e58]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180036984
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1800369f9
mov rax, qword [r11 + 8]
mov r8d, dword [rcx + 0x10]
cmp r8d, dword [rax + 0x10]
jne 0x1800369c1
mov r8, qword [rax]
cmp r8, rcx
je 0x1800369bb
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1800369f9
cmp r9, rax
je 0x1800369d5
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
je 0x180036a1e
cmp r9, rax
jne 0x1800369c6
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x180036931
mov qword [rsp + 0x30], 0
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
jmp 0x1800369f9