joyce8/EMBER2024-capa huggingface dataset:
Function at 0x7d22167c
Capabilities:
Check for time delay via gettickcount

Disassembly:
jmp 0x7d246320
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x80
cmp qword [0x7d2ac8c0], 0
movzx edi, r9b
mov ebp, r8d
mov ebx, edx
mov rsi, rcx
jne 0x7d246372
mov ecx, 0x40
call fcn.7d221988
mov r8d, dword [0x7d2abf9c]
lea rdx, str.GUIPROXY__08X
mov rcx, rax
mov qword [0x7d2ac8c0], rax
call sym.imfsbDll.dll_Sbie_swprintf
xor r14d, r14d
test byte [0x7d2abfa0], 2
je 0x7d246391
test dil, dil
je 0x7d2463b5
cmp byte [0x7d2acb78], r14b
jne 0x7d246391
xor dil, dil
jmp 0x7d2463b5
test dil, dil
je 0x7d2463b5
cmp qword [0x7d2ac6d0], r14
je 0x7d2463b5
xor ecx, ecx
call fcn.7d221744
movzx edi, dil
cmp byte [rax + 0x190], r14b
cmovne edi, r14d
mov rcx, qword [0x7d2ac8c0]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r8d, ebx
mov rdx, rsi
call sym.imfsbDll.dll_SbieDll_QueuePutReq
mov ebx, eax
test eax, eax
js 0x7d2464c2
test dil, dil
je 0x7d246499
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp qword [0x7d2ac878], r14
mov edi, eax
je 0x7d246492
cmp qword [0x7d2ac880], r14
je 0x7d246492
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x2710
ja 0x7d24648b
xor r8d, r8d
mov dword [rsp + 0x20], 0x40
mov r9d, 0x2710
lea rdx, [rsp + 0x38]
lea ecx, [r8 + 1]
call qword [0x7d2ac878]
mov ebx, eax
cmp eax, 1
jne 0x7d246476
mov rcx, qword [rsp + 0x38]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x7d246471
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rcx, [rsp + 0x48]
xor edx, edx
call qword [0x7d2ac880]
jmp 0x7d246410
mov ebx, r14d
jmp 0x7d2464b7
cmp eax, 0xffffffff
jne 0x7d2464b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
or ebx, 0xff000000
jmp 0x7d2464b7
mov ebx, 0x102
jmp 0x7d2464b7
mov ebx, 0xc0000139
jmp 0x7d2464b7
mov rcx, qword [rsp + 0x38]
mov edx, 0x2710
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, ebx
mov ebx, 0x102
test eax, eax
cmovne ecx, ebx
mov ebx, ecx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x7d246510
mov edx, dword [rsp + 0xb8]
lea r9, [rsp + 0x30]
mov rcx, qword [0x7d2ac8c0]
lea r8, [rsp + 0x40]
call sym.imfsbDll.dll_SbieDll_QueueGetRpl
mov ebx, eax
test eax, eax
js 0x7d246510
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
cmp eax, 4
jb 0x7d2464fd
mov ebx, dword [rcx]
test ebx, ebx
jne 0x7d24650b
cmp eax, ebp
jb 0x7d246506
mov rax, rcx
jmp 0x7d246540
mov ebx, 0xc0000004
call fcn.7d221938
mov r9, qword [0x7d2abf60]
lea rdx, str._S____S___08X_
mov r8, qword [0x7d2ac8c0]
mov ecx, 0x89b
mov dword [rsp + 0x20], ebx
call sym.imfsbDll.dll_SbieApi_Log
mov ecx, 0x53d
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x7d221708
Capabilities:
Delete registry value

