joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400782e0
Capabilities:
Get number of processors

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb8
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x1402f4538]
xor rax, rsp
mov qword [rsp + 0xb0], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0xa0], 0
mov eax, dword [0x1402f5dc0]
mov ecx, dword [0x1402f6910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400783dd
mov rax, qword [0x1402f5db8]
mov qword [rsp + 0xa8], rax
lea r14, [rsp + 0x70]
mov eax, dword [rbx]
lea r8, [rsp + 0x34]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], 0
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov rcx, rdi
mov r9, r14
call fcn.140044890
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov rdx, rsi
mov r9, rax
call fcn.140044cd0
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140241350
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, [0x1402f5dc0]
call fcn.14024119c
cmp dword [0x1402f5dc0], 0xffffffff
jne 0x140078360
mov rax, qword [0x1402f7098]
test rax, rax
movabs rcx, 0xff51afd7ed558ccd
cmovne rcx, rax
mov qword [0x1402f5db8], rcx
lea rcx, [0x1402f5dc0]
call fcn.140241204
jmp 0x140078360
Function at 0x14007c160
Capabilities:
Encode data using xor

Disassembly:
mov rax, rcx
mov edx, dword [rcx + 8]
cmp rdx, 0x40
ja 0x14007c193
mov r8, qword [rax]
not r8
mov ecx, edx
neg cl
mov r9, 0xffffffffffffffff
shr r9, cl
test rdx, rdx
je 0x14007c1fd
and r9, r8
mov qword [rax], r9
inc qword [rax]
jmp 0x14007c28f
mov r9d, edx
add rdx, 0x3f
mov rcx, rdx
shr rcx, 6
mov r8, qword [rax]
cmp r9d, 0xc1
jae 0x14007c1b2
xor r9d, r9d
jmp 0x14007c202
mov r9d, ecx
and r9d, 0xfffffffc
shr rdx, 3
and edx, 0xffffffe0
xor r10d, r10d
pcmpeqd xmm0, xmm0
nop word [rax + rax]
movdqu xmm1, xmmword [r8 + r10]
movdqu xmm2, xmmword [r8 + r10 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [r8 + r10], xmm1
movdqu xmmword [r8 + r10 + 0x10], xmm2
add r10, 0x20
cmp rdx, r10
jne 0x14007c1d0
jmp 0x14007c209
xor r9d, r9d
jmp 0x14007c185
not qword [r8 + r9*8]
inc r9
cmp rcx, r9
jne 0x14007c202
mov edx, dword [rax + 8]
mov ecx, edx
neg cl
mov r8, 0xffffffffffffffff
shr r8, cl
test rdx, rdx
je 0x14007c2d1
cmp edx, 0x41
jae 0x14007c232
mov rdx, rax
jmp 0x14007c248
add rdx, 0x3f
shr rdx, 6
mov ecx, 0xffffffff
add edx, ecx
shl rdx, 3
add rdx, qword [rax]
and qword [rdx], r8
mov ecx, dword [rax + 8]
cmp rcx, 0x40
ja 0x14007c259
inc qword [rax]
jmp 0x14007c28f
mov rdx, qword [rax]
inc qword [rdx]
jne 0x14007c28f
inc qword [rdx + 8]
jne 0x14007c28f
add rcx, 0x3f
shr rcx, 6
mov r8d, 2
nop word cs:[rax + rax]
cmp rcx, r8
je 0x14007c28f
inc qword [rdx + r8*8]
lea r8, [r8 + 1]
je 0x14007c280
mov r8d, dword [rax + 8]
mov ecx, r8d
neg cl
mov rdx, 0xffffffffffffffff
shr rdx, cl
test r8, r8
je 0x14007c2cb
cmp r8d, 0x41
jb 0x14007c2c7
add r8, 0x3f
shr r8, 6
mov ecx, 0xffffffff
add r8d, ecx
shl r8, 3
add r8, qword [rax]
mov rax, r8
and qword [rax], rdx
ret
xor edx, edx
and qword [rax], rdx
ret
xor r8d, r8d
mov rdx, rax
jmp 0x14007c248

Function at 0x14007cfa0
Capabilities:
Encode data using xor

Disassembly:
test edx, edx
je 0x14007d03f
mov eax, edx
cmp edx, 4
jae 0x14007cfb4
xor r8d, r8d
jmp 0x14007d000
mov r8d, eax
and r8d, 0xfffffffc
lea r9, [rax*8]
and r9, 0xffffffffffffffe0
xor r10d, r10d
pcmpeqd xmm0, xmm0
nop
movdqu xmm1, xmmword [rcx + r10]
movdqu xmm2, xmmword [rcx + r10 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rcx + r10], xmm1
movdqu xmmword [rcx + r10 + 0x10], xmm2
add r10, 0x20
cmp r9, r10
jne 0x14007cfd0
cmp r8, rax
je 0x14007d00c
not qword [rcx + r8*8]
inc r8
cmp rax, r8
jne 0x14007d000
mov r8, qword [rcx]
inc r8
mov qword [rcx], r8
cmp edx, 1
je 0x14007d03f
test r8, r8
jne 0x14007d03f
inc qword [rcx + 8]
jne 0x14007d03f
mov edx, 2
nop word [rax + rax]
cmp rax, rdx
je 0x14007d03f
inc qword [rcx + rdx*8]
lea rdx, [rdx + 1]
je 0x14007d030
ret
Function at 0x14009d0b0
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rbx
mov ebx, r8d
mov rax, rdx
shr r8d, 0x10
mov edx, ebx
shr edx, 0x18
movzx r9d, bl
movabs r10, 0xcbf29ce484222325
xor r10, r9
movabs r9, 0x100000001b3
imul r10, r9
movzx esi, bh
xor rsi, r10
imul rsi, r9
movzx r8d, r8b
xor r8, rsi
imul r8, r9
xor rdx, r8
imul rdx, r9
and rdx, qword [rcx + 0x48]
mov r8, qword [rcx + 0x20]
mov r9, qword [rcx + 0x30]
mov rcx, rdx
shl rcx, 4
mov rcx, qword [r9 + rcx + 8]
cmp rcx, r8
je 0x14009d14c
cmp dword [rcx + 0x10], ebx
je 0x14009d13e
add rdx, rdx
mov rdx, qword [r9 + rdx*8]
nop word cs:[rax + rax]
cmp rcx, rdx
je 0x14009d14c
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], ebx
jne 0x14009d130
cmp rcx, r8
je 0x14009d14c
mov ecx, dword [rcx + 0x14]
mov dword [rax], ecx
mov cl, 1
jmp 0x14009d14e
xor ecx, ecx
mov byte [rax + 4], cl
pop rbx
pop rsi
ret
Function at 0x140143b90
Capabilities:
Encode data using base64

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ebx, dword [rcx + 0x18]
test rbx, rbx
je 0x140143bcc
mov rdi, qword [rsi + 0x10]
shl rbx, 3
jmp 0x140143bba
add rdi, 8
add rbx, 0xfffffffffffffff8
je 0x140143bcc
mov rdx, qword [rdi]
test rdx, rdx
je 0x140143bb0
mov rcx, rdi
call fcn.140039d60
jmp 0x140143bb0
mov dword [rsi + 0x18], 0
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14003eb00
Function at 0x14015cc30
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r14, r9
mov r15, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [r8]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx edx, byte [r8 + 1]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [r8 + 2]
xor rcx, rdx
imul rcx, rax
movzx r12d, byte [r8 + 3]
xor r12, rcx
imul r12, rax
mov rcx, qword [rdi + 0x30]
and rcx, r12
mov rdx, qword [rdi + 0x18]
mov rax, rcx
shl rax, 4
mov rbx, qword [rdx + rax + 8]
cmp rbx, qword [rdi + 8]
je 0x14015ccd5
mov eax, dword [r15]
cmp eax, dword [rbx + 0x10]
je 0x14015ccce
add rcx, rcx
mov r13, qword [rdx + rcx*8]
nop dword [rax + rax]
cmp rbx, r13
je 0x14015ccd8
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x14015ccc0
xor eax, eax
jmp 0x14015ce6c
mov r13, rbx
movabs rax, 0x666666666666666
cmp qword [rdi + 0x10], rax
je 0x14015ce86
mov ecx, 0x28
call fcn.140241054
mov rbx, rax
mov ebp, dword [r15]
mov dword [rax + 0x10], ebp
movups xmm0, xmmword [r14]
movups xmmword [rax + 0x18], xmm0
mov rax, qword [rdi + 0x10]
inc rax
js 0x14015cd1a
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x14015cd32
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm1, dword [rdi]
mov r14, qword [rdi + 0x38]
test r14, r14
js 0x14015cd46
cvtsi2ss xmm2, r14
jmp 0x14015cd5e
mov rax, r14
shr rax, 1
mov ecx, r14d
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x14015ce18
divss xmm0, xmm1
call fcn.140242dd0
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x14027a180]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp rdx, 9
mov eax, 8
cmovae rax, rdx
cmp r14, rax
jae 0x14015cdc5
lea rcx, [r14*8]
cmp rcx, rax
cmovb rcx, rax
cmp r14, 0x200
cmovae rcx, rax
mov r14, rcx
mov rcx, rdi
mov rdx, r14
call fcn.14015cea0
mov rax, qword [rdi + 0x30]
and rax, r12
mov rcx, qword [rdi + 0x18]
mov rdx, rax
shl rdx, 4
mov r13, qword [rcx + rdx + 8]
cmp r13, qword [rdi + 8]
je 0x14015ce18
cmp ebp, dword [r13 + 0x10]
je 0x14015ce0f
add rax, rax
mov rax, qword [rcx + rax*8]
nop word [rax + rax]
cmp r13, rax
je 0x14015ce15
mov r13, qword [r13 + 8]
cmp ebp, dword [r13 + 0x10]
jne 0x14015ce00
mov r13, qword [r13]
jmp 0x14015ce18
mov r13, rax
mov rcx, qword [r13 + 8]
inc qword [rdi + 0x10]
mov qword [rbx], r13
mov qword [rbx + 8], rcx
mov qword [rcx], rbx
mov qword [r13 + 8], rbx
mov rax, qword [rdi + 0x18]
and r12, qword [rdi + 0x30]
shl r12, 4
lea rdx, [rax + r12]
lea r8, [rax + r12]
add r8, 8
mov rax, qword [rax + r12]
cmp rax, qword [rdi + 8]
je 0x14015ce61
cmp rax, r13
je 0x14015ce67
mov al, 1
mov rdx, r8
cmp qword [r8], rcx
jne 0x14015ce6c
jmp 0x14015ce67
mov qword [rdx], rbx
mov rdx, r8
mov qword [rdx], rbx
mov al, 1
mov qword [rsi], rbx
mov byte [rsi + 8], al
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140242aa0
int3
Function at 0x14015cea0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x14015d04f
mov rsi, rcx
dec rdx
or rdx, 1
bsr rcx, rdx
xor ecx, 0x3f
neg cl
mov ebx, 1
shl rbx, cl
lea rax, [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rdi
call fcn.14015d060
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rax, qword [rsi + 8]
mov r8, qword [rax]
cmp r8, rdi
je 0x14015d042
movabs rax, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
jmp 0x14015cf41
mov qword [r9 + r10*8], rdx
mov qword [r9 + rbx*8], rdx
cmp r8, rdi
je 0x14015d042
mov rdx, r8
movzx r8d, byte [r8 + 0x10]
xor r8, rcx
imul r8, rax
movzx r9d, byte [rdx + 0x11]
xor r9, r8
imul r9, rax
movzx r8d, byte [rdx + 0x12]
xor r8, r9
imul r8, rax
movzx r11d, byte [rdx + 0x13]
xor r11, r8
imul r11, rax
and r11, qword [rsi + 0x30]
mov r8, qword [rdx]
mov r9, qword [rsi + 0x18]
lea r10, [r11 + r11]
lea rbx, [r11 + r11]
inc rbx
shl r11, 4
mov r11, qword [r9 + r11]
cmp r11, rdi
je 0x14015cf30
mov r14, qword [r9 + rbx*8]
mov ebp, dword [rdx + 0x10]
cmp ebp, dword [r14 + 0x10]
jne 0x14015cfe0
mov r10, qword [r14]
cmp r10, rdx
je 0x14015cf34
mov r11, qword [rdx + 8]
mov qword [r11], r8
mov r14, qword [r8 + 8]
mov qword [r14], r10
mov r15, qword [r10 + 8]
mov qword [r15], rdx
mov qword [r10 + 8], r14
mov qword [r8 + 8], r11
mov qword [rdx + 8], r15
jmp 0x14015cf34
cmp r11, r14
je 0x14015d018
mov r14, qword [r14 + 8]
cmp ebp, dword [r14 + 0x10]
jne 0x14015cfe0
mov r9, qword [r14]
mov r10, qword [rdx + 8]
mov qword [r10], r8
mov r11, qword [r8 + 8]
mov qword [r11], r9
mov rbx, qword [r9 + 8]
mov qword [rbx], rdx
mov qword [r9 + 8], r11
mov qword [r8 + 8], r10
mov qword [rdx + 8], rbx
jmp 0x14015cf38
mov rbx, qword [rdx + 8]
mov qword [rbx], r8
mov r14, qword [r8 + 8]
mov qword [r14], r11
mov r15, qword [r11 + 8]
mov qword [r15], rdx
mov qword [r11 + 8], r14
mov qword [r8 + 8], rbx
mov qword [rdx + 8], r15
mov qword [r9 + r10*8], rdx
jmp 0x14015cf38
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.140242aa0
int3
Function at 0x14015d220
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [r8]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx edx, byte [r8 + 1]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [r8 + 2]
xor rcx, rdx
imul rcx, rax
movzx r15d, byte [r8 + 3]
xor r15, rcx
imul r15, rax
mov rcx, qword [rdi + 0x30]
and rcx, r15
mov rdx, qword [rdi + 0x18]
mov rax, rcx
shl rax, 4
mov rbx, qword [rdx + rax + 8]
cmp rbx, qword [rdi + 8]
je 0x14015d2c5
mov eax, dword [r14]
cmp eax, dword [rbx + 0x10]
je 0x14015d2be
add rcx, rcx
mov r12, qword [rdx + rcx*8]
nop word cs:[rax + rax]
cmp rbx, r12
je 0x14015d2c8
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x14015d2b0
xor eax, eax
jmp 0x14015d460
mov r12, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rdi + 0x10], rax
je 0x14015d478
mov ecx, 0x18
call fcn.140241054
mov rbx, rax
mov ebp, dword [r14]
mov dword [rax + 0x10], ebp
mov eax, dword [r14 + 8]
mov dword [rbx + 0x14], eax
mov rax, qword [rdi + 0x10]
inc rax
js 0x14015d306
cvtsi2ss xmm0, rax
jmp 0x14015d31b
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm1, dword [rdi]
mov r14, qword [rdi + 0x38]
test r14, r14
js 0x14015d32f
cvtsi2ss xmm2, r14
jmp 0x14015d347
mov rax, r14
shr rax, 1
mov ecx, r14d
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x14015d40a
divss xmm0, xmm1
call fcn.140242dd0
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x14027a180]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp rdx, 9
mov eax, 8
cmovae rax, rdx
cmp r14, rax
jae 0x14015d3ae
lea rcx, [r14*8]
cmp rcx, rax
cmovb rcx, rax
cmp r14, 0x200
cmovae rcx, rax
mov r14, rcx
mov rcx, rdi
mov rdx, r14
call fcn.14015cea0
mov rax, qword [rdi + 0x30]
and rax, r15
mov rcx, qword [rdi + 0x18]
mov rdx, rax
shl rdx, 4
mov r12, qword [rcx + rdx + 8]
cmp r12, qword [rdi + 8]
je 0x14015d40a
cmp ebp, dword [r12 + 0x10]
je 0x14015d401
add rax, rax
mov rax, qword [rcx + rax*8]
nop word cs:[rax + rax]
cmp r12, rax
je 0x14015d407
mov r12, qword [r12 + 8]
cmp ebp, dword [r12 + 0x10]
jne 0x14015d3f0
mov r12, qword [r12]
jmp 0x14015d40a
mov r12, rax
mov rcx, qword [r12 + 8]
inc qword [rdi + 0x10]
mov qword [rbx], r12
mov qword [rbx + 8], rcx
mov qword [rcx], rbx
mov qword [r12 + 8], rbx
mov rax, qword [rdi + 0x18]
and r15, qword [rdi + 0x30]
shl r15, 4
lea rdx, [rax + r15]
lea r8, [rax + r15]
add r8, 8
mov rax, qword [rax + r15]
cmp rax, qword [rdi + 8]
je 0x14015d455
cmp rax, r12
je 0x14015d45b
mov al, 1
mov rdx, r8
cmp qword [r8], rcx
jne 0x14015d460
jmp 0x14015d45b
mov qword [rdx], rbx
mov rdx, r8
mov qword [rdx], rbx
mov al, 1
mov qword [rsi], rbx
mov byte [rsi + 8], al
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140242aa0
int3
Function at 0x14015d490
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [r8]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx edx, byte [r8 + 1]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [r8 + 2]
xor rcx, rdx
imul rcx, rax
movzx r15d, byte [r8 + 3]
xor r15, rcx
imul r15, rax
mov rcx, qword [rdi + 0x30]
and rcx, r15
mov rdx, qword [rdi + 0x18]
mov rax, rcx
shl rax, 4
mov rbx, qword [rdx + rax + 8]
cmp rbx, qword [rdi + 8]
je 0x14015d535
mov eax, dword [r14]
cmp eax, dword [rbx + 0x10]
je 0x14015d52e
add rcx, rcx
mov r12, qword [rdx + rcx*8]
nop word [rax + rax]
cmp rbx, r12
je 0x14015d538
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x14015d520
xor eax, eax
jmp 0x14015d6d0
mov r12, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rdi + 0x10], rax
je 0x14015d6e9
mov ecx, 0x18
call fcn.140241054
mov rbx, rax
mov r13, qword [r14]
mov qword [rax + 0x10], r13
mov rax, qword [rdi + 0x10]
inc rax
js 0x14015d570
cvtsi2ss xmm0, rax
jmp 0x14015d585
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm1, dword [rdi]
mov r14, qword [rdi + 0x38]
test r14, r14
js 0x14015d599
cvtsi2ss xmm2, r14
jmp 0x14015d5b1
mov rax, r14
shr rax, 1
mov ecx, r14d
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x14015d67a
divss xmm0, xmm1
call fcn.140242dd0
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x14027a180]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp rdx, 9
mov eax, 8
cmovae rax, rdx
cmp r14, rax
jae 0x14015d618
lea rcx, [r14*8]
cmp rcx, rax
cmovb rcx, rax
cmp r14, 0x200
cmovae rcx, rax
mov r14, rcx
mov rcx, rdi
mov rdx, r14
call fcn.14015cea0
mov rcx, qword [rdi + 0x30]
and rcx, r15
mov rdx, qword [rdi + 0x18]
mov rax, rcx
shl rax, 4
mov r12, qword [rdx + rax + 8]
cmp r12, qword [rdi + 8]
je 0x14015d67a
movq xmm0, r13
movd eax, xmm0
cmp eax, dword [r12 + 0x10]
je 0x14015d671
add rcx, rcx
mov rcx, qword [rdx + rcx*8]
nop word [rax + rax]
cmp r12, rcx
je 0x14015d677
mov r12, qword [r12 + 8]
cmp eax, dword [r12 + 0x10]
jne 0x14015d660
mov r12, qword [r12]
jmp 0x14015d67a
mov r12, rcx
mov rcx, qword [r12 + 8]
inc qword [rdi + 0x10]
mov qword [rbx], r12
mov qword [rbx + 8], rcx
mov qword [rcx], rbx
mov qword [r12 + 8], rbx
mov rax, qword [rdi + 0x18]
and r15, qword [rdi + 0x30]
shl r15, 4
lea rdx, [rax + r15]
lea r8, [rax + r15]
add r8, 8
mov rax, qword [rax + r15]
cmp rax, qword [rdi + 8]
je 0x14015d6c5
cmp rax, r12
je 0x14015d6cb
mov al, 1
mov rdx, r8
cmp qword [r8], rcx
jne 0x14015d6d0
jmp 0x14015d6cb
mov qword [rdx], rbx
mov rdx, r8
mov qword [rdx], rbx
mov al, 1
mov qword [rsi], rbx
mov byte [rsi + 8], al
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140242aa0
int3
Function at 0x1401c1f60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x880
mov rsi, r8
mov rbx, rcx
mov rax, qword [0x1402f4538]
xor rax, rsp
mov qword [rsp + 0x878], rax
test r8, r8
sete r8b
lea rcx, [rsp + 0x20]
mov r9, rbx
call fcn.1401c0d80
mov r15, qword [rbx + 0x40]
add rbx, 0x38
xor edi, edi
cmp r15, rbx
je 0x1401c1fd1
lea r14, [rsp + 0x20]
nop
lea rdx, [r15 - 0x38]
test r15, r15
cmove rdx, r15
mov rcx, r14
call fcn.1401c1050
xor al, 1
or dil, al
mov r15, qword [r15 + 8]
cmp r15, rbx
jne 0x1401c1fb0
lea rcx, [rsp + 0x20]
call fcn.1401c2020
test rsi, rsi
je 0x1401c1fea
movzx ecx, byte [rsp + 0x129]
mov byte [rsi], cl
not al
or dil, al
lea rcx, [rsp + 0x20]
call fcn.1401c1c50
and dil, 1
mov rcx, qword [rsp + 0x878]
xor rcx, rsp
call fcn.140241350
mov eax, edi
add rsp, 0x880
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140002b4b
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
lea rax, str.echoBinSafe
mov qword [rbp - 0x48], rax
lea rax, str._usr_lib_bla_lib_system_io.bla
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 0
mov word [rbp - 0x30], 0
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.1400021ae
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x40], 8
lea rax, str._usr_lib_bla_lib_system_iterators.bla
mov qword [rbp - 0x38], rax
mov qword [rbp - 8], 0
mov qword [rbp - 0x40], 9
lea rax, str._usr_lib_bla_lib_system_iterators.bla
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x28]
jge 0x140002c9a
mov qword [rbp - 0x40], 0x333
lea rax, str._usr_lib_bla_lib_system_io.bla
mov qword [rbp - 0x38], rax
cmp qword [rbp - 8], 0
js 0x140002bfc
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x28]
jl 0x140002c10
mov rax, qword [rbp + 0x28]
lea rdx, [rax - 1]
mov rax, qword [rbp - 8]
mov rcx, rax
call fcn.14000ca71
mov rax, qword [rbp - 8]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x20]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov rbx, qword [rax]
mov ecx, 1
mov rax, qword [fcn.1400171c0]
call rax
mov r8d, 0
mov rdx, rbx
mov rcx, rax
call fcn.1400028f2
mov qword [rbp - 0x40], 0xb
lea rax, str._usr_lib_bla_lib_system_iterators.bla
mov qword [rbp - 0x38], rax
mov edx, 0
mov rax, qword [rbp - 8]
add rax, 1
jno 0x140002c74
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140002c8d
call fcn.14000da21
mov rax, qword [rbp - 0x58]
mov qword [rbp - 8], rax
jmp 0x140002bca
nop
mov qword [rbp - 0x40], 0x339
lea rax, str._usr_lib_bla_lib_system_io.bla
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x18], 0
mov ecx, 1
mov rax, qword [fcn.1400171c0]
call rax
mov r9, rax
mov r8d, 1
mov edx, 1
lea rax, [0x14001933e]
mov rcx, rax
call sub.msvcrt.dll_fwrite
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x40], 0x33a
lea rax, str._usr_lib_bla_lib_system_io.bla
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x1c], 0
mov ecx, 1
mov rax, qword [fcn.1400171c0]
call rax
mov rcx, rax
call sub.msvcrt.dll_fflush
mov dword [rbp - 0x1c], eax
call fcn.14000222d
nop
add rsp, 0x88
pop rbx
pop rbp
ret

