joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140254f40
Capabilities:
Enumerate process modules

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov ebx, edx
mov qword [rbp - 0x40], r8
mov rsi, r8
lea rdi, [rcx + 0x10]
xor eax, eax
test rcx, rcx
cmove rdi, rax
mov qword [rbp - 0x48], rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov qword [rbp - 0x54], rcx
mov edx, ebx
mov dword [rbp - 0x4c], edx
mov r8, rsi
mov qword [rbp - 0x5c], r8
lea rcx, [rbp - 0x88]
call fcn.140007610
mov rcx, qword [rbp - 0x54]
mov edx, dword [rbp - 0x4c]
mov r8, qword [rbp - 0x5c]
call sub.KERNEL32.dll_K32EnumProcesses
mov ebx, eax
lea rcx, [rbp - 0x88]
call fcn.140007660
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.140003b7c
mov dword [rax + 0xd8], esi
movzx eax, bl
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140255930
Capabilities:
Create pipe

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xe0]
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rbx, r8
mov r14d, r9d
xor ecx, ecx
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x50], rcx
mov byte [rbp - 0x5c], 0
lea rcx, [0x14042e508]
call fcn.1403c9a30
mov qword [rbp - 0x68], rax
mov byte [rbp - 0x60], 0
lea rcx, [0x14042e508]
call fcn.1403c9a30
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x58], rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x7c], rcx
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x84], rdx
mov r8, rbx
mov qword [rbp - 0x8c], r8
mov r9d, r14d
mov dword [rbp - 0x74], r9d
lea rcx, [rbp - 0xb8]
call fcn.140007610
mov rcx, qword [rbp - 0x7c]
mov rdx, qword [rbp - 0x84]
mov r8, qword [rbp - 0x8c]
mov r9d, dword [rbp - 0x74]
call sub.KERNEL32.dll_CreatePipe
mov ebx, eax
lea rcx, [rbp - 0xb8]
call fcn.140007660
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x3c], 1
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x5c], 1
mov rax, qword [rbp - 0x68]
mov qword [rax + 8], rcx
mov rcx, qword [rbp - 0x48]
mov byte [rbp - 0x60], 1
mov r8, qword [rbp - 0x70]
mov qword [r8 + 8], rcx
test ebx, ebx
setne bl
movzx ebx, bl
mov rcx, qword [rbp + 0x18]
mov rdx, rax
call fcn.140007400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x70]
call fcn.140007400
nop
call fcn.140003b7c
mov dword [rax + 0xd8], esi
movzx eax, bl
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1402dcb90
Capabilities:
Get file version info

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
test rdx, rdx
je 0x1402dcbb9
add rdx, 0xc
jmp 0x1402dcbbb
xor edx, edx
mov qword [rbp - 0x40], rdx
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x44], ecx
mov qword [rbp - 0x54], rdx
mov dword [rbp - 0x48], r8d
mov dword [rbp - 0x4c], r9d
lea rcx, [rbp - 0x80]
call fcn.140007610
mov ecx, dword [rbp - 0x44]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x48]
mov r9d, dword [rbp - 0x4c]
call sub.VERSION.dll_GetFileVersionInfoExW
mov ebx, eax
lea rcx, [rbp - 0x80]
call fcn.140007660
xor eax, eax
mov qword [rbp - 0x40], rax
xor eax, eax
test ebx, ebx
setne al
movzx eax, al
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140397040
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x38
cmp r8d, 8
jge 0x1403970dd
xor eax, eax
cmp r8d, 4
jl 0x140397091
add r8d, 0xfffffffc
movsx r10, word [rcx + rax*2]
movsx r9, dx
cmp r10d, r9d
je 0x1403970d8
nop dword [rax]
movsx r10, word [rcx + rax*2 + 2]
cmp r10d, r9d
je 0x1403970d1
movsx r10, word [rcx + rax*2 + 4]
cmp r10d, r9d
je 0x1403970c9
movsx r10, word [rcx + rax*2 + 6]
cmp r10d, r9d
je 0x1403970c1
add rax, 4
test r8d, r8d
jle 0x1403972ba
movsx r9, dx
nop
dec r8d
movsx rdx, word [rcx + rax*2]
cmp edx, r9d
je 0x1403970d8
inc rax
test r8d, r8d
jg 0x1403970a0
jmp 0x1403972ba
add eax, 3
jmp 0x1403972b5
add eax, 2
jmp 0x1403972b5
inc eax
jmp 0x1403972b5
jmp 0x1403972b5
movsx r9, dx
movd xmm0, r9d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov rax, rcx
lea edx, [r8 - 8]
movsxd rdx, edx
add rdx, rdx
lea r10, [rax + rdx]
movups xmm1, xmmword [rax]
pcmpeqw xmm1, xmm0
movaps xmmword [rsp + 0x20], xmm1
xorps xmm2, xmm2
pcmpeqw xmm1, xmm2
pmovmskb r9d, xmm1
cmp r9d, 0xffff
jne 0x1403971f6
add rax, 0x10
cmp rax, r10
jbe 0x140397100
mov eax, r8d
test al, 7
je 0x1403972ba
movups xmm1, xmmword [r10]
pcmpeqw xmm0, xmm1
movaps xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
pcmpeqw xmm0, xmm1
pmovmskb ecx, xmm0
cmp ecx, 0xffff
je 0x1403972ba
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx r8d, word [rsp + 2]
shr r8d, 0xf
add r8d, r8d
or ecx, r8d
movzx r8d, word [rsp + 4]
shr r8d, 0xf
shl r8d, 2
or r8d, ecx
mov ecx, r8d
movzx r8d, word [rsp + 6]
shr r8d, 0xf
shl r8d, 3
or r8d, ecx
mov ecx, r8d
shl ecx, 4
or eax, ecx
jne 0x1403972ac
mov ecx, 0x20
jmp 0x1403972af
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx edx, word [rsp + 0x18]
shr edx, 0xf
movzx r8d, word [rsp + 0x1a]
shr r8d, 0xf
add r8d, r8d
or edx, r8d
movzx r8d, word [rsp + 0x1c]
shr r8d, 0xf
shl r8d, 2
or r8d, edx
mov edx, r8d
movzx r8d, word [rsp + 0x1e]
shr r8d, 0xf
shl r8d, 3
or r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
jne 0x14039729d
mov r8d, 0x20
jmp 0x1403972a1
bsf r8d, edx
sub rax, rcx
shr rax, 1
add eax, r8d
jmp 0x1403972b5
bsf ecx, eax
shr rdx, 1
lea eax, [rdx + rcx]
add rsp, 0x38
ret
mov eax, 0xffffffff
add rsp, 0x38
ret
Function at 0x1403a1800
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
cmp r9d, 8
jge 0x1403a1851
movzx r10d, dx
sub r8d, r10d
movzx eax, r8w
xor edx, edx
test r9d, r9d
jle 0x1403a1a7b
movsxd r8, edx
movzx r8d, word [rcx + r8*2]
sub r8d, r10d
movzx r8d, r8w
cmp r8d, eax
jle 0x1403a1845
inc edx
cmp edx, r9d
jl 0x1403a1825
jmp 0x1403a1a7b
mov eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
movzx r10d, dx
movd xmm0, r10d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov eax, r8d
sub eax, r10d
movzx eax, ax
movd xmm1, eax
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
mov rax, rcx
add r9d, 0xfffffff8
mov edx, r9d
add rdx, rdx
lea r8, [rax + rdx]
movups xmm2, xmmword [0x1405e5400]
movaps xmm3, xmm1
psubw xmm3, xmm2
movups xmm4, xmmword [rax]
psubw xmm4, xmm0
movaps xmm5, xmm4
psubw xmm5, xmm2
movaps xmm6, xmm3
pcmpgtw xmm6, xmm5
pcmpeqw xmm4, xmm1
por xmm4, xmm6
movaps xmmword [rsp + 0x20], xmm4
xorps xmm5, xmm5
pcmpeqw xmm4, xmm5
pmovmskb r10d, xmm4
cmp r10d, 0xffff
jne 0x1403a19bb
add rax, 0x10
cmp rax, r8
jb 0x1403a1898
movups xmm4, xmmword [r8]
psubw xmm4, xmm0
movaps xmm0, xmm4
psubw xmm0, xmm2
pcmpgtw xmm3, xmm0
pcmpeqw xmm1, xmm4
por xmm1, xmm3
movaps xmmword [rsp + 0x20], xmm1
xorps xmm0, xmm0
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1403a1a7b
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx r8d, word [rsp + 2]
shr r8d, 0xf
add r8d, r8d
or ecx, r8d
movzx r8d, word [rsp + 4]
shr r8d, 0xf
shl r8d, 2
or r8d, ecx
mov ecx, r8d
movzx r8d, word [rsp + 6]
shr r8d, 0xf
shl r8d, 3
or r8d, ecx
mov ecx, r8d
shl ecx, 4
or eax, ecx
bsf ecx, eax
mov r8d, 0x20
test eax, eax
cmove ecx, r8d
mov eax, ecx
shr rdx, 1
add eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx edx, word [rsp + 0x18]
shr edx, 0xf
movzx r8d, word [rsp + 0x1a]
shr r8d, 0xf
add r8d, r8d
or edx, r8d
movzx r8d, word [rsp + 0x1c]
shr r8d, 0xf
shl r8d, 2
or r8d, edx
mov edx, r8d
movzx r8d, word [rsp + 0x1e]
shr r8d, 0xf
shl r8d, 3
or r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
bsf r8d, edx
mov r10d, 0x20
test edx, edx
cmove r8d, r10d
sub rax, rcx
shr rax, 1
add eax, r8d
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov eax, 0xffffffff
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x140cb20b0
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.140cb2237
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 0x140cb20e1
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cb20c7
add dl, dl
jne 0x140cb20ee
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cb214e
xor eax, eax
add dl, dl
jne 0x140cb20fd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cb2205
add dl, dl
jne 0x140cb210e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cb211b
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cb2128
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cb2135
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140cb2142
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140cb20d6
mov eax, 1
add dl, dl
jne 0x140cb215e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cb216b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cb2153
sub eax, ebx
mov ebx, 1
jne 0x140cb21a4
mov ecx, 1
add dl, dl
jne 0x140cb2186
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140cb2193
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cb217b
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cb20d6
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140cb21c0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140cb21cd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cb21b5
cmp eax, 0x7d00
jae 0x140cb21f3
cmp eax, 0x500
jb 0x140cb21ee
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cb20d6
cmp eax, 0x7f
ja 0x140cb21f6
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cb20d6
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140cb222a
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 0x140cb20d6
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x2fc4c4fd0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sym.__acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sym.fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sym.__acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call sym.vfprintf
call sym.abort
nop

