joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400fad4b
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [0x1402e86d8]
test ecx, ecx
je 0x1400fae41
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fad83
mov rbx, rax
cmp qword [rax + 8], 0
je 0x1400fad83
add rbx, 0x10
jmp 0x1400fae36
mov ecx, dword [0x1402e86d8]
test ecx, ecx
je 0x1400fae54
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x1400fae0b
mov rdi, rax
test rax, rax
jne 0x1400fadf1
mov al, byte [0x1403f9274]
mov ecx, 0x18
mov edx, 8
call fcn.140061500
test rax, rax
je 0x1400fae7a
mov rdi, rax
lea rax, [0x1402e86c0]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x1402e86d8]
test ecx, ecx
je 0x1400fae67
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
test rsi, rsi
je 0x1400fae0f
mov rax, qword [rsi]
mov qword [rsi], 0
test rax, rax
je 0x1400fae11
mov rax, qword [rsi + 8]
jmp 0x1400fae11
xor ebx, ebx
jmp 0x1400fae36
xor eax, eax
lea rbx, [rdi + 0x10]
mov rcx, qword [rdi + 0x10]
cmp qword [rdi + 8], 0
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rax
je 0x1400fae36
test rcx, rcx
je 0x1400fae36
call fcn.1400fae8a
mov rax, rbx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1402e86c0]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fad65
lea rcx, [0x1402e86c0]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fad93
lea rcx, [0x1402e86c0]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fade9
mov ecx, 8
mov edx, 0x18
call fcn.140077010
int3
Function at 0x1400fb0f1
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
mov r14, rcx
mov ecx, dword [0x1402e8798]
test ecx, ecx
je 0x1400fb2e3
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fb130
mov rsi, rax
cmp qword [rax + 8], 0
je 0x1400fb130
add rsi, 0x10
jmp 0x1400fb2d1
mov ecx, dword [0x1402e8798]
test ecx, ecx
je 0x1400fb2f6
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x1400fb237
mov rbx, rax
test rax, rax
jne 0x1400fb1b5
mov qword [rsp + 0x60], 0
lea rax, [0x1402e8780]
mov qword [rsp + 0x58], rax
mov al, byte [0x1403f9274]
mov ecx, 0x68
mov edx, 8
call fcn.140061500
test rax, rax
je 0x1400fb31c
mov rbx, rax
lea rsi, [rsp + 0x58]
mov ecx, 0xd
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [0x1402e8798]
test ecx, ecx
je 0x1400fb309
dec ecx
mov rdx, rbx
call sub.kernel32.dll_TlsSetValue
lea r15, [rbx + 8]
test r14, r14
je 0x1400fb248
lea rax, [rsp + 0x58]
mov ecx, 0xc
mov rdi, rax
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov qword [r14], 0
cmp qword [rax], 0
je 0x1400fb23e
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x40], xmm0
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov r9, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
jmp 0x1400fb272
xor esi, esi
jmp 0x1400fb2d1
lea rcx, [rsp + 0x58]
call fcn.1400fb34b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
movaps xmmword [rsp + 0x40], xmm0
mov edx, 8
xor r8d, r8d
xor r9d, r9d
mov r10d, 8
xor r11d, r11d
lea rax, [rsp + 0x58]
mov ecx, 0xc
mov rdi, rax
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov qword [rbx + 8], 1
lea rsi, [rbx + 0x10]
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx + 0x10], xmm0
mov rcx, qword [rsp + 0x50]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x28], r11
mov qword [rbx + 0x30], r10
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rbx + 0x38], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], r9
mov qword [rbx + 0x58], rdx
mov qword [rbx + 0x60], r8
mov rcx, rax
call fcn.1400fb34b
mov rax, rsi
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, [0x1402e8780]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fb112
lea rcx, [0x1402e8780]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fb140
lea rcx, [0x1402e8780]
call fcn.14020bf50
mov ecx, eax
jmp 0x1400fb1ad
lea rsi, [rsp + 0x60]
mov ecx, 8
mov edx, 0x68
call fcn.140077010
ud2
Function at 0x140103645
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x14010367b
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x140103683
mov esi, dword [rdx]
mov r9d, 4
jmp 0x140103688
xor r10d, r10d
jmp 0x140103736
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x1401036ab
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x1401036c2
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x1401036e2
add r11, r8
jmp 0x140103806
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x1401037aa
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x140103758
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x1401037bc
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x1401037c2
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x1401037e8
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x140103802
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x140109111
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov rdi, rcx
mov ecx, dword [0x1402e8778]
test ecx, ecx
je 0x14010929b
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x140109146
mov rsi, rax
cmp qword [rax + 8], 0
jne 0x140109286
mov ecx, dword [0x1402e8778]
test ecx, ecx
je 0x1401092ae
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x14010928c
mov rsi, rax
test rax, rax
jne 0x1401091b8
mov al, byte [0x1403f9274]
mov ecx, 0x48
mov edx, 8
call fcn.140061500
test rax, rax
je 0x1401092fd
mov rsi, rax
lea rax, [0x1402e8760]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x1402e8778]
test ecx, ecx
je 0x1401092c1
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
test rdi, rdi
je 0x1401091ea
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1401091ea
mov rax, qword [rdi + 8]
movups xmm0, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rdi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
jmp 0x140109220
call fcn.140234fc0
test rax, rax
je 0x1401092d4
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rcx + 1]
mov qword [rax], r8
movups xmm0, xmmword [0x1403b5170]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [str.PQ__]
movaps xmmword [rsp + 0x30], xmm0
xor eax, eax
lea r8, [rsi + 8]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm1
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x40], rdx
cmp qword [rsp + 0x50], 0
je 0x140109286
lea rcx, [rsp + 0x60]
call fcn.1401014a4
add rsi, 0x10
jmp 0x14010928e
xor esi, esi
mov rax, rsi
add rsp, 0x98
pop rdi
pop rsi
ret
lea rcx, [0x1402e8760]
call fcn.14020bf50
mov ecx, eax
jmp 0x14010912d
lea rcx, [0x1402e8760]
call fcn.14020bf50
mov ecx, eax
jmp 0x140109156
lea rcx, [0x1402e8760]
call fcn.14020bf50
mov ecx, eax
jmp 0x1401091b0
lea rax, str.J__
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
lea r9, [0x14034a9c8]
lea r8, [rsp + 0x50]
mov edx, 0x46
call fcn.14007f9a0
mov ecx, 8
mov edx, 0x48
call fcn.140077010
int3
Function at 0x1401131ae
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [0x1402e8738]
test ecx, ecx
je 0x1401132d8
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1401131e6
mov rbx, rax
cmp qword [rax + 8], 0
je 0x1401131e6
add rbx, 0x10
jmp 0x1401132cd
mov ecx, dword [0x1402e8738]
test ecx, ecx
je 0x1401132eb
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x1401132cb
mov rdi, rax
test rax, rax
jne 0x140113258
mov al, byte [0x1403f9274]
mov ecx, 0x30
mov edx, 8
call fcn.140061500
test rax, rax
je 0x140113311
mov rdi, rax
lea rax, [0x1402e8720]
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x1402e8738]
test ecx, ecx
je 0x1401132fe
dec ecx
mov rdx, rdi
call sub.kernel32.dll_TlsSetValue
mov eax, 8
test rsi, rsi
je 0x140113284
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
mov r9, qword [rsi + 0x20]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140113284
mov rax, r8
jmp 0x14011328b
xor ecx, ecx
xor edx, edx
xor r9d, r9d
lea rbx, [rdi + 0x10]
mov r10, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
cmp qword [rdi + 8], 0
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rcx
mov qword [rdi + 0x18], rdx
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], r9
je 0x1401132cd
test r10, r10
je 0x1401132cd
mov rcx, qword [0x1403f9220]
xor edx, edx
call fcn.1402e3f64
jmp 0x1401132cd
xor ebx, ebx
mov rax, rbx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1402e8720]
call fcn.14020bf50
mov ecx, eax
jmp 0x1401131c8
lea rcx, [0x1402e8720]
call fcn.14020bf50
mov ecx, eax
jmp 0x1401131f6
lea rcx, [0x1402e8720]
call fcn.14020bf50
mov ecx, eax
jmp 0x140113250
mov ecx, 8
mov edx, 0x30
call fcn.140077010
int3
Function at 0x140132cd0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x140132d06
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x140132d0e
mov esi, dword [rdx]
mov r9d, 4
jmp 0x140132d13
xor r10d, r10d
jmp 0x140132dc1
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140132d36
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x140132d4d
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x140132d6d
add r11, r8
jmp 0x140132e91
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x140132e35
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x140132de3
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x140132e47
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x140132e4d
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x140132e73
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x140132e8d
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x140147bdc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rax
movabs rdx, 0x100000001b3
mov eax, dword [rcx + 0x10]
mov dword [rsp], eax
movabs rax, 0xcbf29ce484222325
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 4
jne 0x140147bfa
mov r8, qword [rcx]
mov qword [rsp], r8
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 8
jne 0x140147c19
mov r8, qword [rcx + 8]
mov qword [rsp], r8
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 8
jne 0x140147c39
mov r8d, dword [rcx + 0x14]
mov dword [rsp], r8d
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 4
jne 0x140147c59
mov r8d, dword [rcx + 0x18]
mov dword [rsp], r8d
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 4
jne 0x140147c79
movzx r8d, byte [rcx + 0x1d]
mov qword [rsp], r8
xor r8d, r8d
movzx r9d, byte [rsp + r8]
inc r8
xor rax, r9
imul rax, rdx
cmp r8, 8
jne 0x140147c9a
movzx ecx, byte [rcx + 0x1c]
xor rax, rcx
imul rax, rdx
pop rcx
ret
Function at 0x14018b4f0
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rsi, rcx
mov rdi, qword [rcx + 0x10]
xorps xmm6, xmm6
lea rbx, [rsp + 0x20]
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, rbx
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [rbx + 0x28]
cmp eax, 1
adc eax, 0
cmp rdi, rax
je 0x14018b56e
lea rbx, [rsp + 0x20]
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, rbx
call sub.kernel32.dll_GetSystemInfo
mov ecx, dword [rbx + 0x28]
test rcx, rcx
je 0x14018b57b
mov rax, rdi
xor edx, edx
div rcx
sub rdi, rdx
mov rcx, rdi
call sub.kernel32.dll_UnmapViewOfFile
cmp qword [rsi], 0
je 0x14018b56e
mov rcx, qword [rsi + 8]
call sub.kernel32.dll_CloseHandle
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.Pg5_
mov edx, 0x39
call fcn.14007aaa0
int3