Disassembly:
jmp 0x7d262870
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
cmp byte [0x7d2abfa8], 0
mov eax, 0x102
mov rbx, rcx
mov esi, 2
mov rbp, r8
mov rdi, rdx
cmovne esi, eax
lea ecx, [rax - 2]
call fcn.7d2212da
movaps xmm0, xmmword [str._registrymachine_softwareclasses_]
mov r9, rax
movups xmmword [rax], xmm0
lea rcx, [rax - 2]
movaps xmm1, xmmword [0x7d295500]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x7d295510]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x7d295520]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x7d295530]
movsd qword [rax + 0x40], xmm0
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x7d2628f0
xor edx, edx
nop dword [rax]
movzx eax, word [rbx + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x7d262900
lea rcx, [r9 - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x7d262915
mov eax, dword [0x7d295548]
mov dword [rcx], eax
movzx eax, word [0x7d29554c]
mov word [rcx + 4], ax
lea rax, [r9 - 2]
nop word [rax + rax]
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x7d262940
xor edx, edx
nop dword [rax]
movzx ecx, word [rdi + rdx*2]
mov word [rax + rdx*2], cx
lea rdx, [rdx + 1]
test cx, cx
jne 0x7d262950
lea rcx, [r9 - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x7d262965
mov eax, dword [0x7d295550]
mov rdx, r9
mov dword [rcx], eax
lea rcx, [rsp + 0x20]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov rdx, qword [rsp + 0x28]
lea rax, [rsp + 0x20]
xorps xmm0, xmm0
mov qword [rsp + 0x40], rax
mov ecx, 0x6b
mov dword [rsp + 0x30], 0x30
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0x40
call fcn.7d2211ae
test eax, eax
jne 0x7d262a0d
lea r8, [rsp + 0x30]
mov edx, esi
lea rcx, [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtOpenKey]
test eax, eax
js 0x7d262a0d
mov rdx, rbp
lea rcx, [rsp + 0x20]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov rcx, qword [rsp + 0x88]
lea rdx, [rsp + 0x20]
call qword [sym.imp.ntdll.dll_NtDeleteValueKey]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtClose]
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x7d221744
Capabilities:
Get thread local storage value
Set thread local storage value
Terminate process

Disassembly:
jmp 0x7d22ef20
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [0x7d2aa49c], 0xffffffff
mov rdi, rcx
jne 0x7d22ef4f
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x7d2aa49c]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
jne 0x7d22efca
mov rcx, qword [0x7d2ac000]
mov edx, 0x1a0
call fcn.7d221505
test rax, rax
jne 0x7d22efa0
cmp qword [0x7d2abf58], rax
je 0x7d22efab
xor edx, edx
mov ecx, 0x901
call sym.imfsbDll.dll_SbieApi_Log
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov qword [rax], 0x1a0
lea rbx, [rax + 8]
xor edx, edx
mov r8d, 0x198
mov rcx, rbx
call sub.ntdll.dll_memset
mov ecx, dword [0x7d2aa49c]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x7d22efd9
mov dword [rdi], esi
mov rsi, qword [rsp + 0x38]
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x7d2217ad
Capabilities:
Get common file path

Disassembly:
jmp 0x7d2614c0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x2d0
movzx ebp, dl
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x288
call sub.ntdll.dll_memset
mov edx, 0x104
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rcx, [rsp + 0x40]
sub rcx, 2
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x7d261505
movsd xmm1, qword [0x7d295110]
movzx eax, word [0x7d295118]
movups xmm0, xmmword [str.SbiePst.dat]
movups xmmword [rcx], xmm0
movsd qword [rcx + 0x10], xmm1
mov word [rcx + 0x18], ax
test bpl, bpl
je 0x7d261547
mov eax, 2
mov ebx, 0x40000000
mov esi, eax
xor edi, edi
jmp 0x7d26155b
mov ebx, 0x80000000
mov edi, 1
mov eax, 3
mov esi, 0x80
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x7d2615bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x7d2615dd
test bpl, bpl
je 0x7d2615dd
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x7d2615dd
mov rdx, rax
lea rcx, [rsp + 0x2f0]
call fcn.7d22111d
test eax, eax
jne 0x7d2615dd
mov rax, qword [rsp + 0x2f0]
jmp 0x7d2615df
xor eax, eax
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x7d2217b7
Capabilities:
Terminate process

Disassembly:
jmp 0x7d257ff0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x20
mov rbp, rcx
xor ebx, ebx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
je 0x7d25803b
nop dword [rax]
movzx eax, word [rcx + 0x26]
xor edx, edx
mov rdi, qword [rcx]
mov r8d, 0x8000
mov rcx, qword [rcx + 0x1c]
add ebx, eax
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x7d258102
mov rcx, rdi
test rdi, rdi
jne 0x7d258010
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x30], rsi
test rcx, rcx
je 0x7d25807b
mov rsi, rbp
and rsi, 0xffffffffffff0000
mov rdi, qword [rcx]
cmp rsi, rcx
je 0x7d258071
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x7d258122
inc ebx
mov rcx, rdi
test rdi, rdi
jne 0x7d258053
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x7d2580b8
mov rsi, rbp
and rsi, 0xffffffffffff0000
nop
mov rdi, qword [rcx]
cmp rsi, rcx
je 0x7d2580ae
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x7d258142
inc ebx
mov rcx, rdi
test rdi, rdi
jne 0x7d258090
lea rcx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
and rbp, 0xffffffffffff0000
xor edx, edx
mov rcx, rbp
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x7d258162
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000025
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000025
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000025
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000025
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rsi, qword [rsp + 0x30]
mov eax, ebx
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x7d221834
Capabilities:
Query or enumerate registry key

