joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1402015c0
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rcx
lea rax, vtable.Management::FileSystemMonitor.0
mov qword [rcx + 0x10], rax
mov rdi, qword [rcx + 0x60]
xor r9d, r9d
mov r8d, 0x2710
mov rdx, rdi
mov rcx, qword [rcx + 0x78]
call qword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
cmp eax, 0x102
jne 0x140201604
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateThread]
cmp dword [rbx + 0x68], 0
je 0x140201631
movups xmm0, xmmword [rbx + 0x60]
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.140333d98
test eax, eax
jne 0x1402016c1
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rbx + 0x60], xmm0
mov rcx, qword [rbx + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140201644
call qword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x140201653
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x140201662
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rbx + 0x68], 0
jne 0x1402016bb
lea rcx, [rbx + 0x48]
call fcn.14020c700
lea rcx, [rbx + 0x28]
call fcn.140073b90
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x1402016b0
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1402016b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1402016b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
call fcn.140370f40
int3
mov ecx, eax
call fcn.140333d14
int3
Function at 0x140209d10
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
mov rbx, rdx
call qword [rax + 0x10]
test al, al
je 0x140209d41
cmp qword [rbx + 0x18], 8
jb 0x140209d2d
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne al
add rsp, 0x20
pop rbx
ret
mov al, 1
add rsp, 0x20
pop rbx
ret