Function at 0x1401b2440
Capabilities:
Encode data using xor

Disassembly:
sub rdx, rcx
cmp rdx, 0x20
jb fcn.140081d00
jmp fcn.140079830
Function at 0x1401b33e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov r8, qword [rcx]
test r8, r8
je 0x1401b343b
mov r10, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
cmp rcx, r10
jae 0x1401b343b
movzx eax, byte [r8 + rcx]
cmp eax, 0x49
je 0x1401b3456
cmp eax, 0x42
jne 0x1401b343b
lea r11, [rcx + 1]
mov qword [rsi + 0x10], r11
cmp r11, r10
jae 0x1401b3506
cmp byte [r8 + r11], 0x5f
jne 0x1401b3506
lea rax, [rcx + 2]
mov qword [rsi + 0x10], rax
xor eax, eax
jmp 0x1401b356e
mov rcx, rsi
xor edx, edx
call fcn.1401aee40
mov edi, eax
add dil, dil
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
inc rcx
mov qword [rsi + 0x10], rcx
mov rcx, rsi
xor edx, edx
call fcn.1401aee40
test al, al
jne 0x1401b3601
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1401b3492
lea rdx, [0x14035cbf2]
mov r8d, 1
call fcn.14007a780
test al, al
jne 0x1401b3601
mov rax, qword [rsi]
mov dil, 1
test rax, rax
je 0x1401b344a
xor r14d, r14d
lea rbx, str.__serifsans_serifcursivefantasymonospace
nop word [rax + rax]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 8]
jae 0x1401b34c4
cmp byte [rax + rcx], 0x45
je 0x1401b3623
sub r14, 1
jb 0x1401b34e9
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1401b34e9
mov r8d, 2
mov rdx, rbx
call fcn.14007a780
test al, al
jne 0x1401b3601
mov rcx, rsi
call fcn.1401b06a0
test al, al
jne 0x1401b3601
mov rax, qword [rsi]
test rax, rax
jne 0x1401b34b0
jmp 0x1401b344a
xor eax, eax
mov edi, 0x3e
nop dword [rax]
mov r9b, 1
cmp r11, r10
jae 0x1401b35c8
movzx edx, byte [r8 + r11]
cmp dl, 0x5f
je 0x1401b3562
lea ebx, [rdx - 0x30]
cmp bl, 0xa
jb 0x1401b354c
lea ebx, [rdx - 0x61]
cmp bl, 0x1a
jae 0x1401b353b
add dl, 0xa9
jmp 0x1401b354a
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
jae 0x1401b35c8
add dl, 0xe3
mov ebx, edx
inc r11
mov qword [rsi + 0x10], r11
mul rdi
jo 0x1401b35c8
movzx edx, bl
add rax, rdx
jae 0x1401b3510
jmp 0x1401b35c8
inc r11
mov qword [rsi + 0x10], r11
inc rax
je 0x1401b35c8
cmp rax, rcx
jae 0x1401b35c5
mov ecx, dword [rsi + 0x18]
inc ecx
cmp ecx, 0x1f4
ja 0x1401b361b
cmp qword [rsi + 0x20], 0
je 0x1401b3614
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], ecx
mov rcx, rsi
call fcn.1401b33e0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x1401b344c
mov r9b, 1
xor edi, edi
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1401b3609
mov eax, r9d
xor al, 1
movzx eax, al
lea r8, [rax + rax*8]
add r8, 0x10
lea rax, str.invalid_syntaxrecursion_limit_reached_for_____::closureshim_as_mut_const___dyn___unsafe_extern__
lea rdx, [0x14035cf40]
test r9b, r9b
cmovne rdx, rax
call fcn.14007a780
test al, al
je 0x1401b3609
mov dil, 2
jmp 0x1401b344a
mov qword [rsi], 0
mov byte [rsi + 8], dil
xor edi, edi
jmp 0x1401b344a
mov dil, 1
xor r9d, r9d
jmp 0x1401b35ca
inc rcx
mov qword [rsi + 0x10], rcx
jmp 0x1401b344a
Function at 0x1401cff66
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test byte [rdx + 0xac], 0x20
jne 0x1401d0135
mov rsi, rdx
mov rdx, qword [rdx + 0x10]
mov rdi, qword [rsi + 0x88]
cmp rdx, rdi
jb 0x1401d0153
mov ebp, r9d
mov ebx, r8d
mov r14b, byte [rsp + 0xc0]
mov r15b, byte [rsp + 0xb8]
mov al, byte [rsp + 0xb0]
mov byte [rsp + 0x2f], al
mov rax, qword [rsi + 8]
lea rdx, [rdi*4]
lea rdx, [rdx + rdx*4]
test rdx, rdx
je 0x1401d0135
mov r8b, byte [rax + 0xf]
add rax, 0x14
and r8b, 0xf
add rdx, 0xffffffffffffffec
cmp r8b, bl
jne 0x1401cffcb
mov edx, 0x25cc
call fcn.1401ede49
test ax, ax
je 0x1401d0135
movzx eax, bpl
shl eax, 0x10
lea ebp, [rax + 0xf000000]
test r14b, r14b
cmove ebp, eax
mov word [rsi + 0xbd], 1
mov byte [rsi + 0xbf], 0
xor eax, eax
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x80], rax
test rdi, rdi
je 0x1401d011d
movzx eax, dx
mov dword [rsp + 0x30], eax
xor ecx, ecx
xor r12d, r12d
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x1401d0147
mov rax, qword [rsi + 8]
lea rdx, [rcx + rcx*4]
mov r14b, byte [rax + rdx*4 + 0xf]
cmp r12b, r14b
je 0x1401d00fe
mov r8d, r14d
and r8b, 0xf
cmp r8b, bl
jne 0x1401d00fe
mov r13d, dword [rax + rdx*4 + 4]
mov r12d, dword [rax + rdx*4 + 8]
cmp rcx, rdi
jae 0x1401d00cb
cmp byte [rsp + 0x2f], 0
je 0x1401d00cb
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x1401d0147
mov rax, qword [rsi + 8]
lea rcx, [rcx + rcx*4]
cmp r14b, byte [rax + rcx*4 + 0xf]
jne 0x1401d00cb
lea rax, [rax + rcx*4]
cmp byte [rax + 0x12], r15b
jne 0x1401d00cb
mov rcx, rsi
call fcn.1401bd0ad
mov rcx, qword [rsi + 0x80]
cmp rcx, qword [rsi + 0x88]
jb 0x1401d008d
movzx eax, r14b
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], r12d
shl eax, 0x18
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], ebp
mov rcx, rsi
lea rdx, [rsp + 0x34]
call fcn.1401cb773
mov r12d, r14d
jmp 0x1401d0106
mov rcx, rsi
call fcn.1401bd0ad
mov rcx, qword [rsi + 0x80]
mov rdi, qword [rsi + 0x88]
cmp rcx, rdi
jb 0x1401d0044
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401cb7f2
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, rdi
call fcn.14007a270
int3
Function at 0x1401edbd1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test byte [rdx + 0xac], 0x20
jne 0x1401edda0
mov rsi, rdx
mov rdx, qword [rdx + 0x10]
mov rdi, qword [rsi + 0x88]
cmp rdx, rdi
jb 0x1401eddbe
mov ebp, r9d
mov ebx, r8d
mov r14b, byte [rsp + 0xc0]
mov r15b, byte [rsp + 0xb8]
mov al, byte [rsp + 0xb0]
mov byte [rsp + 0x2f], al
mov rax, qword [rsi + 8]
lea rdx, [rdi*4]
lea rdx, [rdx + rdx*4]
test rdx, rdx
je 0x1401edda0
mov r8b, byte [rax + 0xf]
add rax, 0x14
and r8b, 0xf
add rdx, 0xffffffffffffffec
cmp r8b, bl
jne 0x1401edc36
mov edx, 0x25cc
call fcn.1401ede49
test ax, ax
je 0x1401edda0
movzx eax, bpl
shl eax, 0x10
lea ebp, [rax + 0xf000000]
test r14b, r14b
cmove ebp, eax
mov word [rsi + 0xbd], 1
mov byte [rsi + 0xbf], 0
xor eax, eax
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x80], rax
test rdi, rdi
je 0x1401edd88
movzx eax, dx
mov dword [rsp + 0x30], eax
xor ecx, ecx
xor r12d, r12d
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x1401eddb2
mov rax, qword [rsi + 8]
lea rdx, [rcx + rcx*4]
mov r14b, byte [rax + rdx*4 + 0xf]
cmp r12b, r14b
je 0x1401edd69
mov r8d, r14d
and r8b, 0xf
cmp r8b, bl
jne 0x1401edd69
mov r13d, dword [rax + rdx*4 + 4]
mov r12d, dword [rax + rdx*4 + 8]
cmp rcx, rdi
jae 0x1401edd36
cmp byte [rsp + 0x2f], 0
je 0x1401edd36
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x1401eddb2
mov rax, qword [rsi + 8]
lea rcx, [rcx + rcx*4]
cmp r14b, byte [rax + rcx*4 + 0xf]
jne 0x1401edd36
lea rax, [rax + rcx*4]
cmp byte [rax + 0x12], r15b
jne 0x1401edd36
mov rcx, rsi
call fcn.1401e430a
mov rcx, qword [rsi + 0x80]
cmp rcx, qword [rsi + 0x88]
jb 0x1401edcf8
movzx eax, r14b
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], r12d
shl eax, 0x18
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], ebp
mov rcx, rsi
lea rdx, [rsp + 0x34]
call fcn.1401ee0ae
mov r12d, r14d
jmp 0x1401edd71
mov rcx, rsi
call fcn.1401e430a
mov rcx, qword [rsi + 0x80]
mov rdi, qword [rsi + 0x88]
cmp rcx, rdi
jb 0x1401edcaf
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401edf1e
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.12.1_src_buffer.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.12.1_src_buffer.rs
mov rcx, rdi
call fcn.14007a270
int3