joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140003950
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14000a040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140003a23
cmp byte [rcx + 0x71], 0
je 0x140003a23
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140003a1f
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 0x1400039e4
sub eax, 1
je 0x1400039e8
cmp eax, 2
jne 0x140003a1f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140004b00
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140003a16
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 0x140003a1f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1400039cc
xor al, al
jmp 0x1400039cc
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140004b00
add rsp, 0x60
pop rbx
ret

Function at 0x140005480
Capabilities:
Parse pe header

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

Disassembly:
call fcn.140824497
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140824341
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140824327
add dl, dl
jne 0x14082434e
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408243ae
xor eax, eax
add dl, dl
jne 0x14082435d
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140824465
add dl, dl
jne 0x14082436e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14082437b
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140824388
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140824395
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1408243a2
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140824336
mov eax, 1
add dl, dl
jne 0x1408243be
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408243cb
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408243b3
sub eax, ebx
mov ebx, 1
jne 0x140824404
mov ecx, 1
add dl, dl
jne 0x1408243e6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1408243f3
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408243db
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140824336
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140824420
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14082442d
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140824415
cmp eax, 0x7d00
jae 0x140824453
cmp eax, 0x500
jb 0x14082444e
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140824336
cmp eax, 0x7f
ja 0x140824456
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140824336
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x14082448a
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140824336
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1400191a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
push r12
push r15
sub rsp, 0x58
mov rax, qword [0x14019e230]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r12, qword [rdx + 0xc0]
mov r15, qword [rdx + 0xb8]
cmp r15, r12
je 0x140019332
mov qword [r11 + 8], rbx
movabs rax, 0xcbf29ce484222325
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rsi, qword [0x1401e0a48]
mov qword [r11 - 0x18], rdi
lea rdi, [r15 + 0x10]
mov qword [r11 - 0x20], r13
movabs r13, 0x100000001b3
mov qword [r11 - 0x28], r14
nop dword [rax + rax]
cmp byte [rdi - 8], 0
je 0x1400192fd
mov r14, qword [rdi + 0x18]
mov rdx, rdi
mov rbp, qword [rdi + 0x10]
cmp r14, 0x10
jb 0x14001922e
mov rdx, qword [rdi]
xor ecx, ecx
mov r9, rax
test rbp, rbp
je 0x140019253
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r13
cmp rcx, rbp
jb 0x140019240
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.140036190
cmp qword [rax + 8], 0
jne 0x1400192f3
mov rbx, qword [0x1401e0a40]
cmp rbx, rsi
je 0x1400192b2
mov rdx, rdi
cmp r14, 0x10
jb 0x140019283
mov rdx, qword [rdi]
cmp qword [rbx + 0x18], 0x10
mov rcx, rbx
mov r8, qword [rbx + 0x10]
jb 0x140019294
mov rcx, qword [rbx]
cmp r8, rbp
jne 0x1400192a2
call fcn.1400e08a0
test eax, eax
je 0x1400192ad
add rbx, 0x20
cmp rbx, rsi
jne 0x140019277
jmp 0x1400192b2
cmp rbx, rsi
jne 0x1400192f3
cmp rsi, qword [0x1401e0a50]
je 0x1400192da
mov rdx, rdi
mov rcx, rsi
call fcn.1400215f0
mov rsi, qword [0x1401e0a48]
add rsi, 0x20
mov qword [0x1401e0a48], rsi
jmp 0x1400192f3
mov r8, rdi
lea rcx, [0x1401e0a40]
mov rdx, rsi
call fcn.14002ce20
mov rsi, qword [0x1401e0a48]
movabs rax, 0xcbf29ce484222325
sub r15, 0xffffffffffffff80
sub rdi, 0xffffffffffffff80
cmp r15, r12
jne 0x140019210
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400ddba0
add rsp, 0x58
pop r15
pop r12
ret

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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x170
mov rdi, rcx
mov r10, qword [rcx + 0x28]
lea r8, [rcx + 0x18]
cmp qword [rcx + 0x30], 0x10
jb 0x140019373
mov r8, qword [rcx + 0x18]
xor edx, edx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x1400193a4
movabs rcx, 0x100000001b3
nop
movzx eax, byte [rdx + r8]
xor r9, rax
imul r9, rcx
inc rdx
cmp rdx, r10
jb 0x140019390
lea r8, [rdi + 0x18]
lea rdx, [rsp + 0x20]
lea rcx, [0x1401e0790]
call fcn.1400357f0
cmp qword [rax + 8], 0
jne 0x140019408
lea rdx, [rdi + 0x18]
lea rcx, [rsp + 0x30]
call fcn.1400215f0
nop
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.140028790
nop
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [0x1401e0790]
call fcn.140036270
nop
lea rcx, [rsp + 0x50]
call fcn.14000a8b0
lea rcx, [rsp + 0x30]
call fcn.140024d90
mov rbx, qword [rsp + 0x180]
add rsp, 0x170
pop rdi
ret
Function at 0x14001eb80
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x30
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x14001eba2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdi
je 0x14001ec1c
mov rdi, r14
mov rcx, rbx
call fcn.140024bd0
test rax, rax
jle 0x14001ebf4
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov rax, qword [rbx + 0x38]
mov r8, rbp
mov rdx, qword [rax]
call fcn.1400dffd0
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x14001ec0c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x14001ec14
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x14001ebb6
sub r14, rdi
jmp 0x14001ed09
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x14001ec33
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14001ec35
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14001ec6a
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.1400dffd0
mov rax, qword [rbx + 0x50]
sub rbp, rdi
add rsi, rdi
mov r8, rbp
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x14001ed06
mov r9, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r9], rax
jne 0x14001eca5
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x14001ece1
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.1400ecbec
sub rbp, rax
add rsi, rax
mov rdi, rbp
cmp rax, 0xfff
jne 0x14001ed1f
cmp rbp, rax
ja 0x14001ecb1
mov r8, rdi
test rdi, rdi
je 0x14001ed06
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.1400ecbec
mov r8, rdi
sub r8, rax
sub r14, r8
mov rbp, qword [rsp + 0x28]
mov rax, r14
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
sub r14, rbp
jmp 0x14001ed09
Function at 0x14001f120
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14019e230]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14001f14d
xor eax, eax
jmp 0x14001f293
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x14001f187
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x14001f187
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x14001f293
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14001f286
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14001f1ca
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14001f1d9
movsx ecx, dil
jmp 0x14001f22d
lea r8, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov rax, qword [rcx]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x38], r8
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x30], r8
lea r8, [rsp + 0x58]
mov qword [rsp + 0x28], r8
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], r8
lea r8, [rsp + 0x50]
call qword [rax + 0x38]
test eax, eax
je 0x14001f247
sub eax, 1
je 0x14001f247
cmp eax, 2
jne 0x14001f286
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call fcn.1400e4260
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14001f28b
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14001f274
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call fcn.1400ec360
cmp rsi, rax
jne 0x14001f286
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov eax, edi
jne 0x14001f28b
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400ddba0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140028400
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
mov r8, qword [rcx]
movabs r9, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
mov qword [rsp + 0x30], r8
mov rax, r8
shr rax, 8
movzx edx, al
movzx eax, r8b
xor rax, rcx
imul rax, r9
xor rdx, rax
mov rax, r8
imul rdx, r9
shr rax, 0x10
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x18
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x20
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x28
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x30
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [0x1401e09c8]
imul rdx, r9
xor rdx, rax
imul rdx, r9
and rcx, rdx
shl rcx, 4
add rcx, qword [0x1401e09b0]
mov rax, qword [rcx + 8]
cmp rax, qword [0x1401e09a0]
je 0x140028506
mov rcx, qword [rcx]
cmp r8, qword [rax + 0x10]
je 0x1400284df
nop word [rax + rax]
cmp rax, rcx
je 0x140028506
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x1400284d0
test rax, rax
je 0x140028506
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [0x1401e0998]
call fcn.14003eb30
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
add rsp, 0x48
ret
mov rcx, r8
call fcn.140042320
add rsp, 0x48
ret

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

