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

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x1400a3060]
xor rax, rsp
mov qword [rsp + 0x40], rax
lea rbx, [0x1400a80d0]
mov r8d, 0x32
mov rdx, rbx
lea rcx, str.TERM
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x14000774e
cmp byte [0x1400a80d0], 0
je 0x14000774e
xor eax, eax
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
nop
inc r8
cmp byte [rbx + r8], al
jne 0x140007740
mov rdx, rbx
jmp 0x14000776d
xor eax, eax
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x20], rax
lea rdx, [0x14009206b]
mov qword [rsp + 0x30], rax
xor r8d, r8d
lea rcx, [rsp + 0x20]
call fcn.140019c10
mov rdi, qword [rsp + 0x38]
lea rax, [rsp + 0x20]
mov rbx, qword [rsp + 0x20]
cmp rdi, 0x10
mov rdx, qword [rsp + 0x30]
cmovae rax, rbx
mov qword [rsp + 0x60], rsi
cmp rdx, 5
jne 0x1400077b0
cmp dword [rax], 0x72657478
jne 0x1400077b0
cmp byte [rax + 4], 0x6d
je 0x1400078a8
cmp rdi, 0x10
lea rax, [rsp + 0x20]
cmovae rax, rbx
cmp rdx, 0xb
jne 0x1400077e4
movabs rcx, 0x6f632d6d72657478
cmp qword [rax], rcx
jne 0x1400077e4
cmp word [rax + 8], 0x6f6c
jne 0x1400077e4
cmp byte [rax + 0xa], 0x72
je 0x1400078a8
cmp rdi, 0x10
lea rax, [rsp + 0x20]
cmovae rax, rbx
cmp rdx, 0xe
jne 0x14000781b
movabs rcx, 0x35322d6d72657478
cmp qword [rax], rcx
jne 0x14000781b
cmp dword [rax + 8], 0x6c6f6336
jne 0x14000781b
cmp word [rax + 0xc], 0x726f
je 0x1400078a8
cmp rdi, 0x10
lea rax, [rsp + 0x20]
cmovae rax, rbx
cmp rdx, 6
jne 0x14000783e
cmp dword [rax], 0x65726373
jne 0x14000783e
cmp word [rax + 4], 0x6e65
je 0x1400078a8
cmp rdi, 0x10
lea rax, [rsp + 0x20]
cmovae rax, rbx
cmp rdx, 5
jne 0x14000785f
cmp dword [rax], 0x756e696c
jne 0x14000785f
cmp byte [rax + 4], 0x78
je 0x1400078a8
cmp rdi, 0x10
lea rax, [rsp + 0x20]
cmovae rax, rbx
cmp rdx, 6
jne 0x140007882
cmp dword [rax], 0x77677963
jne 0x140007882
cmp word [rax + 4], 0x6e69
je 0x1400078a8
cmp rdi, 0x10
lea rcx, [rsp + 0x20]
cmovae rcx, rbx
cmp rdx, 0xf
jne 0x1400078ad
mov r8, rdx
lea rdx, str.screen_256color
call fcn.140055f80
test eax, eax
jne 0x1400078ad
mov sil, 1
jmp 0x1400078b0
xor sil, sil
cmp rdi, 0x10
jb 0x1400078e3
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400078db
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007904
mov rcx, rbx
call fcn.140053500
movzx eax, sil
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400534e0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
call fcn.14005f6ec
int3
Function at 0x140010990
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
mov r14, qword [rsp + 0x50]
xor ebp, ebp
mov rax, qword [rsp + 0x58]
mov r13, r9
mov rbx, qword [rsp + 0x68]
mov r12, rdx
mov qword [r14], r8
mov qword [rbx], rax
mov rax, qword [r14]
cmp rax, r9
je 0x140010b24
mov r15, qword [rsp + 0x60]
lea r9d, [rbp + 1]
mov rdi, qword [rbx]
mov r11d, 0x2800
mov r8d, 0x3ff
mov r10d, 0x2400
cmp rdi, r15
je 0x140010b24
movzx edx, word [r12]
xor sil, sil
movzx ecx, word [rax]
cmp r9w, dx
jae 0x140010a2b
lea eax, [r10 + rcx]
cmp ax, r8w
ja 0x140010b4b
mov eax, edx
sub ecx, 0xdc00
shl eax, 0xa
or eax, ecx
jmp 0x140010a42
mov eax, ecx
add cx, r11w
cmp cx, r8w
ja 0x140010a42
shl eax, 0xa
mov sil, 1
sub eax, 0x35f0000
cmp eax, 0x80
jae 0x140010a55
movzx r8d, al
mov r10d, ebp
mov r11d, ebp
jmp 0x140010aa2
mov r8d, eax
cmp eax, 0x800
jae 0x140010a6f
shr r8d, 6
mov r10d, r9d
or r8b, 0xc0
mov r11d, r9d
jmp 0x140010aa2
cmp eax, 0x10000
jae 0x140010a89
shr r8d, 0xc
mov r10d, 2
or r8b, 0xe0
mov r11d, r10d
jmp 0x140010aa2
shr r8d, 0x12
mov r10d, 3
movzx r11d, sil
or r8b, 0xf0
xor r11d, 1
add r11d, r11d
lea r9d, [r11 + 1]
mov rdx, r15
sub rdx, rdi
mov ecx, r9d
cmp rdx, rcx
jl 0x140010b24
add qword [r14], 2
test sil, sil
jne 0x140010ac3
cmp r10d, 3
jae 0x140010acf
mov rcx, qword [rbx]
mov r9d, r11d
mov byte [rcx], r8b
inc qword [rbx]
test r9d, r9d
je 0x140010b01
lea r8d, [r10 + r10*2]
add r8d, r8d
nop dword [rax + rax]
sub r8d, 6
mov edx, eax
mov ecx, r8d
dec r9d
shr edx, cl
mov rcx, qword [rbx]
and dl, 0x3f
or dl, 0x80
mov byte [rcx], dl
inc qword [rbx]
test r9d, r9d
jg 0x140010ae0
shr eax, 0xa
mov r9d, 1
test sil, sil
mov ecx, r9d
cmovne ecx, eax
mov word [r12], cx
mov rax, qword [r14]
cmp rax, r13
jne 0x1400109df
mov rax, qword [rsp + 0x40]
cmp rax, qword [r14]
sete bpl
mov eax, ebp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov eax, 2
jmp 0x140010b32
Function at 0x1400116d0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400a3060]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, 0xffff
movzx esi, dx
mov rbx, rcx
cmp di, dx
jne 0x140011701
xor eax, eax
jmp 0x14001184f
mov rax, qword [rcx + 0x40]
mov r8, qword [rax]
test r8, r8
je 0x14001173e
mov r9, qword [rcx + 0x58]
movsxd r10, dword [r9]
lea rdx, [r8 + r10*2]
cmp r8, rdx
jae 0x14001173e
lea ecx, [r10 - 1]
movzx eax, si
mov dword [r9], ecx
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 2]
mov qword [rdx], rcx
mov word [r8], si
jmp 0x14001184f
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xb0], rbp
je 0x140011844
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x140011785
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub rdx, rcx
mov rax, qword [rbx + 0x38]
sar rdx, 1
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x1400117ae
movzx ecx, si
mov rdx, qword [rbx + 0x80]
call fcn.14005a770
cmp ax, di
je 0x140011844
movzx edi, si
jmp 0x140011844
lea r8, [rsp + 0x40]
mov word [rsp + 0x50], si
mov rax, qword [rcx]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x38], r8
lea r9, [rsp + 0x52]
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 0x140011804
sub eax, 1
je 0x140011804
cmp eax, 2
jne 0x140011844
movzx ecx, word [rsp + 0x50]
jmp 0x140011791
mov rbp, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbp, rax
je 0x140011831
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbp
mov edx, 1
call fcn.14005d864
cmp rbp, rax
jne 0x140011844
lea rax, [rsp + 0x50]
mov byte [rbx + 0x72], 1
cmp qword [rsp + 0x48], rax
movzx eax, si
jne 0x140011847
movzx eax, di
mov rbp, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400534e0
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret
Function at 0x140011d60
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 0x140011d82
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 0x140011dfc
mov rdi, r14
mov rcx, rbx
call fcn.1400189e0
test rax, rax
jle 0x140011dd4
mov rdx, qword [rbx + 0x38]
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov r8, rbp
mov rdx, qword [rdx]
call fcn.140055710
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 0x140011dec
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x140011df4
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x140011d96
sub r14, rdi
jmp 0x140011ee9
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x140011e13
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140011e15
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140011e4a
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.140055710
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 0x140011ee6
mov r9, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r9], rax
jne 0x140011e85
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 0x140011ec1
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.14005f1d8
sub rbp, rax
add rsi, rax
mov rdi, rbp
cmp rax, 0xfff
jne 0x140011eff
cmp rbp, rax
ja 0x140011e91
mov r8, rdi
test rdi, rdi
je 0x140011ee6
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.14005f1d8
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 0x140011ee9
Function at 0x140012310
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1400a3060]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14001233d
xor eax, eax
jmp 0x140012483
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x140012377
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x140012377
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 0x140012483
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x140012476
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x1400123ba
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 0x1400123c9
movsx ecx, dil
jmp 0x14001241d
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 0x140012437
sub eax, 1
je 0x140012437
cmp eax, 2
jne 0x140012476
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call fcn.140059b70
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14001247b
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140012464
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call fcn.14005d864
cmp rsi, rax
jne 0x140012476
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov eax, edi
jne 0x14001247b
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400534e0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret

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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov rax, qword [rcx]
mov rbx, rdx
mov rdi, rcx
call qword [rax + 0x58]
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
mov r10, qword [rbx + 0x10]
mov rsi, rax
jb 0x14001388f
mov rdx, qword [rbx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x1400138c3
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r8
cmp rcx, r10
jb 0x1400138b0
mov r8, rbx
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.14001f110
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x1400138e0
mov rbx, qword [rsi + 8]
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x58]
cmp rbx, qword [rax + 8]
jne 0x140013901
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
Function at 0x140013920
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x30
mov rbx, rdx
mov rdi, rcx
call fcn.140013860
mov r14, rax
test rax, rax
je 0x140013a76
mov rdx, qword [rdi]
mov rcx, rdi
mov qword [rsp + 0x60], rsi
call qword [rdx + 0x58]
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
mov r8, qword [rbx + 0x10]
mov rsi, rax
jb 0x140013962
mov rdx, qword [rbx]
xor ecx, ecx
movabs rdi, 0xcbf29ce484222325
test r8, r8
je 0x140013993
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor rdi, rax
imul rdi, r9
cmp rcx, r8
jb 0x140013980
mov r9, rdi
lea rdx, [rsp + 0x20]
mov r8, rbx
mov rcx, rsi
call fcn.14001f110
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x140013a63
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x18]
and rcx, rdi
shl rcx, 4
add rdx, rcx
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1400139ea
cmp rax, rbx
jne 0x1400139e0
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1400139f5
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1400139f5
cmp rax, rbx
jne 0x1400139f5
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rdx, qword [rbx + 0x28]
cmp rdx, 0x10
jb 0x140013a42
mov rcx, qword [rbx + 0x10]
inc rdx
cmp rdx, 0x1000
jb 0x140013a3d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140013a7f
mov rcx, r8
call fcn.140053500
mov edx, 0x38
mov qword [rbx + 0x20], 0
mov rcx, rbx
mov qword [rbx + 0x28], 0xf
mov byte [rbx + 0x10], 0
call fcn.140053500
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax + 0x18]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rbx
ret
call fcn.14005f6ec
int3
Function at 0x140013b30
Capabilities:
Hash data using fnv

