joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140119af0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
cmp r9, 2
jb 0x140119c20
cmp word [r8 + 2], 0x3a
jne 0x140119c20
movzx eax, word [r8]
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp ax, 0x1a
jae 0x140119c20
mov ebx, 2
xor eax, eax
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
cmp rdx, 2
jb 0x140119c29
cmp word [rcx + 2], 0x3a
jne 0x140119c29
movzx r10d, word [rcx]
and r10d, 0xffffffdf
add r10d, 0xffffffa5
cmp r10w, 0xffe6
setae r10b
not al
test al, r10b
je 0x140119c29
cmp r9, rbx
cmovae r9, rbx
lea rdx, [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], 2
lea rcx, [rsp + 0x28]
mov qword [rcx], r8
mov qword [rcx + 8], r9
mov r8d, 1
call fcn.1401ff240
test al, al
je 0x140119bd6
mov rcx, qword [rdi + 8]
sub rcx, rbx
jb 0x140119c4d
mov rax, qword [rsi + 8]
cmp rax, 1
jbe 0x140119c4d
add rax, 0xfffffffffffffffe
cmp rcx, rax
je 0x140119bf7
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x140119bef
call fcn.14029bbb0
int3
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test rcx, rcx
je 0x140119bd8
add ebx, ebx
add rbx, qword [rdi]
mov rdx, qword [rsi]
xor r8d, r8d
movzx r9d, word [rbx + r8*2]
cmp r9w, word [rdx + r8*2 + 4]
jne 0x140119bd6
inc r8
cmp rcx, r8
jne 0x140119c09
jmp 0x140119bd8
mov al, 1
xor ebx, ebx
jmp 0x140119b44
cmp r9, rdx
jne 0x140119bd6
mov al, 1
test r9, r9
je 0x140119bd8
xor edx, edx
movzx r10d, word [r8 + rdx*2]
cmp r10w, word [rcx + rdx*2]
jne 0x140119bd6
inc rdx
cmp r9, rdx
jne 0x140119c37
jmp 0x140119bd8
lea rcx, str.string_view::substr
call fcn.1402da9c0
int3

Function at 0x14011bad0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
xor eax, eax
mov qword [rcx], rax
mov r14, qword [rdx]
mov qword [rdx], rax
lea r15, [r14 + 1]
cmp r15, 2
jb 0x14011baff
call fcn.140212f50
cmp qword [rsi], r14
je 0x14011bb2e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x14011bb6a
cmp r15, 2
jb 0x14011bb26
mov qword [rsi], r14
call fcn.140212f50
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsi + 8]
call fcn.140213ec0
lea rcx, [rsi + 0x20]
call fcn.140232d40
mov dword [rsi + 0x24], 0
mov byte [rsi + 0x28], 0
mov byte [rsi + 0x29], bl
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x14011bb80
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.140212f50
mov rcx, qword [rsi]
call fcn.1401fded0
mov qword [rsi], 0
jmp 0x14011bb18
call fcn.140212f50
mov rcx, qword [rdi]
call fcn.1401fded0
mov qword [rdi], 0
jmp 0x14011bb5a
Function at 0x14011c410
Capabilities:
Accept command line arguments

Disassembly:
push rsi
push rdi
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, qword [0x14052b680]
test rdi, rdi
jne 0x14011c4c2
mov ecx, 0x50
call fcn.14029a62c
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.14029a62c
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x14011c4eb
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x20], rcx
mov rax, rsi
add rax, 0x38
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x48], 1
mov qword [0x14052b680], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14011c4eb
mov rcx, rax
call fcn.1402bdc14
lea rdx, [rsp + 0x28]
mov qword [rdx + 8], rax
mov rcx, rsi
call fcn.14011c4f0
test rdi, rdi
sete al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x14011c4df
call fcn.14029bbb0
int3
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop rdi
pop rsi
ret
ud2
Function at 0x140128f00
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov r13, qword [rsp + 0xb0]
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
xor r14d, r14d
test r13, r13
je 0x140128f70
mov ecx, dword [r13 + 0x2c]
call fcn.140235900
test rax, rax
je 0x14012904b
mov r12, rax
xor ecx, ecx
call fcn.140235960
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov r14, r12
mov rax, qword [r13 + 0x10]
lea rcx, [0x14032e690]
cmp rax, rcx
jne 0x14012904f
xorps xmm0, xmm0
movups xmmword [r14 + 0x5c], xmm0
movups xmmword [r14 + 0x50], xmm0
movups xmmword [r14 + 0x40], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movaps xmm0, xmmword [0x1404a3840]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [0x1404a3850]
movups xmmword [r14 + 0x10], xmm0
mov dword [r14 + 0x6c], 0x20
lea r14, [rsp + 0x20]
mov rax, qword [r14]
mov rax, qword [rax + 0x18]
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [0x140505c38]
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
mov rcx, r14
mov rdx, rdi
call qword [0x140505c38]
mov rax, qword [r14]
test rsi, rsi
je 0x140128ffa
mov ecx, dword [rax + 4]
mov dword [rsi], ecx
mov edx, dword [rax + 0x2c]
mov rcx, qword [rsp + 0x28]
call fcn.1402359a0
mov r14d, 1
mov rcx, qword [rsp + 0x28]
call fcn.140235960
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14012905f
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x140129038
call fcn.14029bbb0
int3
mov eax, r14d
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
jmp 0x140129012
lea rcx, [rsp + 0x20]
call qword [0x140505c38]
jmp 0x140128fbf
mov rax, qword [rax]
mov rcx, qword [rsp + 0x30]
call qword [0x140505c38]
jmp 0x140129021

Function at 0x140129210
Capabilities:
Hash data using sha256

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, qword [rcx]
cmp rax, rdx
je 0x140129248
mov rdi, rdx
mov ecx, dword [rdx + 0x2c]
call fcn.140235900
test rax, rax
je 0x14012929c
mov rbx, rax
mov rcx, qword [rsi + 8]
call fcn.140235960
mov qword [rsi + 8], rbx
mov qword [rsi], rdi
mov rax, rdi
mov rax, qword [rax + 0x10]
lea rcx, [0x14032e690]
cmp rax, rcx
jne 0x1401292a0
mov rax, qword [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rax + 0x5c], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x1404a3840]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1404a3850]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
mov eax, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x140129294
mov rcx, rsi
call qword [0x140505c38]
jmp 0x14012928f
Function at 0x140129340
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
cmp qword [rcx + 0x10], 0
jne 0x140129377
mov rcx, qword [rsp + 0x80]
mov rdx, r9
call fcn.140169cc0
mov qword [rdi + 0x10], rax
test rax, rax
je 0x140129481
mov ebp, dword [rsp + 0x88]
lea rcx, [0x14052b8c8]
lea rdx, [0x14012cac0]
call fcn.140240dd0
lea rax, [0x14052b8d0]
mov qword [rdi + 0x18], rax
mov rcx, qword [rdi + 0x10]
cmp ebp, 1
jne 0x140129485
call fcn.140169fc0
test eax, eax
je 0x140129481
test rbx, rbx
je 0x1401293cf
mov rcx, qword [rdi + 0x10]
mov rdx, rbx
call fcn.14012ce90
test eax, eax
je 0x140129481
xor eax, eax
test ebp, ebp
setne al
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx]
shl eax, 4
cmp qword [rcx + rax + 0x28], 0
je 0x140129463
test rbx, rbx
je 0x14012949a
mov rax, qword [rdi]
cmp rax, rbx
je 0x14012941c
mov ecx, dword [rbx + 0x2c]
call fcn.140235900
test rax, rax
je 0x140129481
mov r14, rax
mov rcx, qword [rdi + 8]
call fcn.140235960
mov qword [rdi + 8], r14
mov qword [rdi], rbx
mov rax, rbx
mov rax, qword [rax + 0x10]
lea rcx, [0x14032e690]
cmp rax, rcx
jne 0x14012948f
mov rax, qword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rax + 0x5c], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x1404a3840]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1404a3850]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
mov ebx, 1
test rsi, rsi
je 0x140129474
mov rax, qword [rdi + 0x10]
mov qword [rsi], rax
mov eax, ebx
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
xor ebx, ebx
jmp 0x140129474
call fcn.1403b2ad0
jmp 0x1401293ae
mov rcx, rdi
call qword [0x140505c38]
jmp 0x140129463
mov dword [rsp + 0x20], 0x6d
lea r9, str....._third_party_boringssl_srccrypto_fipsmoduledigestsigndigestsign.c
xor ebx, ebx
mov ecx, 6
xor edx, edx
mov r8d, 0x77
call fcn.1403b2950
jmp 0x140129474
Function at 0x14012a7d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, r8
mov rsi, rdx
mov rdi, rcx
movsxd r8, dword [rcx + 0x148]
test r8, r8
jle 0x14012a9e6
mov r10, qword [rdi + 0x140]
xor ecx, ecx
mov edx, r8d
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
je 0x14012a9a6
movsxd rcx, edx
shl edx, 6
mov r10, qword [r10 + rcx*8 - 8]
xor ecx, ecx
test r10, r10
setne cl
or ecx, edx
xor edx, edx
mov r11, r10
shr r11, 0x20
setne dl
cmove r11, r10
shl edx, 5
mov rbx, r11
shr rbx, 0x10
xor r10d, r10d
cmp r11, 0x10000
setae r10b
cmovb rbx, r11
shl r10d, 4
mov r14, rbx
shr r14, 8
xor r11d, r11d
cmp rbx, 0x100
setae r11b
cmovb r14, rbx
mov rbx, r14
shr rbx, 4
xor r15d, r15d
cmp r14, 0x10
setae r15b
cmovb rbx, r14
mov r14, rbx
shr r14, 2
xor r12d, r12d
cmp rbx, 4
setae r12b
cmovb r14, rbx
or edx, ecx
or edx, r10d
cmp r14, 2
lea ecx, [rdx + r11*8]
lea ecx, [rcx + r15*4]
lea ecx, [rcx + r12*2]
sbb ecx, 0xffffffff
add ecx, 0xffffffc7
shr ecx, 3
cmp rcx, r9
jne 0x14012a9bb
lea rcx, [r8*8]
cmp rcx, r9
jb 0x14012a9e1
mov rcx, rsi
cmp r9, 8
jb 0x14012a8f8
mov rdx, qword [rax + r9 - 8]
add r9, 0xfffffffffffffff8
bswap rdx
mov qword [rcx], rdx
add rcx, 8
dec r8
cmp r9, 7
ja 0x14012a8dc
test r9, r9
je 0x14012a923
xor edx, edx
xor r10d, r10d
mov r11, r10
shl r11, 8
movzx r10d, byte [rax + rdx]
or r10, r11
inc rdx
cmp r9, rdx
jne 0x14012a902
mov qword [rcx], r10
add rcx, 8
dec r8
shl r8, 3
test r8, r8
jne 0x14012a9fa
movsxd rcx, dword [rdi + 0x148]
mov eax, 0x14b
test rcx, rcx
je 0x14012a9c0
mov r8, qword [rdi + 0x140]
xor edx, edx
xor r9d, r9d
mov r10, qword [r8 + r9*8]
mov r11, qword [rsi + r9*8]
mov rdi, r11
xor rdi, r10
lea rbx, [rdi - 1]
mov r14, r11
sub r14, r10
xor r14, r11
or r14, rdi
not rdi
and rbx, rdi
sar rbx, 0x3f
xor r14, r11
sar r14, 0x3f
xor rdx, r14
and rdx, rbx
xor rdx, r14
inc r9
cmp rcx, r9
jne 0x14012a94d
mov esi, 1
test edx, edx
jns 0x14012a9c0
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x14012a802
jmp 0x14012a8b9
mov eax, 0x144
mov dword [rsp + 0x20], eax
lea r9, str....._third_party_boringssl_srccrypto_fipsmoduleec_simple.c
xor esi, esi
mov ecx, 0xf
xor edx, edx
mov r8d, 0x80
call fcn.1403b2950
jmp 0x14012a996
call fcn.1402b38b0
test r8d, r8d
je 0x14012aa06
mov r10, qword [rdi + 0x140]
mov edx, r8d
jmp 0x14012a811
xor edx, edx
call fcn.1402d9b60
jmp 0x14012a930
xor ecx, ecx
jmp 0x14012a8b9
Function at 0x14012b030
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp r8, 0x30
ja 0x14012b18a
mov r14, r8
mov r15, rdx
mov rsi, rcx
movaps xmm0, xmmword [0x140484a40]
lea rdi, [rsp + 0x40]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi - 0x10], xmm0
movaps xmmword [rdi - 0x20], xmm0
lea r12, [rsp + 0x30]
lea rbx, [rcx + 0x108]
mov eax, dword [rcx + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rcx + 0x114], eax
mov rax, qword [rcx + 0xf8]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8, rsi
call qword [0x140505c38]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, r12
mov r8, rsi
call qword [0x140505c38]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call qword [0x140505c38]
test r14, r14
je 0x14012b113
xor eax, eax
mov cl, byte [r15 + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp r14, rax
jne 0x14012b103
mov ecx, 1
call fcn.1402415b0
bt eax, 0x19
jae 0x14012b195
not eax
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
test eax, 0x12000000
jne 0x14012b18e
call fcn.140030140
lea rax, [0x14002ebe0]
lea rcx, [0x14002de80]
mov qword [rsi + 0xf8], rcx
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
mov eax, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x14012b17c
call fcn.14029bbb0
int3
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor eax, eax
jmp 0x14012b165
call fcn.14002fe50
jmp 0x14012b13e
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
bt eax, 9
jae 0x14012b1bd
call fcn.140030f50
lea rax, [0x140031420]
lea rcx, [0x140031120]
jmp 0x14012b14c
call fcn.140318a10
lea rax, [0x140319650]
lea rcx, [0x1403188e0]
jmp 0x14012b14c
Function at 0x14012b1f0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm8
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rsp + 0x28], r9
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x24], 1
test rdx, rdx
je 0x14012b3bf
mov r15, r8
mov rdi, rdx
mov rbx, rcx
mov rsi, qword [rsp + 0x150]
mov r13d, dword [rsi + 4]
xor r14d, r14d
movaps xmm7, xmmword [0x1404a3840]
movaps xmm8, xmmword [0x1404a3850]
lea r12, [rsp + 0x30]
mov eax, r14d
bswap eax
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x30]
cmp rax, rsi
je 0x14012b2bb
mov ecx, dword [rsi + 0x2c]
call fcn.140235900
test rax, rax
je 0x14012b41e
mov rbp, rax
mov rcx, qword [rsp + 0x38]
call fcn.140235960
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rsi
mov rax, rsi
mov rax, qword [rax + 0x10]
lea rcx, [0x14032e690]
cmp rax, rcx
jne 0x14012b428
mov rax, qword [rsp + 0x38]
movups xmmword [rax + 0x5c], xmm6
movups xmmword [rax + 0x50], xmm6
movups xmmword [rax + 0x40], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm8
mov dword [rax + 0x6c], 0x20
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov rcx, r12
mov rdx, r15
mov r8, qword [rsp + 0x28]
call qword [0x140505c38]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov r8d, 4
mov rcx, r12
lea rdx, [rsp + 0x5c]
call qword [0x140505c38]
cmp rdi, r13
jb 0x14012b36b
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov rcx, r12
mov rdx, rbx
call qword [0x140505c38]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov edx, dword [rax + 0x2c]
call fcn.1402359a0
add rbx, r13
inc r14d
sub rdi, r13
jne 0x14012b27d
jmp 0x14012b3bf
movaps xmm0, xmmword [0x140484a40]
lea r14, [rsp + 0x60]
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
lea r15, [rsp + 0x30]
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rcx, r15
mov rdx, r14
call qword [0x140505c38]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov edx, dword [rax + 0x2c]
call fcn.1402359a0
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.1402d94c0
mov rcx, qword [rsp + 0x38]
call fcn.140235960
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14012b438
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x14012b3ed
call fcn.14029bbb0
int3
mov eax, dword [rsp + 0x24]
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x24], 0
jmp 0x14012b3bf
lea rcx, [rsp + 0x30]
call qword [0x140505c38]
jmp 0x14012b2f7
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
call qword [0x140505c38]
jmp 0x14012b3d3
Function at 0x14012c7a0
Capabilities:
Encode data using xor
Hash data using sha1 via x86 extensions

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov ecx, 2
call fcn.1402415b0
mov ebp, eax
bt eax, 0x1d
jb 0x14012c7e3
not ebp
test ebp, 0x128
jne 0x14012c809
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003dcb0
mov ecx, 1
call fcn.1402415b0
bt eax, 9
jae 0x14012c7c3
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003bd40
mov ecx, 1
call fcn.1402415b0
mov ebp, eax
bt eax, 0x1c
jae 0x14012c828
xor ecx, ecx
call fcn.1402415b0
bt eax, 0x1e
jb 0x14012c852
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
bt ebp, 9
jb 0x14012c844
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003ad00
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003c010
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003ceb0