Disassembly:
sub rsp, 0x38
cmp qword [rdx + 0x18], 0x10
mov r8, rdx
mov r10, qword [rdx + 0x10]
jb 0x140028745
mov r8, qword [rdx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x140028774
movabs r11, 0x100000001b3
movzx eax, byte [rcx + r8]
inc rcx
xor r9, rax
imul r9, r11
cmp rcx, r10
jb 0x140028760
mov r8, rdx
lea rdx, [rsp + 0x20]
call fcn.140036190
cmp qword [rax + 8], 0
setne al
add rsp, 0x38
ret

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

Disassembly:
sub rsp, 0x38
cmp qword [rdx + 0x18], 0x10
mov r10, rdx
mov r11, qword [rdx + 0x10]
jb 0x140028a25
mov r10, qword [rdx]
xor r8d, r8d
movabs r9, 0xcbf29ce484222325
test r11, r11
je 0x140028a69
mov qword [rsp + 0x30], rbx
movabs rbx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r8 + r10]
inc r8
xor r9, rax
imul r9, rbx
cmp r8, r11
jb 0x140028a50
mov rbx, qword [rsp + 0x30]
mov r8, rdx
lea rdx, [rsp + 0x20]
call fcn.1400357f0
cmp qword [rax + 8], 0
setne al
add rsp, 0x38
ret
Function at 0x140028a90
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x20
mov r15, qword [rdx + 0x18]
mov rdi, rdx
mov rsi, qword [rdx + 0x10]
mov r10, rcx
mov r9, rdx
cmp r15, 0x10
jb 0x140028abc
mov r9, qword [rdx]
xor ebp, ebp
movabs r8, 0xcbf29ce484222325
mov edx, ebp
test rsi, rsi
je 0x140028af4
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + r9]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, rsi
jb 0x140028ae0
mov rcx, qword [r10 + 0x30]
mov rax, qword [r10 + 0x18]
and rcx, r8
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r10 + 8]
je 0x140028b62
mov qword [rsp + 0x40], r14
mov r14, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140028b32
mov rdx, qword [rdx]
mov rcx, rdi
cmp r15, 0x10
jb 0x140028b3e
mov rcx, qword [rdi]
cmp rsi, rax
jne 0x140028b4f
mov r8, rsi
call fcn.1400e08a0
test eax, eax
je 0x140028b5a
cmp rbx, r14
je 0x140028b5d
mov rbx, qword [rbx + 8]
jmp 0x140028b20
mov rbp, rbx
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
test rbp, rbp
mov rbp, qword [rsp + 0x50]
setne al
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret
Function at 0x14002a4d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov r15, r8
mov r14, rdx
mov r8, qword [r8 + 0x10]
mov rdx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14002a4fa
mov rdx, qword [r15]
movabs rdi, 0xcbf29ce484222325
xor ecx, ecx
test r8, r8
je 0x14002a533
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r9
inc rcx
cmp rcx, r8
jb 0x14002a520
mov r9, rdi
mov r8, r15
lea rdx, [rsp + 0x20]
call fcn.140036190
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14002a55a
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x14002a6ab
movabs rax, 0x3ffffffffffffff
cmp qword [0x1401e0870], rax
je 0x14002a6c2
lea rax, [0x1401e0868]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov ecx, 0x40
call fcn.1400dde60
mov rsi, rax
mov qword [rsp + 0x38], rax
mov rdx, r15
lea rcx, [rax + 0x10]
call fcn.1400215f0
xorps xmm0, xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x38], 0
mov r9, qword [0x1401e0870]
lea rcx, [r9 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14002a5cd
cvtsi2ss xmm0, rcx
jmp 0x14002a5e2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x1401e0898]
xorps xmm1, xmm1
test rcx, rcx
js 0x14002a5f8
cvtsi2ss xmm1, rcx
jmp 0x14002a60d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x1401e0860]
seta al
test al, al
je 0x14002a644
call fcn.140030520
lea r8, [rsi + 0x10]
mov r9, rdi
lea rdx, [rsp + 0x30]
call fcn.140036190
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
mov r9, qword [0x1401e0870]
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
inc r9
mov qword [0x1401e0870], r9
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rcx, qword [0x1401e0878]
mov rax, qword [0x1401e0890]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [0x1401e0868]
jne 0x14002a68c
mov qword [rcx + rax*8], rsi
jmp 0x14002a69e
cmp r9, rdx
jne 0x14002a697
mov qword [rcx + rax*8], rsi
jmp 0x14002a6a3
cmp qword [rcx + rax*8 + 8], r8
jne 0x14002a6a3
mov qword [rcx + rax*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1400db0f4
int3
Function at 0x140030800
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1401e0960]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1401e0988]
js 0x140030824
cvtsi2ss xmm0, rcx
jmp 0x140030839
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1401e0950]
call fcn.14010df38
movss xmm1, dword [0x14017e780]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x14003086b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14003086b
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 0x14003089d
cmp rbx, 0x200
jae 0x14003089a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14003089d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140032940
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140032b00
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1401e0958]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1401e0968]
lea rdx, [rdi + rdi]
call fcn.140026290
mov rcx, qword [0x1401e0958]
lea r9, [rdi - 1]
mov qword [0x1401e0980], r9
mov qword [0x1401e0988], rdi
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x140032af5
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
xor r11, rsi
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x12]
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x13]
imul r11, rdi
xor r11, rax
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1401e0968]
mov r10, qword [r11]
cmp r10, rbx
jne 0x140032a32
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x140032ab6
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x140032a6f
mov r10, qword [rax]
cmp r10, rcx
je 0x140032a69
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x140032ab6
mov r8, rax
cmp r10, rax
je 0x140032a92
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x140032aca
cmp r10, rax
jne 0x140032a80
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], rcx
mov rcx, rdx
cmp rdx, rbx
je 0x140032af0
mov r9, qword [0x1401e0980]
jmp 0x1400329e0
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x140032ab6
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1400db0f4
int3
Function at 0x140032940
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1401e0960]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1401e0988]
js 0x140030824
cvtsi2ss xmm0, rcx
jmp 0x140030839
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1401e0950]
call fcn.14010df38
movss xmm1, dword [0x14017e780]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x14003086b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14003086b
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 0x14003089d
cmp rbx, 0x200
jae 0x14003089a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14003089d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140032940
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140032b00
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1401e0958]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1401e0968]
lea rdx, [rdi + rdi]
call fcn.140026290
mov rcx, qword [0x1401e0958]
lea r9, [rdi - 1]
mov qword [0x1401e0980], r9
mov qword [0x1401e0988], rdi
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x140032af5
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
xor r11, rsi
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x12]
imul r11, rdi
xor r11, rax
movzx eax, byte [rcx + 0x13]
imul r11, rdi
xor r11, rax
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1401e0968]
mov r10, qword [r11]
cmp r10, rbx
jne 0x140032a32
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x140032ab6
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x140032a6f
mov r10, qword [rax]
cmp r10, rcx
je 0x140032a69
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x140032ab6
mov r8, rax
cmp r10, rax
je 0x140032a92
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x140032aca
cmp r10, rax
jne 0x140032a80
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], rcx
mov rcx, rdx
cmp rdx, rbx
je 0x140032af0
mov r9, qword [0x1401e0980]
jmp 0x1400329e0
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x140032ab6
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1400db0f4
int3