Disassembly:
push rsi
sub rsp, 0x30
mov rax, qword [rcx]
mov rsi, rcx
call qword [rax + 0x40]
test al, al
jne 0x140013c15
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rdi
call qword [rax + 0x58]
xor ebp, ebp
mov rdi, qword [rax + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140013b90
nop dword [rax]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140013b88
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
mov qword [rbx + 0x30], rbp
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x140013b70
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x58]
mov rdi, qword [rsp + 0x58]
mov rbx, rax
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140013c0b
mov rcx, qword [rbx + 0x38]
mov rdx, qword [rbx + 8]
shr rcx, 3
cmp rcx, rax
jbe 0x140013bd8
mov r8, rdx
mov rcx, rbx
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
jmp fcn.14001bff0
call fcn.14001f070
mov rax, qword [rbx + 8]
lea r8, [rsp + 0x20]
mov qword [rax], rax
mov rax, qword [rbx + 8]
mov qword [rax + 8], rax
mov qword [rbx + 0x10], rbp
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x20], rax
call fcn.14001e630
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
Function at 0x140018430
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1400a3060]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140018504
cmp byte [rcx + 0x72], 0
je 0x140018504
mov rax, qword [rcx]
mov qword [rsp + 0x78], rdi
mov edi, 0xffff
mov edx, edi
call qword [rax + 0x18]
cmp di, ax
je 0x140018500
mov rcx, qword [rbx + 0x68]
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], r8
lea rdx, [rbx + 0x74]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
je 0x1400184c6
sub eax, 1
je 0x1400184ca
cmp eax, 2
jne 0x140018500
mov byte [rbx + 0x72], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400534e0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x72], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x1400184f7
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call fcn.14005d864
cmp rdi, rax
jne 0x140018500
cmp byte [rbx + 0x72], 0
sete al
jmp 0x1400184ae
xor al, al
jmp 0x1400184ae
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400534e0
add rsp, 0x60
pop rbx
ret
Function at 0x14001c820
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
ja 0x14001c9de
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.14001bdd0
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14001c9a7
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
mov r10d, dword [rcx + 0x10]
mov r11, qword [rsi + 0x30]
mov eax, r10d
mov rdx, qword [rdx]
shr eax, 8
movzx r9d, al
movzx eax, r10b
xor rax, rbp
imul rax, rdi
xor r9, rax
mov eax, r10d
imul r9, rdi
shr eax, 0x10
movzx r8d, al
mov eax, r10d
xor r9, r8
shr rax, 0x18
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x14001c916
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14001c996
mov rax, qword [r11 + 8]
cmp r10d, dword [rax + 0x10]
jne 0x14001c94f
mov r10, qword [rax]
cmp r10, rcx
je 0x14001c949
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 0x14001c996
mov r8, rax
cmp r9, rax
je 0x14001c972
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r10d, dword [rax + 0x10]
je 0x14001c9b8
cmp r9, rax
jne 0x14001c960
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
jne 0x14001c8b1
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 [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 0x14001c996
lea rcx, str.invalid_hash_bucket_count
call fcn.14002e618
int3
Function at 0x14001d900
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
mov r10, r9
mov r9d, edx
cmp qword [r10 + 0x10], 0
jne 0x14001d938
movzx eax, byte [r8]
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x20]
mov byte [rsp + 0x24], al
mov rcx, r10
mov dword [rsp + 0x20], 1
call fcn.140023ab0
add rsp, 0x48
ret
mov r11, qword [r10 + 0x30]
movabs rcx, 0xad2aca7747985764
and rcx, r11
mov qword [rsp + 0x50], rbx
mov rbx, qword [r10 + 8]
add rcx, rcx
mov qword [rsp + 0x40], rdi
mov rdi, qword [r10 + 0x18]
mov rax, qword [rdi + rcx*8 + 8]
cmp rax, rbx
je 0x14001d998
cmp dword [rax + 0x10], 1
mov rcx, qword [rdi + rcx*8]
je 0x14001d981
cmp rax, rcx
je 0x14001d998
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], 1
jne 0x14001d972
test rax, rax
je 0x14001d998
cmp rax, rbx
je 0x14001d998
movzx ecx, byte [r8]
cmp byte [rax + 0x14], cl
je 0x14001da80
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x58], rsi
movabs rsi, 0x100000001b3
movzx edx, r9b
xor rdx, rax
mov eax, r9d
imul rdx, rsi
shr eax, 8
movzx ecx, al
mov eax, r9d
xor rdx, rcx
shr eax, 0x10
imul rdx, rsi
movzx ecx, al
mov rax, r9
xor rdx, rcx
shr rax, 0x18
imul rdx, rsi
xor rdx, rax
imul rdx, rsi
mov rsi, qword [rsp + 0x58]
and r11, rdx
mov rdx, r11
add rdx, rdx
mov rax, qword [rdi + rdx*8 + 8]
mov rcx, rax
cmp rax, rbx
je 0x14001da61
mov rdx, qword [rdi + rdx*8]
cmp r9d, dword [rax + 0x10]
je 0x14001da1f
nop
cmp rcx, rdx
je 0x14001da61
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x14001da10
test rcx, rcx
je 0x14001da61
movzx edx, byte [r8]
cmp rcx, rbx
je 0x14001da65
add r11, r11
mov rcx, qword [rdi + r11*8]
cmp r9d, dword [rax + 0x10]
je 0x14001da4f
nop word [rax + rax]
cmp rax, rcx
je 0x14001da8f
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
jne 0x14001da40
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
mov byte [rax + 0x14], dl
add rsp, 0x48
ret
movzx edx, byte [r8]
mov byte [rsp + 0x24], dl
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x28]
mov dword [rsp + 0x20], r9d
mov rcx, r10
call fcn.140023ab0
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
add rsp, 0x48
ret
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.14002e63c
int3
Function at 0x14001ddd0
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
mov r10, r9
mov r9d, edx
cmp qword [r10 + 0x10], 0
jne 0x14001de08
mov rax, qword [r8]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rcx, r10
mov dword [rsp + 0x20], 1
call fcn.140024400
add rsp, 0x48
ret
mov r11, qword [r10 + 0x30]
movabs rcx, 0xad2aca7747985764
and rcx, r11
mov qword [rsp + 0x50], rbx
mov rbx, qword [r10 + 8]
add rcx, rcx
mov qword [rsp + 0x40], rdi
mov rdi, qword [r10 + 0x18]
mov rax, qword [rdi + rcx*8 + 8]
cmp rax, rbx
je 0x14001de68
cmp dword [rax + 0x10], 1
mov rcx, qword [rdi + rcx*8]
je 0x14001de51
cmp rax, rcx
je 0x14001de68
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], 1
jne 0x14001de42
test rax, rax
je 0x14001de68
cmp rax, rbx
je 0x14001de68
mov rcx, qword [r8]
cmp qword [rax + 0x18], rcx
je 0x14001df51
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x58], rsi
movabs rsi, 0x100000001b3
movzx edx, r9b
xor rdx, rax
mov eax, r9d
imul rdx, rsi
shr eax, 8
movzx ecx, al
mov eax, r9d
xor rdx, rcx
shr eax, 0x10
imul rdx, rsi
movzx ecx, al
mov rax, r9
xor rdx, rcx
shr rax, 0x18
imul rdx, rsi
xor rdx, rax
imul rdx, rsi
mov rsi, qword [rsp + 0x58]
and r11, rdx
mov rdx, r11
add rdx, rdx
mov rax, qword [rdi + rdx*8 + 8]
mov rcx, rax
cmp rax, rbx
je 0x14001df32
mov rdx, qword [rdi + rdx*8]
cmp r9d, dword [rax + 0x10]
je 0x14001deef
nop
cmp rcx, rdx
je 0x14001df32
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x14001dee0
test rcx, rcx
je 0x14001df32
mov rdx, qword [r8]
cmp rcx, rbx
je 0x14001df35
add r11, r11
mov rcx, qword [rdi + r11*8]
cmp r9d, dword [rax + 0x10]
je 0x14001df1f
nop dword [rax]
cmp rax, rcx
je 0x14001df60
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
jne 0x14001df10
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
mov qword [rax + 0x18], rdx
add rsp, 0x48
ret
mov rdx, qword [r8]
mov qword [rsp + 0x28], rdx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x20], r9d
mov rcx, r10
call fcn.140024400
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
add rsp, 0x48
ret
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.14002e63c
int3