Function at 0x140004b6f
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp - 8], 0
cmp qword [rbp + 0x18], 0
je 0x140004b9f
mov rax, qword [rbp + 0x18]
mov rcx, rax
call fcn.140004b31
mov rcx, rax
jmp 0x140004ba4
mov ecx, 0
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rdx
mov r8, rcx
mov edx, 1
mov rcx, rax
call sub.msvcrt.dll_fwrite
mov qword [rbp - 8], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sub.msvcrt.dll_fflush
mov dword [rbp - 0xc], eax
nop
add rsp, 0x30
pop rbp
ret
Function at 0x14000d1fe
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp - 8], 0
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sub.msvcrt.dll_fwrite
mov qword [rbp - 8], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sub.msvcrt.dll_fflush
mov dword [rbp - 0xc], eax
nop
add rsp, 0x30
pop rbp
ret

Function at 0x140011450
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov rbx, rcx
lea rax, [rsp + 0x58]
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call fcn.1400171c0
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call fcn.1400171c0
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
nop
nop dword [rax]

Function at 0x1400114c0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x140030634]
mov rbx, rcx
test esi, esi
jle 0x1400115f0
mov rax, qword [0x140030638]
xor r9d, r9d
add rax, 0x18
nop word [rax + rax]
mov r8, qword [rax]
cmp rbx, r8
jb 0x14001150b
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 8]
add r8, rdx
cmp rbx, r8
jb 0x140011595
add r9d, 1
add rax, 0x28
cmp r9d, esi
jne 0x1400114f0
mov rcx, rbx
call fcn.140011f10
mov rdi, rax
test rax, rax
je 0x140011612
mov rax, qword [0x140030638]
lea rbx, [rsi + rsi*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rdi
mov dword [rax], 0
call fcn.140012050
mov edx, dword [rdi + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x140030638]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1400115f7
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x14001158e
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x1400115a0
add dword [0x140030634], 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
cmp eax, 2
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x40
mov eax, 4
cmove r8d, eax
add rbx, qword [0x140030638]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14001158e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.140011450
nop dword [rax]
xor esi, esi
jmp 0x140011518
mov rax, qword [0x140030638]
mov edx, dword [rdi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.140011450
mov rdx, rbx
lea rcx, str.Address__p_has_no_image_section
call fcn.140011450
nop
nop word cs:[rax + rax]
nop dword [rax]