Function at 0x140209d50
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub rsp, 0x28
cmp qword [rdx + 0x18], 8
jb 0x140209d5e
mov rdx, qword [rdx]
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140209d77
test al, 0x10
jne 0x140209d77
mov al, 1
add rsp, 0x28
ret
xor al, al
add rsp, 0x28
ret
Function at 0x14020bb70
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x280
mov rax, qword [0x140672360]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r14, rcx
mov qword [rsp + 0x50], rcx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x23]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov r9d, eax
test eax, eax
jns 0x14020bc2a
lea rcx, str.0cg_
mov rax, qword [str.0cg_]
cmp rax, rcx
je 0x14020bc03
test byte [rax + 0x1c], 1
je 0x14020bc03
cmp byte [rax + 0x19], 2
jb 0x14020bc03
lfence
mov edx, 0xa
lea r8, [0x140608d60]
mov rcx, qword [str.0cg_]
mov rcx, qword [rcx + 0x10]
call fcn.140082b10
xor esi, esi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
lea r8d, [rsi + 0xe]
lea rdx, str.C:ProgramData
jmp 0x14020bc5f
xor esi, esi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
lea rax, [rsp + 0x60]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], si
jne 0x14020bc50
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400739a0
nop
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 0x3a
jb 0x14020bcb9
lea rdi, [rcx + 0x3a]
mov qword [rsp + 0x40], rdi
lea rbx, [rsp + 0x30]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x30]
lea rcx, [rbx + rcx*2]
mov r8d, 0x74
lea rdx, str.SophosManagement_Communications_SystemEndpointMessages
call fcn.14035bc80
mov word [rbx + rdi*2], si
lea rax, [rsp + 0x30]
jmp 0x14020bcdb
lfence
mov qword [rsp + 0x20], 0x3a
lea r9, str.SophosManagement_Communications_SystemEndpointMessages
mov edx, 0x3a
lea rcx, [rsp + 0x30]
call fcn.1400735a0
mov qword [r14], rsi
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14020bd43
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14020bd3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14020bd70
call fcn.140359090
mov rax, r14
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140359070
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call fcn.140368068
int3
Function at 0x14020c120
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0xa0
mov rax, qword [0x140672360]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rbx, r9
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdx
lea rax, vtable.Management::FileSystemMonitor.0
mov qword [rcx], rax
xor ebp, ebp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov rax, qword [rdx + 8]
test rax, rax
je 0x14020c175
lock inc dword [rax + 8]
mov rax, qword [rdx]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 0x10], rax
add rcx, 0x18
mov rdx, r8
call fcn.1400733c0
nop
mov qword [rdi + 0x38], rbp
mov qword [rdi + 0x40], rbp
lfence
mov ecx, 0x50
call fcn.1403590cc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x48], ebx
mov eax, dword [rsp + 0xe0]
mov dword [rdi + 0x4c], eax
xorps xmm0, xmm0
movups xmmword [rdi + 0x50], xmm0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x60], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x68], rax
mov qword [rdi + 0x70], 0xffffffffffffffff
cmp qword [rdi + 0x60], 0
je 0x14020c2b1
cmp rax, 0
je 0x14020c2b1
mov ecx, 8
call fcn.1403590cc
mov qword [rax], rdi
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebp
mov r9, rax
lea r8, [0x14020c7b0]
xor edx, edx
xor ecx, ecx
call fcn.1403711e8
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14020c2a2
cmp dword [rdi + 0x58], 0
jne 0x14020c2eb
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi + 0x50], xmm0
mov edx, 0xea60
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14020c2ce
mov rcx, rsi
call fcn.140075ed0
mov rax, rdi
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140359070
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x38], ebp
mov ecx, 6
call fcn.140333d50
nop
lea rdx, str.Failed_to_monitor_directory._CreateEventW_failed.
lea rcx, [rsp + 0x70]
call fcn.140073260
nop
lea rcx, [rsp + 0x70]
call fcn.140124ec0
nop
lea rdx, str.Failed_to_monitor_directory._Worker_thread_did_not_start.
lea rcx, [rsp + 0x50]
call fcn.140073260
nop
lea rcx, [rsp + 0x50]
call fcn.140124ec0
nop
call fcn.140370f40
int3
Function at 0x14020e550
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r14, rcx
test rcx, rcx
je 0x14020e6ed
cmp qword [rcx + 0x68], 0
je 0x14020e6ed
lea r8, str.Starting_communications_threads...
mov edx, 1
mov ecx, 0x10000
call fcn.140210430
xor r15d, r15d
mov esi, r15d
cmp r15d, dword [r14 + 0x60]
jae 0x14020e63e
nop word [rax + rax]
mov rax, qword [r14 + 0x68]
mov ecx, esi
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x14020e63a
mov rbp, qword [rbx + 0x38]
test rbp, rbp
je 0x14020e63a
lea rcx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [rbx + 0x88], 1
lea rcx, [rbx + 0x60]
je 0x14020e634
mov byte [rbx + 0x88], 1
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r9, qword [rbx + 0x40]
lea rax, [rbp + 0x10]
mov r8, qword [rbx + 0x48]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp + 8], rax
test rax, rax
je 0x14020e61f
inc esi
cmp esi, dword [r14 + 0x60]
jb 0x14020e5b0
jmp 0x14020e63a
lea rcx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rbx + 0x60]
mov byte [rbx + 0x88], r15b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, dword [r14 + 0x60]
jne 0x14020e647
mov al, 1
jmp 0x14020e6ef
test esi, esi
je 0x14020e693
mov qword [rsp + 0x50], r12
mov r12, r15
mov ebp, esi
nop word [rax + rax]
mov rax, qword [r14 + 0x68]
mov rbx, qword [r12 + rax]
lea rcx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rbx + 0x60]
mov byte [rbx + 0x88], r15b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r12, [r12 + 8]
sub rbp, 1
jne 0x14020e660
mov r12, qword [rsp + 0x50]
mov rcx, qword [r14]
test rcx, rcx
je 0x14020e6a3
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CancelIoEx]
test esi, esi
je 0x14020e6ed
mov edi, esi
nop dword [rax]
mov rax, qword [r14 + 0x68]
mov rbx, qword [r15 + rax]
test rbx, rbx
je 0x14020e6e3
mov rbx, qword [rbx + 0x38]
test rbx, rbx
je 0x14020e6e3
cmp qword [rbx + 8], 0
je 0x14020e6e3
nop dword [rax]
mov rcx, qword [rbx + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14020e6d0
add r15, 8
sub rdi, 1
jne 0x14020e6b0
xor al, al
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x140212530
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x140672360]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, rcx
mov ecx, 8
call fcn.1403590cc
mov qword [rax], rbx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x140214750]
xor edx, edx
xor ecx, ecx
call fcn.1403711e8
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1402125b7
cmp dword [rbx + 0x120], 0
jne 0x1402125b1
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx + 0x118], xmm0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140359070
add rsp, 0x50
pop rbx
ret
call fcn.140370f40
nop
mov dword [rsp + 0x38], 0
mov ecx, 6
call fcn.140333d50
int3
Function at 0x140248c10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0x38
mov rsi, qword [rcx + 0x98]
mov rbx, rcx
mov rdi, qword [rcx + 0x10]
mov r12, qword [rcx]
test rsi, rsi
je 0x140248e0d
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r13
xor r13d, r13d
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x30], r15
nop dword [rax + rax]
movsxd rbp, dword [rsi + 0x10]
movzx eax, byte [rbx + 0x1f]
mov r14d, dword [rsi + 0x14]
shl rbp, 5
add rbp, qword [r12 + 0x20]
test al, al
jne 0x140248c72
inc dword [rbx + 0x38]
mov r15d, dword [rbx + 0x38]
jmp 0x140248c82
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r15d, dword [rbx + rax*4 + 0xd8]
movsxd rcx, dword [rdi + 0x90]
lea r8d, [r14 + 2]
lea edx, [rcx + 7]
cmp dword [rdi + 0x94], ecx
jg 0x140248caf
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x37
mov rcx, rdi
call fcn.1402884f0
jmp 0x140248cdd
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x37
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r13
mov r9, qword [rbp + 0x18]
xor edx, edx
mov r8d, dword [rsi + 0x10]
mov rcx, rbx
mov dword [rsp + 0x20], 0x71
mov r9, qword [r9 + 0x68]
call fcn.1402df6e0
mov eax, dword [rdi + 0x90]
add eax, 5
cmp eax, dword [rdi + 0x94]
jle 0x140248d21
mov edx, 5
mov rcx, rdi
call fcn.140288560
test eax, eax
jne 0x140248df9
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 8], 2
mov byte [rax + rcx*8], 0x33
mov dword [rax + rcx*8 + 4], r13d
lea rdx, [rax + rcx*8]
mov eax, dword [rdi + 0x90]
mov dword [rdx + 0xc], r13d
lea ecx, [r14 + 1]
mov byte [rdx + 1], r13b
add eax, 2
mov dword [rdx + 8], eax
lea eax, [r14 - 1]
mov qword [rdx + 0x10], r13
mov word [rdx + 2], r13w
mov qword [rdx + 0x18], 0x7f
mov qword [rdx + 0x20], r13
mov qword [rdx + 0x28], r13
mov qword [rdx + 0x30], 0x61
mov qword [rdx + 0x38], 2
mov qword [rdx + 0x40], r13
mov qword [rdx + 0x48], 0x80
mov qword [rdx + 0x50], r13
mov qword [rdx + 0x58], r13
mov qword [rdx + 0x60], 0x7a
mov qword [rdx + 0x68], r13
mov qword [rdx + 0x70], r13
add dword [rdi + 0x90], 5
mov dword [rdx + 0x34], eax
mov eax, 8
mov word [rdx + 0x4a], ax
mov dword [rdx + 4], ecx
mov dword [rdx + 0x20], ecx
mov dword [rdx + 0x3c], r15d
mov dword [rdx + 0x50], r15d
mov dword [rdx + 0x54], ecx
test r15d, r15d
je 0x140248ded
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140248ded
mov dword [rbx + rax*4 + 0xd8], r15d
inc byte [rbx + 0x1f]
mov rsi, qword [rsi]
test rsi, rsi
jne 0x140248c50
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
add rsp, 0x38
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x14025a470
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
push r14
sub rsp, 0x68
movzx eax, byte [rdx]
mov r14, rdx
mov rdi, rcx
cmp al, 0xb0
jne 0x14025a489
movzx eax, byte [rdx + 2]
cmp al, 0xb1
jne 0x14025a493
mov rax, qword [rdx + 0x20]
jmp 0x14025a4a3
cmp al, 0x8a
jne 0x14025a627
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
movsxd rcx, dword [rax]
cmp ecx, 1
je 0x14025a627
mov dword [r8], 0
cmp byte [rdx], 0x8a
jne 0x14025a4ca
mov rcx, rdi
add rsp, 0x68
pop r14
pop rdi
jmp fcn.1402bd0f0
mov eax, dword [rdi + 0x38]
mov qword [rsp + 0x60], r12
mov r12, rcx
mov qword [rsp + 0x58], r13
lea r13d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x88], r13d
mov dword [rdi + 0x38], eax
test ecx, ecx
jle 0x14025a612
mov qword [rsp + 0x80], rbx
lea rcx, [0x1402f1140]
mov qword [rsp + 0x90], rbp
mov ebp, r13d
mov qword [rsp + 0x50], r15
lea r13, [fcn.14025b4a0]
xor r15d, r15d
mov qword [rsp + 0x98], rsi
lea edx, [r15 + 2]
nop dword [rax + rax]
cmp byte [rdi + 0x23], 0
mov rax, qword [r14 + 0x20]
mov rbx, qword [rax + r15 + 8]
je 0x14025a580
mov word [rsp + 0x44], dx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x48], 0
test rbx, rbx
je 0x14025a570
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140321250
cmp word [rsp + 0x44], 0
je 0x14025a580
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.1402c7120
jmp 0x14025a5c0
mov rsi, qword [rdi]
test rbx, rbx
je 0x14025a59c
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14025a900
mov rbx, rax
cmp byte [rsi + 0x67], 0
jne 0x14025a5b0
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.1402c54d0
test rbx, rbx
je 0x14025a5c0
mov rdx, rbx
mov rcx, rsi
call fcn.1402c8e50
inc ebp
lea rcx, [0x1402f1140]
add r15, 0x20
mov edx, 2
sub r12, 1
jne 0x14025a530
mov eax, dword [rsp + 0x88]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsp, 0x68
pop r14
pop rdi
ret
mov r12, qword [rsp + 0x60]
mov eax, r13d
mov r13, qword [rsp + 0x58]
add rsp, 0x68
pop r14
pop rdi
ret
mov rcx, rdi
add rsp, 0x68
pop r14
pop rdi
jmp fcn.1402c8740
Function at 0x140287b60
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rsi
sub rsp, 0x28
mov qword [rsp + 0x40], rbp
mov rbp, rcx
mov qword [rsp + 0x48], rdi
mov rdi, rdx
mov rdx, qword [rdx + 0x30]
mov qword [rsp + 0x58], r14
mov r14, r9
test r8d, r8d
je 0x140287bf9
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0x50], 0
call fcn.140234d20
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, rbp
mov rsi, rax
call fcn.1402866d0
mov ebx, eax
test eax, eax
jne 0x140287bdd
movzx ecx, byte [rdi + 0x27]
mov r8d, dword [rsp + 0x50]
imul edx, ecx, 0x33
add r8d, 0xffffffc0
mov dword [rdi + 0x20], r8d
add edx, 4
cmp edx, r8d
jge 0x140287c60
mov dword [rdi + 0x20], edx
jmp 0x140287c60
mov rcx, rbp
call fcn.140235f30
mov rdx, rax
lea rcx, [0x1406060c0]
call fcn.140234d20
mov qword [r14], rax
jmp 0x140287c60
mov r8, qword [rdi + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
mov qword [rsp + 0x20], r15
call fcn.140234d20
lea r8, [rdi + 0x20]
mov rdx, rax
mov rcx, rbp
mov rsi, rax
call fcn.1402866d0
mov ebx, eax
test eax, eax
je 0x140287c3a
mov rcx, rbp
call fcn.140235f30
mov rdx, rax
lea rcx, [0x1406060c0]
jmp 0x140287c53
cmp dword [rdi + 0x20], 0x1c0
jge 0x140287c5b
mov rdx, qword [rdi + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov ebx, 0x10b
call fcn.140234d20
mov qword [r14], rax
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
test rsi, rsi
je 0x140287cd6
cmp dword [0x14066e1b0], 0
je 0x140287ccd
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x140287c8f
call qword [0x14066e230]
mov rcx, rsi
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, rsi
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x140287cd6
call qword [0x14066e240]
mov eax, ebx
add rsp, 0x28
pop rsi
pop rbx
ret
mov rcx, rsi
call qword [0x14066e1d8]
mov eax, ebx
add rsp, 0x28
pop rsi
pop rbx
ret
Function at 0x14029f030
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
mov r14d, dword [rsp + 0x70]
mov ebx, r8d
mov dword [rax - 0x18], r14d
mov rbp, r9
mov qword [rax - 0x20], r9
mov rdi, rdx
mov r9, rdx
mov byte [rcx + 0x1c], 1
mov r8, rdx
mov dword [rax - 0x28], ebx
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov rsi, rcx
call fcn.1402df320
test ebx, ebx
jne 0x14029f099
mov r9, rbp
mov dword [rsp + 0x20], r14d
mov r8, rdi
lea rdx, str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
mov rcx, rsi
call fcn.1402df320
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x1402a2930
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x40]
xor ebx, ebx
mov r12, r8
mov r15, rdx
mov rdi, rcx
test eax, eax
jne 0x1402a2ac1
cmp qword [rcx + 0x20], rbx
jne 0x1402a297d
mov r9, qword [rcx + 0x10]
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
mov r8, qword [rcx + 8]
call fcn.1402a2f70
mov qword [rdi + 0x20], rax
mov eax, dword [rdi + 0x40]
test eax, eax
jne 0x1402a2ac1
mov rcx, qword [rdi + 0x20]
mov r8, r15
mov edx, 1
call fcn.140236710
mov rcx, qword [rdi + 0x20]
call fcn.140236dc0
cmp eax, 0x64
jne 0x1402a2a91
mov rcx, qword [rdi + 0x20]
xor edx, edx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
call fcn.1402379b0
mov rsi, qword [rdi + 0x20]
movsxd r14, eax
test rsi, rsi
jne 0x1402a29d7
lea rcx, [0x140527f48]
call fcn.1402380d0
mov rbp, rax
jmp 0x1402a2a4e
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402a29e9
call qword [0x14066e230]
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
je 0x1402a29fe
cmp bx, word [rsi + 0xc0]
jb 0x1402a2a19
mov rcx, qword [rsi]
mov edx, 0x19
mov dword [rcx + 0x50], 0x19
call fcn.1402c43c0
lea rcx, [0x140527f48]
call fcn.1402380d0
mov rcx, qword [rsi]
mov rbp, rax
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], bl
jne 0x1402a2a34
test edx, edx
jne 0x1402a2a34
mov eax, ebx
jmp 0x1402a2a3c
call fcn.1402488a0
mov rcx, qword [rsi]
mov dword [rsi + 0x34], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1402a2a4e
call qword [0x14066e240]
call fcn.140315020
test eax, eax
jne 0x1402a2a67
mov rcx, r14
call fcn.1402dea40
mov rbx, rax
test rax, rax
jne 0x1402a2a70
mov dword [rdi + 0x40], 7
jmp 0x1402a2a82
mov r8, r14
mov rdx, rbp
mov rcx, rax
call fcn.14035bc80
mov dword [r12], r14d
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov rcx, qword [rdi + 0x20]
call fcn.140237d70
mov ecx, dword [rdi + 0x40]
test ecx, ecx
jne 0x1402a2ac1
mov dword [rdi + 0x40], eax
mov ecx, eax
test eax, eax
jne 0x1402a2ac1
test rbx, rbx
jne 0x1402a2ac1
mov r8, r15
lea rdx, str.Node__lld_missing_from_database
mov rcx, rdi
call fcn.1402a28b0
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
Function at 0x1402a2ae0
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
lea rax, str.SELECT_parentnode_FROM__Q._q_parent_WHERE_nodeno_1
movsxd r15, edx
mov rdi, qword [rcx + r15*8 + 0x28]
lea r14, [rcx + r15*8]
mov qword [rsp + 0x40], rax
lea rax, str.SELECT_nodeno_FROM__Q._q_rowid_WHERE_rowid_1
mov qword [rsp + 0x48], rax
mov rbp, r9
mov rsi, r8
mov rbx, rcx
test rdi, rdi
jne 0x1402a2b43
mov r9, qword [rcx + 0x10]
mov r8, qword [rcx + 8]
mov rdx, qword [rsp + r15*8 + 0x40]
call fcn.1402a2f70
mov rdi, rax
mov qword [r14 + 0x28], rax
cmp dword [rbx + 0x40], 0
jne 0x1402a2bf9
mov r8, rsi
mov edx, 1
mov rcx, rdi
call fcn.140236710
mov rcx, rdi
call fcn.140236dc0
cmp eax, 0x65
jne 0x1402a2b9b
test r15d, r15d
lea rcx, str.__rowid
lea rax, str.__parent
mov r9, rbp
cmovne rax, rcx
lea rdx, str.Mapping___lld_____lld__missing_from__s_table
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, rsi
call fcn.1402a28b0
jmp 0x1402a2be8
cmp eax, 0x64
jne 0x1402a2be8
xor edx, edx
mov rcx, rdi
call fcn.140237610
mov r9, rax
cmp rax, rbp
je 0x1402a2be8
test r15d, r15d
mov qword [rsp + 0x30], rbp
lea rcx, str.__rowid
mov qword [rsp + 0x28], rsi
lea rax, str.__parent
mov r8, rsi
cmovne rax, rcx
lea rdx, str.Found___lld_____lld__in__s_table__expected___lld_____lld_
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1402a28b0
mov rcx, rdi
call fcn.140237d70
cmp dword [rbx + 0x40], 0
jne 0x1402a2bf9
mov dword [rbx + 0x40], eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret
Function at 0x1402b1170
Capabilities:
Encode data using xor