Disassembly:
jmp 0x7d269040
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
cmp qword [r8 + 8], 0
mov rbx, r8
mov esi, edx
mov rbp, rcx
je 0x7d2690da
mov ecx, 0x1000
mov dword [rsp + 0x50], 0x1000
call fcn.7d221988
mov r9d, dword [rsp + 0x50]
mov rdi, rax
mov rcx, qword [rbx + 8]
lea rax, [rsp + 0x50]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 3
call qword [sym.imp.ntdll.dll_NtQueryKey]
test eax, eax
js 0x7d269105
mov ecx, dword [rdi]
lea r8, [rdi + 6]
shr rcx, 1
mov eax, 0x5c
mov word [rdi + rcx*2 + 4], ax
lea r8, [r8 + rcx*2]
mov rax, qword [rbx + 0x10]
mov rdx, qword [rax + 8]
nop dword [rax]
movzx eax, word [rdx]
lea rdx, [rdx + 2]
mov word [r8], ax
lea r8, [r8 + 2]
test ax, ax
jne 0x7d2690c0
lea rdx, [rdi + 4]
jmp 0x7d2690e2
mov rax, qword [r8 + 0x10]
mov rdx, qword [rax + 8]
mov ecx, 0x6b
call fcn.7d2211ae
test eax, eax
je 0x7d2690f7
mov eax, 0xc000000a
jmp 0x7d269105
mov r8, rbx
mov edx, esi
mov rcx, rbp
call qword [sym.imp.ntdll.dll_NtOpenKey]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
Function at 0x7d22183e
Capabilities:
Get system information on windows

Disassembly:
jmp 0x7d24b6a0
sub rsp, 0x58
cmp byte [0x7d2aa660], 0
je 0x7d24b73f
cmp byte [0x7d2ac9c1], 0
jne 0x7d24b73f
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x50], rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rsp + 0x30]
mov qword [0x7d2aca18], rax
mov rax, qword gs:[0x60]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x7d24b73a
cmp qword [rbx + 0x50], 0
je 0x7d24b73a
mov edx, 8
lea r9, [rsp + 0x60]
lea rcx, [rbx + 0x50]
lea r8d, [rdx - 4]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x7d24b73a
lea rax, [0x7d24aa90]
mov edx, 8
xchg qword [rbx + 0x50], rax
mov r8d, dword [rsp + 0x60]
lea r9, [rsp + 0x60]
lea rcx, [rbx + 0x50]
mov qword [0x7d2aca10], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
ret

Function at 0x7d221870
Capabilities:
Read file on windows

