joyce8/EMBER2024-capa huggingface dataset:
Function at 0x443880
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4439ea
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x443898
cmp edx, ecx
jne 0x4439d8
nop dword [rax]
test rsi, rsi
jne 0x4439d8
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x4438f4
nop
call fcn.00462e20
xorps xmm15, xmm15
mov r14, qword [0x006467d0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.00443780
mov rcx, qword [0x005f2e78]
mov rdx, qword [0x005f2e70]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rbx]
mov edi, esi
sar esi, 0x1f
shr esi, 0x1b
add esi, edi
mov r8d, esi
and esi, 0xffffffe0
sub edi, esi
test edi, edi
jl 0x4439d3
cmp edi, 0x20
sbb esi, esi
sar r8d, 5
mov rax, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
and r9d, esi
movsxd rsi, r8d
cmp rax, rsi
jbe 0x4439c8
lea rcx, [rdx + rsi*4]
lock or dword [rcx], r9d
mov rcx, qword [0x005f3ab0]
mov qword [rbx + 8], rcx
nop
mov rcx, rbx
mov qword [0x005f3ab0], rbx
nop
mov edx, 1
lea rsi, [0x005f3ab8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1220]
shr rdx, 0x3d
test dl, dl
jne 0x4439b7
nop
nop
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
xchg qword [rcx + 0x1220], rdx
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
lea rax, [0x0051b928]
mov ebx, 0x28
call fcn.004350c0
mov rcx, rax
mov rax, rsi
call fcn.00461460
call fcn.004336e0
lea rax, [0x0051aabb]
mov ebx, 0x23
call fcn.004350c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045ee00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00443880
Function at 0x44ee40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x44efb8
movzx edx, byte [rax]
nop
test edx, edx
jne 0x44ee7c
test r8b, r8b
jne 0x44ee7c
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
bt edx, 7
jae 0x44ee8f
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x44ef78
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
cmp rbx, r8
jb 0x44ef66
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rsi, [rax + r8]
test rbx, rbx
jbe 0x44ef5c
movzx r8d, byte [rax + r8]
bt r8d, 7
jae 0x44eee3
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x44ef26
mov eax, 1
cmp rax, rbx
ja 0x44ef15
add qword [rdi], r8
sub rdx, rax
sub rbx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rsi
mov edi, 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rbx
call fcn.00461520
lea r8d, [rcx + 7]
mov ecx, eax
mov eax, r10d
cmp rax, rbx
jae 0x44ef54
movzx r9d, byte [rax + rsi]
lea r10d, [rax + 1]
mov r11d, r9d
and r9d, 0x7f
mov eax, ecx
mov ecx, r8d
shl r9d, cl
or eax, r9d
test r11b, 0x80
jne 0x44ef1d
mov r8d, eax
mov eax, r10d
jmp 0x44eee8
mov rcx, rbx
call fcn.00461460
xor eax, eax
mov rcx, rax
call fcn.00461460
mov eax, r8d
mov rcx, rbx
call fcn.00461520
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x44efae
movzx r10d, byte [rdx + rax]
inc edx
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
or r8d, r10d
test r11b, 0x80
jne 0x44ef71
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x44ee95
mov eax, edx
mov rcx, rbx
call fcn.00461460
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00461460
nop
int3
Function at 0x4566a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x456759
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rdx, [0x004567a0]
mov qword [rsp + 0x10], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x28], rdx
mov rdx, r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.0045ecc0
xorps xmm15, xmm15
mov r14, qword [0x006467d0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045ee00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004566a0
Function at 0x460ea0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40306f
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00409700
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045ee00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x403040
cmp byte [0x006465ef], 0
je 0x460eb5
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45df00
jmp 0x403040

Function at 0x460ec0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x006468e0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x006465ef], 0
je 0x460ef5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x00646c20]
aesenc xmm0, xmmword [0x00646c30]
aesenc xmm0, xmmword [0x00646c40]
movq rax, xmm0
ret
jmp 0x409900

Function at 0x460f00
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x006468e0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x006465ef], 0
je 0x460f36
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x00646c20]
aesenc xmm0, xmmword [0x00646c30]
aesenc xmm0, xmmword [0x00646c40]
movq rax, xmm0
ret
jmp 0x409960

Function at 0x462940
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x00646ba0]
mov qword [rsp + 8], rdx
lea r8d, [0x0064660c]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.00460de0
add rsp, 0x30
ret

Function at 0x462e80
Capabilities:
Allocate thread local storage

Disassembly:
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x462eac
call fcn.00460de0
shl rcx, 3
add rcx, 0x1480
mov qword [0x006467d0], rcx
ret
Function at 0x482980
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x482bcb
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov ebx, dword [rax + 0x2c]
nop dword [rax + rax]
test ebx, ebx
jne 0x482a2c
mov qword [rsp + 0x88], rax
lea rbx, [0x0050f400]
mov rcx, rax
lea rax, [0x005f3000]
call fcn.004685a0
test cl, cl
jne 0x482a11
mov rax, qword [rsp + 0x88]
call fcn.00481800
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x30]
lea rbx, [0x005129f9]
call fcn.0044b320
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rbx
nop dword [rax]
call fcn.00483dc0
mov rcx, qword [rsp + 0x88]
xor edx, edx
jmp 0x482a4d
lea rdx, [0x0050f140]
cmp rax, rdx
jne 0x482a3b
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
call fcn.0045cc20
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbx, rdx
lea rcx, [0x004f9300]
call fcn.0040a4a0
inc rdx
cmp rbx, rdx
jle 0x482a98
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x482a4a
lea rax, [0x005f3000]
lea rbx, [0x0050f400]
lea rdi, [0x0050f140]
call fcn.00468760
lea rdx, [0x0050f140]
nop dword [rax]
cmp rax, rdx
jne 0x482bbb
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
lea rcx, [0x004f4340]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rcx
lea rax, [0x00501d60]
nop
call fcn.0040d180
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
cmp dword [0x00646890], 0
jne 0x482afa
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
jmp 0x482b09
mov rbx, rax
lea rax, [0x00501d60]
call fcn.00412b80
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
nop dword [rax]
call fcn.004812c0
call fcn.0045cce0
mov rsi, qword [rsp + 0x60]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], 0
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0x10]
xor eax, eax
jmp 0x482b56
imul edx, edx, 0x1000193
xor edx, 0x2a
mov eax, 1
cmp rax, 1
jl 0x482b48
mov dword [rsi + 0x10], edx
cmp dword [0x00646890], 0
jne 0x482b6e
mov qword [rsi + 0x30], rcx
jmp 0x482b77
lea rdi, [rsi + 0x30]
call fcn.004610c0
lea rax, [0x005f3000]
lea rbx, [0x0050f400]
lea rdi, [0x0050f140]
call fcn.00468760
lea rdx, [0x0050f140]
cmp rax, rdx
jne 0x482bac
test byte [rbx], al
mov rax, rbx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbx, rdx
lea rcx, [0x004f9300]
call fcn.0040a4a0
mov rbx, rdx
lea rcx, [0x004f9300]
call fcn.0040a4a0
nop
mov qword [rsp + 8], rax
call fcn.0045ee00
mov rax, qword [rsp + 8]
jmp fcn.00482980
Function at 0x48e680
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movd xmm0, dword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
movdqu xmm4, xmmword [rsi + 0x30]
pxor xmm1, xmm0
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jb 0x48e755
movdqa xmm0, xmmword [0x0053fa10]
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm8, xmm4
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm2, xmm0, 0
pclmulqdq xmm3, xmm0, 0
pclmulqdq xmm4, xmm0, 0
movdqu xmm11, xmmword [rsi]
movdqu xmm12, xmmword [rsi + 0x10]
movdqu xmm13, xmmword [rsi + 0x20]
movdqu xmm14, xmmword [rsi + 0x30]
pclmulqdq xmm5, xmm0, 0x11
pclmulqdq xmm6, xmm0, 0x11
pclmulqdq xmm7, xmm0, 0x11
pclmulqdq xmm8, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm8
pxor xmm1, xmm11
pxor xmm2, xmm12
pxor xmm3, xmm13
pxor xmm4, xmm14
add rdi, 0x40
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jge 0x48e6c1
movdqa xmm0, xmmword [0x0053fa20]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm2
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm4
cmp rcx, 0x10
jb 0x48e7d7
movdqu xmm10, xmmword [rsi]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm10
sub rcx, 0x10
add rsi, 0x10
cmp rcx, 0x10
jge 0x48e7ab
pcmpeqb xmm3, xmm3
pclmulqdq xmm0, xmm1, 1
psrldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm2, xmm1
movq xmm0, qword [0x0053f828]
psrlq xmm3, 0x20
psrldq xmm2, 4
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
movdqa xmm0, xmmword [0x0053ff00]
movdqa xmm2, xmm1
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0x10
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
pextrd eax, xmm1, 1
mov dword [rsp + 0x28], eax
ret
Function at 0x14000acf0
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x70
xor ebx, ebx
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x50], rax
mov rdi, rax
test rax, rax
jne 0x14000ad2d
lea rax, [rbx - 1]
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret
mov eax, dword [rsp + 0x40]
mov r15, 0xffffffffffffffff
inc eax
mov qword [rsp + 0x98], rsi
movsxd rcx, eax
mov eax, 8
mul rcx
mov qword [rsp + 0x60], r14
cmovo rax, r15
mov rcx, rax
call fcn.14000914c
mov r14, rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14000ae2c
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0xa0], r12
mov r12, r14
mov qword [rsp + 0x68], r13
mov r13, rdi
sub r13, r14
mov r14d, ebx
nop dword [rax]
nop word [rax + rax]
mov rbp, qword [r12 + r13]
mov r9d, r15d
mov qword [rsp + 0x38], rbx
mov r8, rbp
mov qword [rsp + 0x30], rbx
xor edx, edx
mov dword [rsp + 0x28], ebx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
mov rcx, rdi
call fcn.14000914c
mov qword [rsp + 0x38], rbx
mov r9d, r15d
mov qword [rsp + 0x30], rbx
mov r8, rbp
mov dword [rsp + 0x28], edi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [r12], rsi
lea r12, [r12 + 8]
mov eax, dword [rsp + 0x40]
inc r14d
cmp r14d, eax
jne 0x14000ada0
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x90]
cdqe
mov rcx, rdi
mov qword [r14 + rax*8], rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [rsp + 0x40]
mov rdx, r14
call fcn.140008d00
mov esi, eax
cmp dword [rsp + 0x40], ebx
je 0x14000ae6b
mov rdi, r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000ae6b
call fcn.140009154
inc ebx
add rdi, 8
cmp ebx, dword [rsp + 0x40]
jne 0x14000ae52
mov rcx, r14
call fcn.140009154
mov r14, qword [rsp + 0x60]
mov eax, esi
mov rsi, qword [rsp + 0x98]
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret
Function at 0x140003358
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, qword [0x14004d200]
mov rdi, rcx
mov rax, qword [0x14004d208]
mov ebx, 1
jmp 0x140003410
test ebx, ebx
js 0x140003542
mov r14, qword [rsi]
test r14, r14
je 0x14000340c
and qword [rsp + 0x50], 0
cmp qword [r14 + 0x10], 0
jne 0x1400033a5
xor ebx, ebx
jmp 0x14000340c
mov rcx, qword [r14 + 0x18]
lea r8, [rsp + 0x50]
mov rax, qword [r14 + 0x10]
lea rdx, [0x140044b00]
call qword [0x1400442d8]
mov ebx, eax
test eax, eax
js 0x1400033ee
mov rdx, qword [rsp + 0x50]
lea rax, [r14 + 0x28]
mov rcx, qword [r14]
mov r9d, 5
mov qword [rsp + 0x20], rax
lea r8d, [r9 - 1]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoRegisterClassObject]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140003405
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1400442d8]
mov rax, qword [0x14004d208]
add rsi, 8
cmp rsi, rax
jb 0x140003384
test ebx, ebx
js 0x140003542
jne 0x14000353e
cmp byte [rdi + 0x60], 0
je 0x1400034e8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
nop dword [rax + rax]
mov qword [rdi + 0x50], rax
test rax, rax
je 0x1400034e1
lea rax, [rsp + 0x58]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x140003dd0]
and dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x140003495
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
test rsi, rsi
je 0x1400034e1
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoResumeClassObjects]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jns 0x1400034d0
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
nop dword [rax + rax]
mov edx, dword [rdi + 0x58]
mov rcx, rsi
add edx, edx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
nop dword [rax + rax]
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
jmp 0x1400034f6
mov ebx, 0x80004005
jmp 0x1400034fa
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoResumeClassObjects]
nop dword [rax + rax]
mov ebx, eax
test ebx, ebx
jns 0x140003542
mov rdi, qword [0x14004d200]
xor eax, eax
mov rcx, qword [0x14004d208]
jmp 0x140003537
test eax, eax
jne 0x140003542
mov rdx, qword [rdi]
test rdx, rdx
je 0x140003533
cmp dword [rdx + 0x28], eax
je 0x140003533
mov ecx, dword [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoRevokeClassObject]
nop dword [rax + rax]
mov rcx, qword [0x14004d208]
add rdi, 8
cmp rdi, rcx
jb 0x14000350c
jmp 0x140003542
mov byte [rdi + 0x60], 0
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x14000a644
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x14004d298]
xor rax, rsp
mov qword [rsp + 0x140], rax
xor ebx, ebx
lea r8, [rsp + 0x30]
mov r12, rdx
mov r14, rcx
mov r13d, 0x400
mov ebp, ebx
mov ecx, r13d
mov edi, ebx
lea esi, [rbx + 4]
mov r9d, esi
lea edx, [rbx + 0xe]
lea r15d, [rbx + 1]
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetLocaleInfoW]
nop dword [rax + rax]
test eax, eax
jne 0x14000a6be
lea r8, [0x140044ff8]
mov edx, esi
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcrt.dll_wcscpy_s]
nop dword [rax + rax]
mov rsi, r14
cmp r14, r13
jb 0x14000a6df
cmp edi, 4
jae 0x14000a6df
mov ebp, esi
add edi, r15d
and ebp, 0x3ff
shr rsi, 0xa
cmp rsi, r13
jae 0x14000a6c6
test edi, edi
je 0x14000a713
sub edi, r15d
je 0x14000a70c
sub edi, r15d
je 0x14000a705
sub edi, r15d
je 0x14000a6fe
cmp edi, r15d
jne 0x14000a713
mov edx, 0x324
jmp 0x14000a720
mov edx, 0x323
jmp 0x14000a720
mov edx, 0x322
jmp 0x14000a720
mov edx, 0x321
jmp 0x14000a720
mov rsi, r14
mov ebp, ebx
mov r15d, ebx
mov edx, 0x325
mov rcx, qword [0x14004d970]
lea r8, [rsp + 0xc0]
mov edi, 0x40
mov r9d, edi
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
jne 0x14000a763
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14000a7e0
lea rcx, [rsp + 0x40]
mov r9, rsi
mov rdx, rdi
test r15d, r15d
je 0x14000a80e
imul eax, ebp, 0x64
lea r8, str._I64u_s_02d
shr eax, 0xa
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call qword [sym.imp.msvcrt.dll_swprintf_s]
nop dword [rax + rax]
test eax, eax
jle 0x14000a7db
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.msvcrt.dll_wcscpy_s]
nop dword [rax + rax]
test eax, eax
jne 0x14000a7db
lea r8, [rsp + 0xc0]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.msvcrt.dll_wcscat_s]
nop dword [rax + rax]
test eax, eax
je 0x14000a7e0
mov ebx, 0x80004005
mov eax, ebx
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140041040
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, str._I64u
call qword [sym.imp.msvcrt.dll_swprintf_s]
nop dword [rax + rax]
jmp 0x14000a79e
Function at 0x140018138
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbp
mov qword [rsp + 0x10], rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rax, qword gs:[0x58]
mov rbp, rcx
mov ecx, 8
mov r14, r8
mov r15, rdx
mov r9, qword [rax]
lea rax, str.CTieredVolume::QueryDesiredStorageClass
mov qword [rcx + r9], rax
lea rcx, [rsp + 0x48]
call fcn.140009790
and qword [rsp + 0xa8], 0
lea r8, [rsp + 0xa8]
mov rdx, r15
mov rcx, rbp
call fcn.1400147d8
mov dword [rsp + 0x50], eax
mov esi, eax
test eax, eax
jns 0x1400181d9
mov rcx, qword [0x14004d128]
lea rax, [0x14004d128]
cmp rcx, rax
je 0x14001828d
test byte [rcx + 0x1c], 1
je 0x14001828d
cmp byte [rcx + 0x19], 2
jb 0x14001828d
mov edx, 0x14f
mov dword [rsp + 0x30], esi
jmp 0x140018265
mov rcx, qword [rsp + 0xa8]
lea r8, [rsp + 0x40]
mov r9d, 8
mov dword [rsp + 0x20], 0x43
lea rdx, [rsp + 0x58]
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
mov edi, eax
test eax, eax
js 0x140018214
mov eax, dword [rsp + 0x40]
mov dword [r14], eax
jmp 0x14001828d
cmp edi, 0xc000050c
jne 0x140018222
and dword [r14], 0
jmp 0x14001828d
mov ecx, edi
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
mov ecx, eax
call fcn.14000433c
mov esi, eax
mov dword [rsp + 0x50], eax
mov rcx, qword [0x14004d128]
lea rax, [0x14004d128]
cmp rcx, rax
je 0x14001828d
test byte [rcx + 0x1c], 1
je 0x14001828d
cmp byte [rcx + 0x19], 2
jb 0x14001828d
mov edx, 0x150
mov dword [rsp + 0x30], edi
mov r9, qword [r15 + 8]
lea rax, [rbp + 0x2a0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140045650]
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
call fcn.14000c40c
cmp qword [rsp + 0xa8], 0
je 0x1400182ac
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
lea rcx, [rsp + 0x48]
call fcn.1400095e0
lea r11, [rsp + 0x70]
mov eax, esi
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x14001b3e0
Capabilities:
Access peb ldr_data

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword gs:[0x58]
mov rdi, rcx
mov ecx, 8
mov esi, r9d
mov rbp, r8
mov rbx, rdx
mov r10, qword [rax]
lea rax, str.TieringJetDatabase::Initialize
mov qword [rcx + r10], rax
lea rcx, [r11 - 0x18]
call fcn.140009790
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x68], rax
mov qword [rdi], rbx
mov dword [rdi + 0x60], esi
mov qword [rdi + 0x70], rbp
cmp esi, 1
jne 0x14001b446
lea rax, str.TieringEngineHeat
jmp 0x14001b464
cmp esi, 2
jne 0x14001b454
lea rax, str.TieringPinnedFiles
jmp 0x14001b464
cmp esi, 3
jne 0x14001b512
lea rax, str.TieringPinnedCacheFiles
mov qword [rdi + 0x58], rax
xor esi, esi
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14001b484
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ResetEvent]
nop dword [rax + rax]
jmp 0x14001b505
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
jne 0x14001b501
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
mov dword [rsp + 0x38], r8d
mov rcx, qword [0x14004d128]
lea rax, [0x14004d128]
cmp rcx, rax
je 0x14001b501
test byte [rcx + 0x1c], 1
je 0x14001b501
cmp byte [rcx + 0x19], 2
jb 0x14001b501
mov r9, qword [rdi + 0x70]
lea edx, [rbx + 0x3d]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x20], r8d
lea r8, [0x140045948]
call fcn.14000476c
mov qword [rdi + 0x50], rbx
mov word [rdi + 0x4c], si
mov byte [rdi + 0x9c], 1
jmp 0x14001b55d
mov ebx, 0x8009300f
mov dword [rsp + 0x38], ebx
mov rcx, qword [0x14004d128]
lea rax, [0x14004d128]
cmp rcx, rax
je 0x14001b55b
test byte [rcx + 0x1c], 1
je 0x14001b55b
cmp byte [rcx + 0x19], 2
jb 0x14001b55b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140045948]
mov edx, 0x3c
mov dword [rsp + 0x28], ebx
mov r9d, esi
mov qword [rsp + 0x20], rbp
call fcn.140018eb4
mov esi, ebx
lea rcx, [rsp + 0x30]
call fcn.1400095e0
mov rbx, qword [rsp + 0x50]
mov eax, esi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret