joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140095110
Capabilities:
Check if file exists
Create directory

Disassembly:
push rsi
push rdi
sub rsp, 0x198
mov rsi, rcx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x190], rax
cmp byte [rcx + 0x17], 0
jns 0x140095137
mov rcx, qword [rsi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140095171
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140095190
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.14016c920
mov rcx, rsi
add rsp, 0x198
pop rdi
pop rsi
jmp fcn.140095270
mov sil, 1
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.14016c920
mov eax, esi
add rsp, 0x198
pop rdi
pop rsi
ret
mov ecx, 2
call fcn.140124e30
test al, al
je 0x14009525b
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rcx, [rsp + 0x58]
mov r8d, 0x265
mov r9d, 2
call fcn.1401dd8a0
lea rcx, [rsp + 0x68]
lea rdx, str.CreateDirectory
mov r8d, 0x10
call fcn.1400fe0b0
mov rdi, rax
movsx rax, byte [rsi + 0x17]
test rax, rax
jns 0x1400951f3
mov rax, qword [rsi + 8]
mov rsi, qword [rsi]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rax
test rax, rax
js 0x140095262
sete al
test rsi, rsi
setne cl
or cl, al
je 0x140095262
lea rsi, [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14011b740
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140095235
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.1400fe0b0
cmp byte [rsp + 0x57], 0
jns 0x140095251
mov rcx, qword [rsp + 0x40]
call fcn.14016b3e8
lea rcx, [rsp + 0x58]
call fcn.1401dd910
xor esi, esi
jmp 0x140095174
ud2

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

Disassembly:
push rsi
push rdi
sub rsp, 0x168
mov rsi, rcx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x160], rax
cmp byte [rcx + 0x17], 0
jns 0x140095297
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14009533d
mov dil, 1
test al, 0x10
je 0x1400952c9
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.14016c920
mov eax, edi
add rsp, 0x168
pop rdi
pop rsi
ret
mov ecx, 2
call fcn.140124e30
test al, al
je 0x140095336
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x255
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x38]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.1400fe0b0
mov rcx, rax
mov rdx, rsi
call fcn.1401deb10
lea rdx, str.:_not_a_directory
mov r8d, 0x11
mov rcx, rax
call fcn.1400fe0b0
mov rcx, rdi
call fcn.140074360
xor edi, edi
jmp 0x1400952ad
mov ecx, 2
call fcn.140124e30
test al, al
je 0x140095336
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x251
mov r9d, 2
call fcn.1401dd8a0
lea rcx, [rsp + 0x38]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.1400fe0b0
mov rcx, rax
mov rdx, rsi
call fcn.1401deb10
mov rcx, rdi
call fcn.1401dd910
jmp 0x140095336
Function at 0x140096690
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x30], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x28]
mov qword [rsi], rax
mov rdx, rsi
call fcn.140095430
mov rax, qword [rsi]
test rax, rax
je 0x140096707
mov rbx, qword [rax + 0x50]
mov r15, qword [rax + 0x58]
xor esi, esi
cmp rbx, r15
jne 0x14009670e
lea rcx, [rsp + 0x28]
call fcn.140095e80
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14016c920
mov eax, esi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov esi, 3
jmp 0x1400966e0
mov r12, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [rbx + 0x68], 0
jne 0x140096732
cmp byte [rbx + 0x27], 0
js 0x140096727
lea rcx, [rbx + 0x10]
jmp 0x14009672b
mov rcx, qword [rbx + 0x10]
call r12
test al, 0x10
je 0x14009673d
add rbx, 0x70
cmp rbx, r15
je 0x1400966e0
jmp 0x140096715
mov r14, qword [rdi + 8]
cmp r14, qword [rdi + 0x10]
jae 0x14009675c
mov rcx, r14
mov rdx, rbx
call fcn.14023d960
add r14, 0x68
mov qword [rdi + 8], r14
jmp 0x140096732
mov rcx, rdi
mov rdx, rbx
call fcn.14023d800
mov r14, rax
jmp 0x140096756

Function at 0x140096770
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x30], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x28]
mov qword [rsi], rax
mov rdx, rsi
call fcn.140095430
mov rax, qword [rsi]
test rax, rax
je 0x1400967e7
mov rbx, qword [rax + 0x50]
mov r15, qword [rax + 0x58]
xor esi, esi
cmp rbx, r15
jne 0x1400967ee
lea rcx, [rsp + 0x28]
call fcn.140095e80
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14016c920
mov eax, esi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov esi, 3
jmp 0x1400967c0
mov r12, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [rbx + 0x68], 2
jne 0x140096812
cmp byte [rbx + 0x27], 0
js 0x140096807
lea rcx, [rbx + 0x10]
jmp 0x14009680b
mov rcx, qword [rbx + 0x10]
call r12
test al, 0x10
je 0x14009681d
add rbx, 0x70
cmp rbx, r15
je 0x1400967c0
jmp 0x1400967f5
mov r14, qword [rdi + 8]
cmp r14, qword [rdi + 0x10]
jae 0x14009683c
mov rcx, r14
mov rdx, rbx
call fcn.14023d960
add r14, 0x68
mov qword [rdi + 8], r14
jmp 0x140096812
mov rcx, rdi
mov rdx, rbx
call fcn.14023d800
mov r14, rax
jmp 0x140096836
Function at 0x1400973f0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r9
mov r14, r8
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x68]
mov qword [rax], 0
mov qword [rsp + 0x20], rax
lea rcx, [0x1402ef0c0]
lea r9, [0x14031f460]
xor edx, edx
mov r8d, 1
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400975a4
mov qword [rsp + 0x60], 0
movsx rax, byte [r14 + 0x17]
test rax, rax
jns 0x140097465
mov rax, qword [r14 + 8]
mov r14, qword [r14]
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rax
test rax, rax
js 0x140097590
sete al
test r14, r14
setne cl
or cl, al
je 0x140097590
lea r14, [rsp + 0x58]
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.1400c2990
mov rdx, qword [r14]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x40], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call qword [0x14036e550]
mov ebp, eax
mov rcx, r14
call fcn.1400c29e0
test ebp, ebp
js 0x140097592
test bl, bl
je 0x14009752a
mov rcx, qword [rsp + 0x60]
mov eax, 3
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x14009759a
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], 0
mov rcx, qword [rdi]
mov qword [rdi], rax
test rcx, rcx
jne 0x1400975b0
mov byte [rsi], 0
xor eax, eax
mov byte [rsi + 4], al
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x1400975bf
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140097575
mov qword [rsp + 0x68], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14036e550]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14016c920
nop
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
ud2
mov dword [rsi], 1
jmp 0x1400975a0
mov dword [rsi], 2
mov al, 1
jmp 0x140097548
mov dword [rsi], 0
mov byte [rsi + 4], 1
jmp 0x140097555
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14036e550]
jmp 0x140097543
mov qword [rsp + 0x60], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14036e550]
jmp 0x140097555
Function at 0x14009c960
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 [0x14037e040]
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 0x14009c9d0
mov ecx, dword [r13 + 0x2c]
call fcn.140137cb0
test rax, rax
je 0x14009caa1
mov r12, rax
xor ecx, ecx
call fcn.140137d10
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov r14, r12
mov rax, qword [r13 + 0x10]
lea rcx, [0x1402566d0]
cmp rax, rcx
jne 0x14009caa5
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 [0x140323230]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [0x140323240]
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 [0x14036e550]
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
mov rcx, r14
mov rdx, rdi
call qword [0x14036e550]
mov rax, qword [r14]
test rsi, rsi
je 0x14009ca5a
mov ecx, dword [rax + 4]
mov dword [rsi], ecx
mov edx, dword [rax + 0x2c]
mov rcx, qword [rsp + 0x28]
call fcn.140137d50
mov r14d, 1
mov rcx, qword [rsp + 0x28]
call fcn.140137d10
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14009cab5
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14016c920
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 0x14009ca72
lea rcx, [rsp + 0x20]
call qword [0x14036e550]
jmp 0x14009ca1f
mov rax, qword [rax]
mov rcx, qword [rsp + 0x30]
call qword [0x14036e550]
jmp 0x14009ca81

Function at 0x14009cc70
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 0x14009cca8
mov rdi, rdx
mov ecx, dword [rdx + 0x2c]
call fcn.140137cb0
test rax, rax
je 0x14009ccfc
mov rbx, rax
mov rcx, qword [rsi + 8]
call fcn.140137d10
mov qword [rsi + 8], rbx
mov qword [rsi], rdi
mov rax, rdi
mov rax, qword [rax + 0x10]
lea rcx, [0x1402566d0]
cmp rax, rcx
jne 0x14009cd00
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 [0x140323230]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140323240]
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 0x14009ccf4
mov rcx, rsi
call qword [0x14036e550]
jmp 0x14009ccef
Function at 0x14009cda0
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 0x14009cdd7
mov rcx, qword [rsp + 0x80]
mov rdx, r9
call fcn.1400c4f20
mov qword [rdi + 0x10], rax
test rax, rax
je 0x14009cee1
mov ebp, dword [rsp + 0x88]
lea rcx, [0x140394970]
lea rdx, [0x1400a04e0]
call fcn.140144500
lea rax, [0x140394978]
mov qword [rdi + 0x18], rax
mov rcx, qword [rdi + 0x10]
cmp ebp, 1
jne 0x14009cee5
call fcn.1400c5220
test eax, eax
je 0x14009cee1
test rbx, rbx
je 0x14009ce2f
mov rcx, qword [rdi + 0x10]
mov rdx, rbx
call fcn.1400be100
test eax, eax
je 0x14009cee1
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 0x14009cec3
test rbx, rbx
je 0x14009cefa
mov rax, qword [rdi]
cmp rax, rbx
je 0x14009ce7c
mov ecx, dword [rbx + 0x2c]
call fcn.140137cb0
test rax, rax
je 0x14009cee1
mov r14, rax
mov rcx, qword [rdi + 8]
call fcn.140137d10
mov qword [rdi + 8], r14
mov qword [rdi], rbx
mov rax, rbx
mov rax, qword [rax + 0x10]
lea rcx, [0x1402566d0]
cmp rax, rcx
jne 0x14009ceef
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 [0x140323230]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x140323240]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
mov ebx, 1
test rsi, rsi
je 0x14009ced4
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 0x14009ced4
call fcn.1402821d0
jmp 0x14009ce0e
mov rcx, rdi
call qword [0x14036e550]
jmp 0x14009cec3
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.140282060
jmp 0x14009ced4
Function at 0x14009e220
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 0x14009e436
mov r10, qword [rdi + 0x140]
xor ecx, ecx
mov edx, r8d
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
je 0x14009e3f6
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 0x14009e40b
lea rcx, [r8*8]
cmp rcx, r9
jb 0x14009e431
mov rcx, rsi
cmp r9, 8
jb 0x14009e348
mov rdx, qword [rax + r9 - 8]
add r9, 0xfffffffffffffff8
bswap rdx
mov qword [rcx], rdx
add rcx, 8
dec r8
cmp r9, 7
ja 0x14009e32c
test r9, r9
je 0x14009e373
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 0x14009e352
mov qword [rcx], r10
add rcx, 8
dec r8
shl r8, 3
test r8, r8
jne 0x14009e44a
movsxd rcx, dword [rdi + 0x148]
mov eax, 0x14b
test rcx, rcx
je 0x14009e410
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 0x14009e39d
mov esi, 1
test edx, edx
jns 0x14009e410
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 0x14009e252
jmp 0x14009e309
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.140282060
jmp 0x14009e3e6
call fcn.140184540
test r8d, r8d
je 0x14009e456
mov r10, qword [rdi + 0x140]
mov edx, r8d
jmp 0x14009e261
xor edx, edx
call fcn.1401a5320
jmp 0x14009e380
xor ecx, ecx
jmp 0x14009e309
Function at 0x14009ea70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp r8, 0x30
ja 0x14009ebc2
mov r14, r8
mov r15, rdx
mov rsi, rcx
movaps xmm0, xmmword [0x1402faf80]
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 [0x14036e550]
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 [0x14036e550]
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 [0x14036e550]
test r14, r14
je 0x14009eb53
xor eax, eax
mov cl, byte [r15 + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp r14, rax
jne 0x14009eb43
mov ecx, 1
call fcn.140144630
bt eax, 0x19
jae 0x14009ebcd
not eax
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
test eax, 0x12000000
jne 0x14009ebc6
call fcn.1400032c0
lea rax, [0x140001d60]
lea rcx, section..text
mov qword [rsi + 0xf8], rcx
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
mov esi, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14016c920
mov eax, esi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor esi, esi
jmp 0x14009eba5
call fcn.140002fd0
jmp 0x14009eb7e
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
bt eax, 9
jae 0x14009ebf5
call fcn.1400040d0
lea rax, [0x1400045a0]
lea rcx, [0x1400042a0]
jmp 0x14009eb8c
call fcn.140240c80
lea rax, [0x1402418b0]
lea rcx, [0x140240b60]
jmp 0x14009eb8c
Function at 0x14009ec20
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 [0x14037e040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov esi, 1
test rdx, rdx
je 0x14009edf1
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 [0x140323230]
movaps xmm8, xmmword [0x140323240]
lea r12, [rsp + 0x30]
mov eax, r14d
bswap eax
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x30]
cmp rax, rsi
je 0x14009ece8
mov ecx, dword [rsi + 0x2c]
call fcn.140137cb0
test rax, rax
je 0x14009ee44
mov rbp, rax
mov rcx, qword [rsp + 0x38]
call fcn.140137d10
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rsi
mov rax, rsi
mov rax, qword [rax + 0x10]
lea rcx, [0x1402566d0]
cmp rax, rcx
jne 0x14009ee48
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 [0x14036e550]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov r8d, 4
mov rcx, r12
lea rdx, [rsp + 0x5c]
call qword [0x14036e550]
cmp rdi, r13
jb 0x14009ed98
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov rcx, r12
mov rdx, rbx
call qword [0x14036e550]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov edx, dword [rax + 0x2c]
call fcn.140137d50
add rbx, r13
inc r14d
sub rdi, r13
jne 0x14009ecaa
jmp 0x14009edec
movaps xmm0, xmmword [0x1402faf80]
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 [0x14036e550]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov edx, dword [rax + 0x2c]
call fcn.140137d50
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.1401a4c80
mov esi, 1
mov rcx, qword [rsp + 0x38]
call fcn.140137d10
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14009ee58
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14016c920
mov eax, esi
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
xor esi, esi
jmp 0x14009edf1
lea rcx, [rsp + 0x30]
call qword [0x14036e550]
jmp 0x14009ed24
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
call qword [0x14036e550]
jmp 0x14009ee05
Function at 0x1400a01c0
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.140144630
mov ebp, eax
bt eax, 0x1d
jb 0x1400a0203
not ebp
test ebp, 0x128
jne 0x1400a0229
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140010e30
mov ecx, 1
call fcn.140144630
bt eax, 9
jae 0x1400a01e3
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000eec0
mov ecx, 1
call fcn.140144630
mov ebp, eax
bt eax, 0x1c
jae 0x1400a0248
xor ecx, ecx
call fcn.140144630
bt eax, 0x1e
jb 0x1400a0272
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
bt ebp, 9
jb 0x1400a0264
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000de80
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000f190
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140010030

Function at 0x1400a02e0
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.140144630
bt eax, 0x1d
jb 0x1400a0360
mov ecx, 1
call fcn.140144630
mov ebp, eax
bt eax, 0x1c
jae 0x1400a0336
xor ecx, ecx
call fcn.140144630
bt eax, 0x1e
jae 0x1400a0336
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140014ec0
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
bt ebp, 9
jb 0x1400a0352
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140012a00
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140013f80
mov ecx, 1
call fcn.140144630
bt eax, 9
jae 0x1400a0301
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140013bc0
Function at 0x1400a09f0
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
cmp dword [rcx + 0x10], 0
jne 0x1400a0ade
cmp qword [rsi], 0
jne 0x1400a0ade
cmp dword [rsi + 0x14], 0
jne 0x1400a0ade
cmp qword [rsi + 8], 0
jne 0x1400a0ade
xor eax, eax
mov r14, qword [rdi]
cmp rax, r14
je 0x1400a0a60
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x1400a0ab0
lea rax, [r14 + 1]
cmp rax, 2
jb 0x1400a0a58
mov qword [rsi], r14
call fcn.140125140
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rdi + 8]
cmp qword [rsi + 8], r14
je 0x1400a0a9a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x1400a0ac6
lea rax, [r14 + 1]
cmp rax, 2
jb 0x1400a0a92
mov qword [rsi + 8], r14
call fcn.140125140
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x10], eax
mov eax, dword [rdi + 0x14]
mov dword [rsi + 0x14], eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.140125140
mov rcx, qword [rsi]
call fcn.140113500
mov qword [rsi], 0
jmp 0x1400a0a46
call fcn.140125140
mov rcx, qword [rsi + 8]
call fcn.140113500
mov qword [rsi + 8], 0
jmp 0x1400a0a7f
mov rcx, rsi
call fcn.14025bdf0
mov rax, qword [rsi]
jmp 0x1400a0a2a