Disassembly:
jmp 0x7d258df0
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
mov qword [rsp + 0x40], 0
lea rdi, [rcx + 0x18]
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x30], 0xfe0
mov rbx, rcx
mov rcx, qword [rcx]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
mov ecx, eax
test eax, eax
js 0x7d258e4a
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x10], eax
jmp 0x7d258e51
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], rdi
test ecx, ecx
js 0x7d258e65
cmp dword [rbx + 0x10], 0
mov eax, 0xc0000011
cmove ecx, eax
mov eax, ecx
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
Function at 0x7d2218d4
Capabilities:
Query environment variable

Disassembly:
jmp 0x7d231bd0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r14, r9
movzx esi, r8b
movzx edi, dl
mov rbx, rcx
test rcx, rcx
jne 0x7d231c06
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov rbx, rax
mov dil, 1
xor r15d, r15d
mov rdx, rbx
mov r10d, r15d
test dil, dil
je 0x7d231c40
cmp word [rbx], r10w
je 0x7d231c6c
nop word [rax + rax]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdx + rcx*2], r15w
jne 0x7d231c24
inc ecx
add r10d, ecx
cmp word [rdx + rcx*2], r15w
lea rdx, [rdx + rcx*2]
jne 0x7d231c20
jmp 0x7d231c6c
cmp byte [rbx], r10b
je 0x7d231c6c
nop word [rax + rax]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], r15b
jne 0x7d231c54
inc ecx
mov eax, ecx
add r10d, ecx
add rdx, rax
cmp byte [rdx], r15b
jne 0x7d231c50
lea ecx, [r10*2 + 0x10]
movzx r8d, sil
lea rdx, [rsp + 0x40]
call fcn.7d231db0
mov rbp, rax
test dil, dil
je 0x7d231cd2
cmp word [rbx], r15w
je 0x7d231d1a
mov rsi, qword [rsp + 0x40]
nop dword [rax]
or rcx, 0xffffffffffffffff
cmp word [rbx + rcx*2 + 2], r15w
lea rcx, [rcx + 1]
jne 0x7d231ca4
lea edi, [rcx + 1]
mov rdx, rbx
add rdi, rdi
mov rcx, rsi
mov r8, rdi
call sub.ntdll.dll_memcpy
add rbx, rdi
add rsi, rdi
cmp word [rbx], r15w
jne 0x7d231ca0
jmp 0x7d231d1f
cmp byte [rbx], r15b
je 0x7d231d1a
mov rsi, qword [rsp + 0x40]
nop dword [rax]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r15b
jne 0x7d231ce4
add eax, 1
je 0x7d231d13
mov ecx, eax
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
inc rbx
mov word [rsi], ax
add rsi, 2
sub rcx, 1
jne 0x7d231d00
cmp byte [rbx], r15b
jne 0x7d231ce0
jmp 0x7d231d1f
mov rsi, qword [rsp + 0x40]
mov word [rsi], r15w
mov rax, rbp
test r14, r14
je 0x7d231d30
sub esi, ebp
mov dword [r14], esi
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x7d221938
Capabilities:
Print debug messages
Terminate process

Disassembly:
jmp 0x7d22ee20
mov edx, dword [rcx - 8]
add rcx, 0xfffffffffffffff8
jmp fcn.7d2218de
Function at 0x7d221960
Capabilities:
Get system information on windows

Disassembly:
jmp 0x7d287980
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov eax, 0x2000
mov r14, rcx
mov dword [rsp + 0x30], eax
xor edi, edi
mov ecx, eax
call fcn.7d2212da
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rax
mov ecx, 5
mov rsi, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov ebx, eax
test eax, eax
jns 0x7d287a01
mov rcx, rsi
call fcn.7d221938
xor esi, esi
cmp ebx, 0x80000005
je 0x7d2879ed
cmp ebx, 0xc0000004
je 0x7d2879ed
cmp ebx, 0xc0000023
jne 0x7d287a01
mov eax, dword [rsp + 0x30]
inc edi
add eax, 0x40
mov dword [rsp + 0x30], eax
cmp edi, 5
jb 0x7d2879a3
jmp 0x7d287a05
mov eax, dword [rsp + 0x30]
test r14, r14
je 0x7d287a0d
mov dword [r14], eax
mov rbx, qword [rsp + 0x38]
mov rax, rsi
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x7d221974
Capabilities:
Print debug messages
Terminate process

Disassembly:
jmp 0x7d22ff60
mov edx, dword [rcx + 0x10]
jmp fcn.7d2218de

Function at 0x7d221988
Capabilities:
Terminate process

Disassembly:
jmp 0x7d22ecf0
push rbx
sub rsp, 0x20
lea ebx, [rcx + 8]
mov rcx, qword [0x7d2ac000]
mov edx, ebx
call fcn.7d221505
mov rcx, rax
test rax, rax
jne 0x7d22ed34
cmp qword [0x7d2abf58], rax
jne 0x7d22ed1e
add rsp, 0x20
pop rbx
ret
xor edx, edx
mov ecx, 0x901
call sym.imfsbDll.dll_SbieApi_Log
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, ebx
mov qword [rcx], rax
lea rax, [rcx + 8]
add rsp, 0x20
pop rbx
ret

Function at 0x7d2219ab
Capabilities:
Terminate process

Disassembly:
jmp 0x7d22e3e0
push rbx
sub rsp, 0x20
mov rbx, rcx
cmp edx, 2
jne 0x7d22e40e
cmp qword [0x7d2abf58], 0
je 0x7d22e504
xor ecx, ecx
call fcn.7d221910
mov eax, 1
add rsp, 0x20
pop rbx
ret
cmp edx, 3
jne 0x7d22e423
call fcn.7d22113b
mov eax, 1
add rsp, 0x20
pop rbx
ret
cmp edx, 1
jne 0x7d22e4e2
lea rcx, [0x7d2ad920]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, str.DgApi64.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x7d2906e0]
mov qword [0x7d2abf50], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.LdrFastFailInLoaderCallout
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 8
mov qword [0x7d2abf30], rbx
test rax, rax
mov edx, 0xa
cmovne ecx, edx
mov dword [0x7d2abfb8], ecx
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, qword [str.kernel32.dll]
mov qword [0x7d2abf38], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, qword [str.kernelbase.dll]
mov qword [0x7d2abf40], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [0x7d2abf48], rax
call fcn.7d2215b9
test al, al
jne 0x7d22e504
xor edx, edx
mov ecx, 0x901
call sym.imfsbDll.dll_SbieApi_Log
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_ExitProcess]
test edx, edx
jne 0x7d22e504
cmp byte [0x7d2abfaa], dl
je 0x7d22e504
cmp qword [0x7d2abf58], 0
je 0x7d22e504
mov cl, 1
call fcn.7d221690
call fcn.7d2217a8
mov eax, 1
add rsp, 0x20
pop rbx
ret
Function at 0x7d2219d8
Capabilities:
Terminate process

Disassembly:
jmp 0x7d22f020
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
movsxd r10, dword [rcx + 0x120]
add r8d, 0x103f
mov r9d, edx
and r8d, 0xfffff000
lea rax, [r9 + r9*2]
lea rdx, [r10 + rax*4]
lea rax, [r9 + 4]
lea rax, [rax + rax*2]
lea rdi, [rcx + rdx*8]
lea rdx, [r10 + rax*4]
mov ebp, dword [rcx + rdx*4]
cmp r8d, ebp
jbe 0x7d22f0d4
mov rbx, qword [rdi]
lea esi, [r8 + 8]
mov dword [rcx + rdx*4], r8d
mov edx, esi
mov rcx, qword [0x7d2ac000]
call fcn.7d221505
mov rcx, rax
test rax, rax
jne 0x7d22f0ac
cmp qword [0x7d2abf58], rax
je 0x7d22f0b5
xor edx, edx
mov ecx, 0x901
call sym.imfsbDll.dll_SbieApi_Log
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, esi
mov qword [rcx], rax
add rcx, 8
mov qword [rdi], rcx
test rbx, rbx
je 0x7d22f0d4
mov r8, rbp
mov rdx, rbx
call sub.ntdll.dll_memcpy
mov edx, dword [rbx - 8]
lea rcx, [rbx - 8]
call fcn.7d2218de
mov rax, qword [rdi]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x7d223f80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x7d223f80
mov dword [rsp + 0x20], r9d
push rdi
push r12
push r15
sub rsp, 0x40
mov r15, r8
mov r12, rdx
mov rdi, rcx
test rdx, rdx
je 0x7d224185
test r8, r8
je 0x7d224185
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rsi
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x28], r13
mov rbp, rsi
mov qword [rsp + 0x20], r14
nop dword [rax]
inc rbp
cmp word [rdx + rbp*2], 0
jne 0x7d223fd0
nop word [rax + rax]
inc rsi
cmp word [r8 + rsi*2], 0
jne 0x7d223fe0
mov r8b, 1
lea r9, [rsp + 0x68]
movzx edx, r8b
xor ecx, ecx
call fcn.7d2218d4
mov ecx, dword [rsp + 0x68]
mov r13, rax
shr ecx, 1
mov dword [rsp + 0x68], ecx
add ecx, esi
add ecx, ebp
lea ebx, [rcx*2 + 0x80]
mov ecx, ebx
call fcn.7d2212da
mov r14, rax
mov dword [rax], ebx
mov dword [rax + 4], 0x1205
sub rax, rdi
nop dword [rax]
movzx ecx, word [rdi]
mov word [rax + rdi + 8], cx
lea rdi, [rdi + 2]
test cx, cx
jne 0x7d224030
mov rcx, qword [rsp + 0x80]
lea rdi, [r14 + 0x70]
mov eax, dword [rcx + 0x3c]
mov dword [r14 + 0x64], eax
movzx eax, word [rcx + 0x40]
mov dword [r14 + 0x68], eax
mov eax, dword [rsp + 0x78]
mov dword [r14 + 0x6c], eax
mov eax, edi
sub eax, r14d
mov dword [r14 + 0x50], ebp
mov dword [r14 + 0x4c], eax
test ebp, ebp
je 0x7d22408b
mov ebx, ebp
mov rdx, r12
add rbx, rbx
mov rcx, rdi
mov r8, rbx
call sub.ntdll.dll_memcpy
add rdi, rbx
xor ebp, ebp
mov word [rdi], bp
add rdi, 2
mov eax, edi
mov dword [r14 + 0x58], esi
sub eax, r14d
mov dword [r14 + 0x54], eax
test esi, esi
je 0x7d2240bb
mov ebx, esi
mov rdx, r15
add rbx, rbx
mov rcx, rdi
mov r8, rbx
call sub.ntdll.dll_memcpy
add rdi, rbx
mov rsi, qword [rsp + 0x30]
mov word [rdi], bp
add rdi, 2
mov eax, edi
sub eax, r14d
mov dword [r14 + 0x5c], eax
mov eax, dword [rsp + 0x68]
mov dword [r14 + 0x60], eax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x7d2240f9
mov r8d, eax
mov rdx, r13
add r8, r8
mov rcx, rdi
call sub.ntdll.dll_memcpy
mov eax, dword [rsp + 0x68]
lea rdi, [rdi + rax*2]
mov rcx, r14
mov word [rdi], bp
call sym.imfsbDll.dll_SbieDll_CallServer
mov rcx, r14
mov rbx, rax
call fcn.7d221938
mov r14, qword [rsp + 0x20]
test rbx, rbx
je 0x7d224150
mov edi, dword [rbx + 4]
test edi, edi
jne 0x7d224146
mov rcx, qword [rbx + 8]
lea ebp, [rdi + 1]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rdx + 8], rcx
mov eax, dword [rbx + 0x18]
mov dword [rdx + 0x10], eax
mov eax, dword [rbx + 0x1c]
mov dword [rdx + 0x14], eax
mov rcx, rbx
call fcn.7d221938
jmp 0x7d224155
mov edi, 0x53d
mov rbx, qword [rsp + 0x60]
test r13, r13
je 0x7d224167
mov rcx, r13
call fcn.7d221938
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r13, qword [rsp + 0x28]
mov eax, ebp
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
pop r15
pop r12
pop rdi
ret
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
add rsp, 0x40
pop r15
pop r12
pop rdi
ret