Function at 0x2fc4c59d2
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x2fc4e8108]
test eax, eax
je 0x2fc4c5a6a
lea rax, [0x2fc4e80e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x2fc4e8110]
mov qword [rbp - 8], rax
jmp 0x2fc4c5a4e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x2fc4c5a42
cmp qword [rbp - 0x10], 0
je 0x2fc4c5a42
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x2fc4c5a08
lea rax, [0x2fc4e80e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x2fc4c5a6b
nop
add rsp, 0x30
pop rbp
ret

Function at 0x2fc4c5b70
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x2fc4c5b98
mov eax, 0
jmp 0x2fc4c5be6
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x2fc4c5bc1
mov eax, 0
jmp 0x2fc4c5be6
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x2fc4c5be1
mov eax, 0
jmp 0x2fc4c5be6
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x2fc4c5bec
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc4c5c6a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc4c5c61
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc4c5c61
mov rax, qword [rbp - 8]
jmp 0x2fc4c5c7f
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc4c5c34
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x140003580
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x1400035dd
lea rbx, [0x140079ed0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1400035c4
cmp r10, 2
jb 0x1400035c4
cmp byte [r9], r8b
jne 0x1400035c4
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1400035a0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14000361f
lea rbx, [0x140079ed0]
cmp r8b, 0x23
jne 0x140003603
cmp byte [r9], r8b
jne 0x140003603
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x1400035f0
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x1400037e0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x20
mov rsi, r8
mov rbx, rcx
test rcx, rcx
jne 0x14000380f
mov r8d, 0x7c1
lea rdx, str.G:VisualStudioProjectsMove_Splicerimgui.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rsi, rsi
je 0x14000381b
mov qword [rsi], 0
lea rdx, [0x140077228]
mov rcx, rbx
call fcn.140003630
mov rbx, rax
test rax, rax
jne 0x14000383d
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x140003928
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140003928
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140003928
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140003928
cmp rdi, 0xffffffffffffffff
je 0x140003928
mov rax, qword [0x14008fd50]
test rax, rax
je 0x1400038b9
inc dword [rax + 0xfc]
mov rdx, qword [0x14008fd40]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbp, rax
test rax, rax
je 0x140003928
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x140003915
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x14008fd50]
test rax, rax
je 0x140003904
dec dword [rax + 0xfc]
mov rdx, qword [0x14008fd40]
mov rcx, rbp
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x140003931
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rsi, rsi
je 0x140003923
mov qword [rsi], rdi
mov rax, rbp
jmp 0x140003933
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x1400077b0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x120]
mov rbx, rcx
movsxd rdi, edx
test eax, eax
jg 0x1400077ee
mov r8d, 0x74e
lea rdx, str.G:VisualStudioProjectsMove_Splicerimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx + 0x120]
movsxd rcx, eax
lea rdx, [0x140079ed0]
mov rax, qword [rbx + 0x128]
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, dil
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x39]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdx + rcx*4]
mov rcx, qword [0x14008fd50]
not ebx
cmp dword [rcx + 0x4020], ebx
jne 0x140007868
mov r8, rdi
mov edx, 4
mov ecx, ebx
call fcn.14002ed80
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140007880
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov eax, dword [rcx + 0x120]
mov rdi, rdx
mov rbx, rcx
test eax, eax
jg 0x1400078ba
mov r8d, 0x74e
lea rdx, str.G:VisualStudioProjectsMove_Splicerimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx + 0x120]
movss xmm2, dword [rbx + 0x140]
lea r9, [0x140079ed0]
movss xmm0, dword [rdi]
movss xmm3, dword [rbx + 0x144]
subss xmm0, xmm2
movss xmm1, dword [rdi + 4]
movsxd rcx, eax
subss xmm1, xmm3
mov rax, qword [rbx + 0x128]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rdi + 8]
mov r8d, dword [rax + rcx*4 - 4]
subss xmm0, xmm2
movzx eax, byte [rsp + 0x20]
not r8d
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x21]
movss dword [rsp + 0x24], xmm1
movss xmm1, dword [rdi + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x22]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x2c], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x23]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x24]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x25]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x26]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x27]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x28]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x29]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2a]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2b]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2c]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
mov rbx, qword [rsp + 0x40]
xor rcx, rax
movzx eax, byte [rsp + 0x2d]
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2e]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0x2f]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x30
pop rdi
ret
Function at 0x14000c980
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x14000c9d0
lea r11, [0x140079ed0]
nop dword [rax]
cmp r9b, 0x23
jne 0x14000c9b3
cmp byte [r8], r9b
jne 0x14000c9b3
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x14000c9a0
mov rcx, qword [0x14008fd50]
not edx
add rcx, 0x3fb8
jmp fcn.140003cf0
Function at 0x140018f00
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [0x14008fd50]
mov edi, ecx
cmp byte [rbx + 0x4bd5], 0
jne 0x140018f52
cmp byte [rbx + 0x4bd6], 0
jne 0x140018f52
movsx r9d, word [rbx + 0x5cda]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.140003410
test dil, 1
je 0x140019088
jmp 0x140018fe2
movss xmm1, dword [rbx + 0x39a8]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x140082e04]
xor eax, eax
mulss xmm1, dword [0x140082df8]
addss xmm0, dword [rbx + 0xe04]
lea edx, [rax + 0x10]
addss xmm1, dword [rbx + 0xe08]
mov qword [rbx + 0x48cc], rax
mov dword [rbx + 0x48b4], 1
movss dword [rbx + 0x48c4], xmm0
mov byte [rbx + 0x48ec], 1
movss dword [rbx + 0x48c8], xmm1
movss xmm0, dword [rbx + 0x3a04]
mulss xmm0, dword [0x140082d20]
or dword [rbx + 0x48b0], 0x41
movss dword [rbx + 0x4910], xmm0
movsx r9d, word [rbx + 0x5cda]
call fcn.140003410
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x140019032
lea r11, [0x140079ed0]
cmp r9b, 0x23
jne 0x140019015
cmp byte [r8], r9b
jne 0x140019015
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x140019002
mov rcx, qword [0x14008fd50]
not edx
add rcx, 0x3fb8
call fcn.140003cf0
test rax, rax
je 0x140019088
cmp byte [rax + 0xe3], 0
je 0x140019088
mov byte [rax + 0xea], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0x108], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x5cda]
mov edx, 0x10
movsx r9d, word [rbx + 0x5cda]
call fcn.140003410
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x22c0347
call fcn.14000fb60
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret