joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400cbac0
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
cmp qword [rcx], 0
mov rdi, r9
mov rbx, r8
mov rbp, rdx
mov r14, rcx
je 0x1400cbaf2
mov rcx, qword [rcx]
call fcn.1400cc6a0
call fcn.1400cb6d0
xor r15d, r15d
mov rsi, rax
mov ecx, r15d
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x18], r15
mov qword [rax + 0x38], r15
xor eax, eax
mov dword [rsi + 0x48], eax
xchg dword [rsi + 0x48], ecx
mov qword [r14], rsi
lock inc dword [rsi + 0x48]
lock inc dword [rsi + 0x48]
lock inc dword [rsi + 0x48]
mov rax, qword [rsp + 0x70]
mov qword [rsi], r15
mov qword [rsi + 0x28], rbx
lea rbx, [r15 - 1]
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x20], rbp
test rdi, rdi
je 0x1400cbb49
mov rax, qword [rdi + 0x20]
jmp 0x1400cbb4c
mov rax, rbx
mov qword [rsi + 0x10], rax
test rdi, rdi
je 0x1400cbb5a
mov edx, dword [rdi + 8]
jmp 0x1400cbb5d
mov edx, r15d
lea rax, [rsi + 8]
mov r9, rsi
mov qword [rsp + 0x28], rax
lea r8, [0x1400cc8f0]
xor ecx, ecx
mov dword [rsp + 0x20], 4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rbp, rax
test rax, rax
je 0x1400cbc9b
mov qword [rsi], rax
test rdi, rdi
je 0x1400cbbaa
mov rdx, qword [rdi + 0x18]
cmp qword [r14], r15
je 0x1400cbbaa
test rdx, rdx
je 0x1400cbbaa
mov rcx, qword [r14]
call fcn.1400ccd60
mov qword [rsi + 0x30], rbp
test rdi, rdi
je 0x1400cbc7b
cmp dword [rdi + 0x10], r15d
je 0x1400cbbc8
mov edx, dword [rdi + 0x10]
mov rcx, r14
call fcn.1400ccb50
movzx edx, byte [rdi + 0x28]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
cmp dword [rdi + 0x14], r15d
jl 0x1400cbbf2
mov ebx, dword [rdi + 0x14]
mov eax, dword [0x140401b3c]
nop
cmp ebx, eax
jne 0x1400cbc5a
lock inc dword [0x140401b3c]
jmp 0x1400cbc5a
cmp dword [rdi + 0x14], 0xfffffffe
je 0x1400cbc5a
mov eax, dword [0x140401b40]
nop
test eax, eax
js 0x1400cbc0c
mov ebx, dword [0x140401b40]
nop
jmp 0x1400cbc5a
mov eax, dword [0x140401b40]
nop
cmp eax, ebx
jne 0x1400cbc20
mov ebx, dword [0x140401b40]
nop
jmp 0x1400cbc5a
mov rcx, qword [0x140401b48]
nop
nop dword [rax + rax]
mov ebx, 1
lock xadd dword [0x140401b3c], ebx
inc ebx
cmp ebx, 0x40
jne 0x1400cbc52
mov eax, ebx
lock cmpxchg dword [0x140401b3c], r15d
mov ebx, r15d
mov eax, ebx
bt rcx, rax
jae 0x1400cbc30
test rdi, rdi
je 0x1400cbc7b
cmp dword [rdi + 0x14], 0xfffffffe
jne 0x1400cbc7b
mov rax, qword [r14]
cmp qword [rax], r15
je 0x1400cbc85
mov rdx, qword [rdi + 0x20]
mov rcx, rax
call fcn.1400ccca0
jmp 0x1400cbc85
mov edx, ebx
mov rcx, r14
call fcn.1400ccc00
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call fcn.1400cc6a0
mov rax, rbp
jmp 0x1400cbcb8
mov rcx, rsi
call fcn.1400cc6a0
mov rcx, rsi
call fcn.1400cc6a0
mov rcx, rsi
call fcn.1400cc6a0
xor eax, eax
mov qword [r14], r15
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x1400cbe40
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
mov eax, dword [0x140401b8c]
test eax, eax
jne 0x1400cbe75
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x40]
mov dword [0x140401b8c], eax
add rsp, 0x58
ret

Function at 0x1400cbf60
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov ecx, dword [0x1403dbcc0]
cmp ecx, 0xffffffff
je 0x1400cbf7a
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x1400cbfe7
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x40], rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], 2
lea r9, [rsp + 0x50]
mov rcx, rax
mov dword [rsp + 0x28], 1
mov r8, rbx
mov dword [rsp + 0x20], 0
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
test eax, eax
je 0x1400cbfe2
mov rcx, qword [rsp + 0x50]
mov dl, 1
call fcn.1400cc9a0
mov rax, qword [rsp + 0x50]
add rsp, 0x48
ret
Function at 0x1400cc9a0
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
cmp dword [0x1403dbcc0], 0xffffffff
movzx esi, dl
mov rbp, rcx
jne 0x1400cc9cb
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1403dbcc0], eax
cmp eax, 0xffffffff
je 0x1400ccafe
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x20], r14
call fcn.1400cc2b0
lea rcx, [0x140401b10]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
lea r14, [0x140401710]
mov edi, ebx
mov rcx, qword [rdi + r14]
test rcx, rcx
je 0x1400cca2b
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], ebx
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x1400cca1d
cmp dword [rsp + 0x50], 0x103
je 0x1400cca2b
mov rcx, qword [rdi + r14]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + r14], rbx
add rdi, 8
cmp rdi, 0x400
jb 0x1400cc9f7
lea rcx, [0x140401b10]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test sil, sil
je 0x1400ccae0
test rbp, rbp
je 0x1400cca89
call fcn.1400cc2b0
lea rcx, [0x140401b10]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [r14 + rbx*8], 0
je 0x1400cca83
inc rbx
cmp rbx, 0x80
jb 0x1400cca65
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400ccad3
mov qword [r14 + rbx*8], rbp
jmp 0x1400ccad3
mov ecx, dword [0x1403dbcc0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rax, rax
je 0x1400ccae0
call fcn.1400cc2b0
lea rcx, [0x140401b10]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, rbx
cmp qword [r14 + rdi*8], rsi
je 0x1400ccac6
inc rdi
cmp rdi, 0x80
jb 0x1400ccab2
jmp 0x1400ccad3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14 + rdi*8], rbx
lea rcx, [0x140401b10]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x1403dbcc0]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
add rsp, 0x28
pop rsi
pop rbp
ret

Function at 0x1400ccca0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov r9, qword [rcx]
lea rax, [0x1403dbcc8]
mov rdi, rdx
mov rsi, rcx
xor r8d, r8d
cmp qword [rax], r9
je 0x1400cccdf
add r8, 0x90
add rax, 0x90
cmp r8, 0x4800
jb 0x1400cccc2
jmp 0x1400ccce3
mov qword [rax + 0x10], rdi
mov ecx, dword [0x140401b8c]
test ecx, ecx
jne 0x1400ccd14
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0x40]
mov dword [0x140401b8c], ecx
mov ebx, 1
shl rbx, cl
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
mov rcx, qword [rsi]
test eax, eax
cmovne rbx, qword [rsp + 0x68]
and rbx, rdi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x1400d2950
Capabilities:
Hash data using fnv