Disassembly:
push rbx
xor r11d, r11d
mov r10, rdx
mov rdx, rcx
mov eax, r11d
mov r9d, r11d
test r8d, r8d
jle 0x1402b1246
cmp r8d, 8
jb 0x1402b1246
mov qword [rsp + 0x10], rsi
lea rbx, [rcx + 4]
mov qword [rsp + 0x18], rdi
mov rcx, r10
movsxd rdi, r8d
sub rcx, rdx
and rdi, 0xfffffffffffffff8
mov rsi, 0xfffffffffffffffc
sub rsi, rdx
xorps xmm4, xmm4
xorps xmm3, xmm3
nop
movd xmm2, dword [rcx + rbx - 4]
xorps xmm0, xmm0
movd xmm1, dword [rbx - 4]
lea rbx, [rbx + 8]
punpcklbw xmm2, xmm0
lea rax, [rsi + rbx]
punpcklwd xmm2, xmm0
add r9d, 8
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
movd xmm1, dword [rbx - 8]
punpcklbw xmm1, xmm0
por xmm4, xmm2
movd xmm2, dword [rcx + rbx - 8]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
por xmm3, xmm2
cmp rax, rdi
jl 0x1402b11c0
mov rdi, qword [rsp + 0x18]
por xmm3, xmm4
mov rsi, qword [rsp + 0x10]
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
por xmm3, xmm0
movd eax, xmm3
movsxd rbx, r9d
movsxd r9, r8d
cmp rbx, r9
jge 0x1402b1278
sub r10, rdx
lea rcx, [rbx + rdx]
sub r9, rbx
nop dword [rax + rax]
movzx r8d, byte [rcx + r10]
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
xor r8d, edx
or eax, r8d
sub r9, 1
jne 0x1402b1260
test eax, eax
setne r11b
mov eax, r11d
pop rbx
ret