Function at 0x14012c8c0
Capabilities:
Encode data using xor
Hash data using sha256 via x86 extensions

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov ecx, 2
call fcn.1402415b0
bt eax, 0x1d
jb 0x14012c940
mov ecx, 1
call fcn.1402415b0
mov ebp, eax
bt eax, 0x1c
jae 0x14012c916
xor ecx, ecx
call fcn.1402415b0
bt eax, 0x1e
jae 0x14012c916
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140041d40
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
bt ebp, 9
jb 0x14012c932
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14003f880
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140040e00
mov ecx, 1
call fcn.1402415b0
bt eax, 9
jae 0x14012c8e1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140040a40
Function at 0x140137570
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x28
test rdx, rdx
jne 0x14013758a
test r8d, r8d
jne 0x140137583
call fcn.140241a40
xor eax, eax
add rsp, 0x28
ret
mov r8d, r8d
add rsp, 0x28
jmp fcn.14022d230

Function at 0x140138800
Capabilities:
Get session user name

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x258
mov rsi, rcx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x250], rax
lea rdi, [rsp + 0x50]
mov r8d, 0x200
mov rcx, rdi
mov dl, 0xaa
call fcn.1402d9b60
lea rbx, [rsp + 0x4c]
mov dword [rbx], 0x100
mov rcx, rdi
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
setne cl
mov eax, dword [rbx]
test eax, eax
setne bl
and bl, cl
je 0x140138a27
mov r8d, eax
movabs r14, 0x7fffffffffffffff
movsx rcx, byte [rsi + 0x17]
test rcx, rcx
js 0x140138a04
mov rdx, rsi
cmp r8d, 0xa
jbe 0x1401388f8
mov eax, ecx
mov rdx, rcx
cmp rdx, r8
cmova r8, rdx
mov r9, r8
or r9, 3
cmp r9, 0xb
mov edx, ntohl
cmovne rdx, r9
cmp r8, 0xb
mov r8d, 0xa
cmovb rdx, r8
test cl, cl
js 0x140138a3c
cmp rdx, r8
je 0x1401388cf
mov rcx, rsi
call fcn.1400e2570
mov al, byte [rsi + 0x17]
mov rdx, rsi
test al, al
jns 0x1401388f8
mov rax, qword [rsi + 0x10]
mov rcx, rax
and rcx, r14
cmp rcx, 1
je 0x140138a52
shr rax, 0x38
mov rdx, rsi
test al, al
jns 0x1401388f8
mov rdx, qword [rsi]
mov word [rdx], 0x2e
cmp byte [rsi + 0x17], 0
jns 0x140138a31
mov qword [rsi + 8], 1
mov word [rdx + 2], 0
mov r12d, dword [rsp + 0x4c]
dec r12d
movsx rax, byte [rsi + 0x17]
test rax, rax
jns 0x1401389ab
and r14, qword [rsi + 0x10]
dec r14
mov r15, qword [rsi + 8]
mov rcx, r14
sub rcx, r15
cmp rcx, r12
jb 0x1401389c9
test r12, r12
je 0x140138991
mov r14, rsi
test al, al
jns 0x140138954
mov r14, qword [rsi]
lea rcx, [r14 + r15*2]
lea rax, [rcx + r12*2]
cmp rax, rdi
seta al
cmp rcx, rdi
ja 0x14013896f
test al, al
jne 0x140138a3a
lea r8, [r12 + r12]
lea rdx, [rsp + 0x50]
call fcn.1402d94c0
add r15, r12
cmp byte [rsi + 0x17], 0
jns 0x1401389fa
mov qword [rsi + 8], r15
mov word [r14 + r15*2], 0
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x1401389b6
call fcn.14029bbb0
int3
mov r14d, 0xa
mov r15, rax
jmp 0x140138936
mov eax, ebx
add rsp, 0x258
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r8, r12
sub r8, r14
add r8, r15
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov rcx, rsi
mov rdx, r14
mov r9, r15
call fcn.1400e62b0
jmp 0x140138991
mov eax, r15d
and al, 0x7f
mov byte [rsi + 0x17], al
jmp 0x14013898a
mov rax, qword [rsi + 0x10]
mov rdx, rax
and rdx, r14
dec rdx
shr rax, 0x38
cmp rdx, r8
jae 0x1401388cf
mov rdx, qword [rsi + 8]
jmp 0x14013888e
call fcn.140316af0
jmp 0x140138991
mov byte [rsi + 0x17], 1
jmp 0x14013890f
ud2
mov rax, qword [rsi + 0x10]
mov r8, rax
and r8, r14
dec r8
shr rax, 0x38
jmp 0x1401388bf
mov r9, qword [rsi + 8]
mov r8d, 2
sub r8, rcx
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r15
mov rcx, rsi
xor edx, edx
call fcn.1401ec240
mov qword [rsi + 8], r15
mov al, byte [rsi + 0x17]
jmp 0x1401388ee
Function at 0x140142e70
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov byte [rcx], 0
mov qword [rcx + 8], 0
movabs r14, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x40]
mov qword [rbx], r14
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0x28
mov r8, rbx
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140142f71
mov r15, qword [rsp + 0x40]
cmp qword [rsi + 8], r15
je 0x140142f0b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x140142fbc
lea rax, [r15 + 1]
cmp rax, 2
jb 0x140142f03
mov qword [rsi + 8], r15
call fcn.140212f50
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x38]
mov qword [r8], r14
xor ecx, ecx
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140142f97
lea r8, [rsp + 0x48]
mov dword [r8], 1
mov rax, qword [rsp + 0x38]
mov qword [r8 + 4], rax
mov dword [r8 + 0xc], 2
lea rax, [rsp + 0x34]
mov dword [rax], 0xaaaaaaaa
lea rdx, [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
xor edx, edx
mov r9d, 0x10
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x140142f97
mov byte [rsi], 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x140142f88
call fcn.14029bbb0
int3
mov rax, rsi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jb 0x140142f71
call fcn.140212f50
mov rcx, qword [rsi + 8]
call fcn.1401fded0
mov qword [rsi + 8], 0
jmp 0x140142f71
call fcn.140212f50
mov rcx, qword [rsi + 8]
call fcn.1401fded0
mov qword [rsi + 8], 0
jmp 0x140142ef0