Disassembly:
cmp rdx, r8
je 0x1400d2b56
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, r8
mov rdi, rdx
mov rbx, rcx
lea r15, [rcx + 8]
movabs r9, 0x492492492492492
xor r13d, r13d
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx ebp, byte [rdi]
xor rbp, rax
imul rbp, rcx
movzx eax, byte [rdi + 1]
xor rbp, rax
imul rbp, rcx
movzx eax, byte [rdi + 2]
xor rbp, rax
imul rbp, rcx
movzx eax, byte [rdi + 3]
xor rbp, rax
imul rbp, rcx
mov r8, rbp
and r8, qword [rbx + 0x30]
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rsi, qword [r15]
cmp rdx, rsi
je 0x1400d2a16
add r8, r8
mov rcx, qword [rax + r8*8]
mov eax, dword [rdi]
cmp eax, dword [rdx + 0x10]
je 0x1400d2b2c
nop dword [rax]
cmp rdx, rcx
je 0x1400d2a13
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1400d2a00
jmp 0x1400d2b2c
mov rsi, rdx
cmp qword [rbx + 0x10], r9
je 0x1400d2b5e
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x38], r13
mov ecx, gethostname
call fcn.1401f0dd4
mov r14, rax
mov qword [rsp + 0x38], rax
lea rdx, [rax + 0x10]
mov qword [rsp + 0x78], rdx
mov ecx, dword [rdi]
mov dword [rdx], ecx
lea rcx, [rdx + 8]
lea rdx, [rdi + 8]
call fcn.14003ae50
nop
mov rcx, qword [rbx + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1400d2a70
cvtsi2ss xmm0, rcx
jmp 0x1400d2a85
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 0x1400d2a98
cvtsi2ss xmm1, rcx
jmp 0x1400d2aad
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 0x1400d2b0b
mov rcx, rbx
call fcn.1400d71d0
mov r8, rbp
and r8, qword [rbx + 0x30]
lea rcx, [r8 + r8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rax, qword [r15]
cmp rdx, rax
je 0x1400d2b01
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 0x1400d2afe
nop
cmp rdx, rcx
je 0x1400d2b57
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1400d2af0
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x38], r13
mov r9, r14
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.1400d6fc0
nop
movabs r9, 0x492492492492492
add rdi, 0x28
cmp rdi, r12
jne 0x1400d298f
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x20], rdx
jmp 0x1400d2b06
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1400e21a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400e221b
mov rax, qword [rdi + 0x38]
mov rdx, qword [rdi + 8]
shr rax, 3
cmp rax, rcx
jbe 0x1400e21d6
mov r8, rdx
mov rcx, rdi
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp fcn.1400414a0
lea rcx, [rdi + 8]
mov qword [rsp + 0x38], rbx
call fcn.14003f2b0
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rcx, qword [rdi + 8]
mov qword [rcx + 8], rcx
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.140040500
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x28], rdx
xor esi, esi
mov dword [rsp + 0x20], esi
xor r8d, r8d
lea edx, [rsi + 0x40]
mov rcx, r15
call fcn.1400e02a0
mov edi, 2
mov dword [rsp + 0x20], edi
movzx ebp, byte [r12]
mov r14d, 1
not ebp
nop dword [rax + rax]
movzx ebx, bpl
xor bl, byte [r14 + r12]
lea r14, [r14 + 1]
mov rdx, rsi
mov rcx, r15
call fcn.1400e0c10
or byte [rax], bl
movzx eax, bl
xor eax, ebp
imul ebp, eax, 0x1000193
inc rsi
cmp rsi, 0x40
jb 0x1400e2280
and edi, 0xfffffffd
mov dword [rsp + 0x20], edi
or edi, 1
mov dword [rsp + 0x20], edi
mov rax, r15
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x28], rdx
xor esi, esi
mov dword [rsp + 0x20], esi
xor r8d, r8d
lea edx, [rsi + 0x20]
mov rcx, r15
call fcn.1400e02a0
mov edi, 2
mov dword [rsp + 0x20], edi
movzx ebp, byte [r12]
mov r14d, 1
not ebp
nop dword [rax + rax]
movzx ebx, bpl
xor bl, byte [r14 + r12]
lea r14, [r14 + 1]
mov rdx, rsi
mov rcx, r15
call fcn.1400e0c10
or byte [rax], bl
movzx eax, bl
xor eax, ebp
imul ebp, eax, 0x1000193
inc rsi
cmp rsi, 0x20
jb 0x1400e2330
and edi, 0xfffffffd
mov dword [rsp + 0x20], edi
or edi, 1
mov dword [rsp + 0x20], edi
mov rax, r15
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x1400f4b80
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov r11, rcx
xor ebx, ebx
nop word [rax + rax]
mov r9, qword [r11]
cmp dword [r9], 0x270
jne 0x1400f4bf2
lea r8, [r9 + 8]
mov r10d, 0x270
nop word [rax + rax]
mov edx, dword [r8 - 4]
mov eax, dword [r8]
lea r8, [r8 + 4]
btr eax, 0x1f
and edx, 0x80000000
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x1400f4bb0
jmp 0x1400f4cda
cmp dword [r9], 0x4e0
jb 0x1400f4cda
lea r8, [r9 + 0x9c4]
mov r10d, 0xe3
nop dword [rax]
mov edx, dword [r8 + 4]
mov eax, dword [r8]
lea r8, [r8 + 4]
and eax, 0x80000000
btr edx, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
xor ecx, edx
mov dword [r8 - 0x9c4], ecx
sub r10, 1
jne 0x1400f4c10
lea rax, [r9 + 0xd50]
mov r10d, 0x18c
nop dword [rax]
mov r8d, dword [rax + 4]
mov ecx, dword [rax]
lea rax, [rax + 4]
and ecx, 0x80000000
btr r8d, 0x1f
or r8d, ecx
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax - 0xd50]
xor edx, r8d
mov dword [rax - 0x9c4], edx
sub r10, 1
jne 0x1400f4c60
mov edx, dword [r9 + 0x1380]
mov eax, dword [r9 + 4]
and edx, 0x80000000
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
mov dword [r9], ebx
mov eax, dword [r9]
mov edx, dword [r9 + rax*4 + 4]
mov ecx, edx
mov eax, dword [r9 + 0x1384]
inc dword [r9]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
cmp eax, 0xffffffff
ja 0x1400f4b90
mov rbx, qword [rsp + 8]
ret
Function at 0x1401170d0
Capabilities:
Hash data using fnv

Disassembly:
cmp rdx, r8
je 0x1401172c7
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r12, [rcx + 8]
movabs r9, 0x7ffffffffffffff
xor r13d, r13d
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx r15d, byte [rbx + 0x10]
xor r15, rax
imul r15, rcx
movzx eax, byte [rbx + 0x11]
xor r15, rax
imul r15, rcx
movzx eax, byte [rbx + 0x12]
xor r15, rax
imul r15, rcx
movzx eax, byte [rbx + 0x13]
xor r15, rax
imul r15, rcx
mov r8, qword [rsi + 0x30]
and r8, r15
lea rcx, [r8 + r8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rbp, qword [r12]
cmp rdx, rbp
je 0x140117196
add r8, r8
mov rcx, qword [rax + r8*8]
mov eax, dword [rbx + 0x10]
cmp eax, dword [rdx + 0x10]
je 0x14011729c
cmp rdx, rcx
je 0x140117193
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x140117180
jmp 0x14011729c
mov rbp, rdx
cmp qword [rsi + 0x10], r9
je 0x1401172cf
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x38], r13
mov ecx, 0x20
call fcn.1401f0dd4
mov r14, rax
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1401171dd
cvtsi2ss xmm0, rcx
jmp 0x1401171f2
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 0x140117205
cvtsi2ss xmm1, rcx
jmp 0x14011721a
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]
jbe 0x14011727b
mov rcx, rsi
call fcn.14011a6a0
mov r8, qword [rsi + 0x30]
and r8, r15
lea rcx, [r8 + r8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
mov rax, qword [r12]
cmp rdx, rax
je 0x140117271
add r8, r8
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + r8*8]
mov eax, dword [r14 + 0x10]
cmp eax, dword [rdx + 0x10]
je 0x14011726e
nop dword [rax]
cmp rdx, rcx
je 0x1401172c8
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x140117260
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
mov rbp, qword [rsp + 0x20]
mov qword [rsp + 0x38], r13
mov r9, r14
mov r8, rbp
mov rdx, r15
mov rcx, rsi
call fcn.1400d6fc0
nop
movabs r9, 0x7ffffffffffffff
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14011710f
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x20], rdx
jmp 0x140117276
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1401178f0
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 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 0x1401179c0
add r8, r8
mov rcx, qword [rax + r8*8]
mov eax, dword [r15]
cmp eax, dword [rdx + 0x10]
je 0x140117994
cmp rdx, rcx
je 0x1401179bd
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x140117986
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 rbp, rdx
movabs rax, 0x7ffffffffffffff
cmp qword [rbx + 0x10], rax
je 0x140117adb
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 + 0x20]
call fcn.1401f0dd4
mov r14, rax
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [r15]
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rbx + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x140117a18
cvtsi2ss xmm0, rcx
jmp 0x140117a2d
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 0x140117a40
cvtsi2ss xmm1, rcx
jmp 0x140117a55
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 0x140117ab2
mov rcx, rbx
call fcn.14011a6a0
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 0x140117aa8
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 0x140117aa5
cmp rdx, rcx
je 0x140117ad4
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x140117a97
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.1400d6fc0
mov qword [rdi], rax
mov byte [rdi + 8], 1
jmp 0x14011799b
mov qword [rsp + 0x20], rdx
jmp 0x140117aad
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x14011a1a0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14011a362
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
mov r8, rbx
call fcn.140040f10
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14011a320
movabs rbp, 0x100000001b3
movabs r14, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r8d, byte [rcx + 0x10]
xor r8, r14
imul r8, rbp
movzx eax, byte [rcx + 0x11]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x12]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x13]
xor r8, rax
imul r8, rbp
and r8, qword [rsi + 0x30]
mov r11, r8
shl r11, 4
add r11, qword [rsi + 0x18]
add r8, r8
mov rax, qword [rsi + 0x18]
lea rdi, [rax + r8*8]
cmp qword [r11], rbx
jne 0x14011a298
mov qword [r11], rcx
mov qword [rdi + 8], rcx
jmp 0x14011a314
mov rax, qword [rdi + 8]
mov r8d, dword [rax + 0x10]
cmp dword [rcx + 0x10], r8d
jne 0x14011a2d5
mov r8, qword [rax]
cmp r8, rcx
je 0x14011a2cf
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov rax, qword [rdx + 8]
mov qword [rax], r8
mov r9, qword [r8 + 8]
mov qword [r9], rcx
mov qword [r8 + 8], rax
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [rdi + 8], rcx
jmp 0x14011a314
cmp qword [r11], rax
je 0x14011a2f0
mov r9d, dword [rcx + 0x10]
mov r8, qword [r11]
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
je 0x14011a33c
cmp r8, rax
jne 0x14011a2e1
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14011a240
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
jmp 0x14011a314
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3