joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401bb810
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov eax, 0x40
call fcn.14026ff20
sub rsp, rax
mov rax, qword [rcx + 0x180]
mov rbp, rcx
mov rdi, qword [rcx + 0x160]
mov rsi, r9
mov qword [rsp + 0x70], rax
mov r15, r8
mov rax, qword [rcx + 0x168]
mov r14, rdx
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x88], rax
add rcx, r9
movabs rax, 0xfffffffe0
cmp rcx, rax
ja 0x1401bba41
cmp rcx, r9
jb 0x1401bba41
cmp dword [rbp + 0x174], 0
lea r8, [rbp + 0x60]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
lea r13, [rbp + 0x40]
mov qword [rbp + 0x38], rcx
je 0x1401bb8b0
mov rdx, r8
mov rcx, r13
call rdi
lea r8, [rbp + 0x60]
mov dword [rbp + 0x174], 0
mov r12d, dword [rbp + 0xc]
mov ebx, dword [rbp + 0x170]
bswap r12d
test ebx, ebx
je 0x1401bb8fd
test rsi, rsi
je 0x1401bb8ec
movzx edx, byte [r14]
dec rsi
mov ecx, ebx
inc r14
movzx eax, byte [rcx + rbp + 0x10]
xor al, dl
mov byte [r15], al
inc r15
xor byte [rcx + rbp + 0x40], dl
inc ebx
and ebx, 0xf
jne 0x1401bb8c1
jmp 0x1401bb8f4
test ebx, ebx
jne 0x1401bba1e
lea rcx, [rbp + 0x40]
mov rdx, r8
call rdi
cmp rsi, 0xc00
jb 0x1401bb987
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add rsi, rax
nop dword [rax + rax]
mov r9d, 0xc00
lea rdx, [rbp + 0x60]
mov r8, r14
mov rcx, r13
call qword [rsp + 0x88]
mov r9, qword [rsp + 0x70]
mov r8d, 0xc0
mov rdx, r15
mov qword [rsp + 0x20], rbp
mov rcx, r14
call qword [rsp + 0x90]
add r12d, 0xc0
add r15, 0xc00
mov eax, r12d
add r14, 0xc00
bswap eax
mov dword [rbp + 0xc], eax
sub rdi, 1
jne 0x1401bb930
mov r13, rsi
and r13, 0xfffffffffffffff0
je 0x1401bb9da
mov rdi, r13
lea rdx, [rbp + 0x60]
mov r9, r13
shr rdi, 4
mov r8, r14
lea rcx, [rbp + 0x40]
call qword [rsp + 0x88]
mov r9, qword [rsp + 0x70]
mov r8, rdi
mov rdx, r15
mov qword [rsp + 0x20], rbp
mov rcx, r14
call qword [rsp + 0x90]
add r12d, edi
add r15, r13
mov eax, r12d
add r14, r13
bswap eax
mov dword [rbp + 0xc], eax
sub rsi, r13
test rsi, rsi
je 0x1401bba1e
mov r8, qword [rsp + 0x70]
lea rdx, [rbp + 0x10]
mov rcx, rbp
call qword [rbp + 0x178]
inc r12d
bswap r12d
mov dword [rbp + 0xc], r12d
nop dword [rax + rax]
mov edx, ebx
inc ebx
movzx ecx, byte [rdx + r14]
movzx eax, byte [rdx + rbp + 0x10]
xor byte [rdx + rbp + 0x40], cl
xor al, cl
mov byte [rdx + r15], al
sub rsi, 1
jne 0x1401bba00
mov r12, qword [rsp + 0x38]
xor eax, eax
mov r13, qword [rsp + 0x30]
mov dword [rbp + 0x170], ebx
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xffffffff
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401bba60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
mov eax, 0x40
call fcn.14026ff20
sub rsp, rax
mov rax, qword [rcx + 0x178]
mov rbx, rcx
mov r12, qword [rcx + 0x160]
mov r14, r9
mov qword [rsp + 0x88], rax
mov rdi, r8
mov rax, qword [rcx + 0x180]
mov rsi, rdx
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x168]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x28], rax
add rcx, r9
movabs rax, 0xfffffffe0
cmp rcx, rax
ja 0x1401bbcdc
cmp rcx, r9
jb 0x1401bbcdc
cmp dword [rbx + 0x174], 0
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r15
mov qword [rbx + 0x38], rcx
je 0x1401bbb03
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call r12
mov dword [rbx + 0x174], 0
mov r15d, dword [rbx + 0xc]
mov ebp, dword [rbx + 0x170]
bswap r15d
test ebp, ebp
je 0x1401bbb4d
test r14, r14
je 0x1401bbb3a
mov ecx, ebp
dec r14
movzx eax, byte [rcx + rbx + 0x10]
xor al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
xor byte [rcx + rbx + 0x40], al
inc ebp
and ebp, 0xf
jne 0x1401bbb14
jmp 0x1401bbb42
test ebp, ebp
jne 0x1401bbcb9
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call r12
cmp r14, 0xc00
jb 0x1401bbbf3
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rcx, rdx
shr rcx, 0xb
imul rax, rcx, 0xfffffffffffff400
mov qword [rsp + 0x20], rcx
add r14, rax
nop dword [rax]
mov r12d, 0xc0
nop word [rax + rax]
mov r8, qword [rsp + 0x70]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rsp + 0x88]
inc r15d
mov eax, r15d
bswap eax
mov dword [rbx + 0xc], eax
mov rax, qword [rbx + 0x10]
xor rax, qword [rsi]
mov qword [rdi], rax
mov rax, qword [rsi + 8]
add rsi, 0x10
xor rax, qword [rbx + 0x18]
mov qword [rdi + 8], rax
add rdi, 0x10
sub r12, 1
jne 0x1401bbb90
lea r8, [rdi - 0xc00]
mov r9d, 0xc00
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call qword [rsp + 0x28]
sub qword [rsp + 0x20], 1
jne 0x1401bbb80
mov rax, r14
and rax, 0xfffffffffffffff0
mov qword [rsp + 0x20], rax
je 0x1401bbc7c
cmp r14, 0x10
jb 0x1401bbc67
mov r12, r14
shr r12, 4
imul rax, r12, 0xfffffffffffffff0
add r14, rax
nop word [rax + rax]
mov r8, qword [rsp + 0x70]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rsp + 0x88]
inc r15d
mov eax, r15d
bswap eax
mov dword [rbx + 0xc], eax
mov rax, qword [rbx + 0x10]
xor rax, qword [rsi]
mov qword [rdi], rax
mov rax, qword [rsi + 8]
add rsi, 0x10
xor rax, qword [rbx + 0x18]
mov qword [rdi + 8], rax
add rdi, 0x10
sub r12, 1
jne 0x1401bbc20
mov rax, qword [rsp + 0x20]
mov r8, rdi
lea rdx, [rbx + 0x60]
sub r8, rax
lea rcx, [rbx + 0x40]
mov r9, rax
call qword [rsp + 0x28]
test r14, r14
je 0x1401bbcb9
mov r8, qword [rsp + 0x70]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rsp + 0x88]
inc r15d
bswap r15d
mov dword [rbx + 0xc], r15d
nop
mov ecx, ebp
inc ebp
movzx eax, byte [rcx + rsi]
xor al, byte [rcx + rbx + 0x10]
mov byte [rcx + rdi], al
xor byte [rcx + rbx + 0x40], al
sub r14, 1
jne 0x1401bbca0
mov r13, qword [rsp + 0x38]
xor eax, eax
mov r15, qword [rsp + 0x30]
mov dword [rbx + 0x170], ebp
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x40
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x1401bbcf0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push r14
push r15
mov eax, 0x58
call fcn.14026ff20
sub rsp, rax
mov rax, qword [rcx + 0x180]
mov rbx, rcx
mov qword [rsp + 0x80], rax
mov r15, r8
mov rax, qword [rcx + 0x168]
mov r14, r9
mov r8, qword [rcx + 0x160]
mov rbp, rdx
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x98], rax
add rcx, r9
movabs rax, 0xfffffffe0
mov qword [rsp + 0x30], r8
cmp rcx, rax
ja 0x1401bbf44
cmp rcx, r9
jb 0x1401bbf44
cmp dword [rbx + 0x174], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
lea r13, [rbx + 0x60]
mov qword [rbx + 0x38], rcx
je 0x1401bbd9e
lea rcx, [rbx + 0x40]
mov rdx, r13
call r8
mov r8, qword [rsp + 0x30]
mov dword [rbx + 0x174], 0
mov r12d, dword [rbx + 0xc]
mov esi, dword [rbx + 0x170]
bswap r12d
test esi, esi
je 0x1401bbdeb
nop
test r14, r14
je 0x1401bbdd8
mov ecx, esi
dec r14
movzx eax, byte [rcx + rbx + 0x10]
xor al, byte [rbp]
inc rbp
mov byte [r15], al
inc r15
xor byte [rcx + rbx + 0x40], al
inc esi
and esi, 0xf
jne 0x1401bbdb0
jmp 0x1401bbde0
test esi, esi
jne 0x1401bbf1a
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call r8
mov r10, qword [rsp + 0xa0]
cmp r14, 0xc00
jb 0x1401bbe7e
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add r14, rax
nop
mov r9, qword [rsp + 0x80]
mov r8d, 0xc0
mov rdx, r15
mov qword [rsp + 0x20], rbx
mov rcx, rbp
call r10
add r12d, 0xc0
lea rcx, [rbx + 0x40]
mov eax, r12d
mov r9d, 0xc00
bswap eax
mov r8, r15
mov dword [rbx + 0xc], eax
mov rdx, r13
call qword [rsp + 0x98]
mov r10, qword [rsp + 0xa0]
add r15, 0xc00
add rbp, 0xc00
sub rdi, 1
jne 0x1401bbe20
mov r13, r14
and r13, 0xfffffffffffffff0
je 0x1401bbed0
mov r9, qword [rsp + 0x80]
mov rdi, r13
shr rdi, 4
mov rdx, r15
mov r8, rdi
mov qword [rsp + 0x20], rbx
mov rcx, rbp
call r10
add r12d, edi
lea rdx, [rbx + 0x60]
mov eax, r12d
lea rcx, [rbx + 0x40]
bswap eax
mov r9, r13
mov dword [rbx + 0xc], eax
mov r8, r15
add rbp, r13
sub r14, r13
call qword [rsp + 0x98]
add r15, r13
test r14, r14
je 0x1401bbf1a
mov r8, qword [rsp + 0x80]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rbx + 0x178]
inc r12d
bswap r12d
mov dword [rbx + 0xc], r12d
nop dword [rax]
nop dword [rax + rax]
mov ecx, esi
inc esi
movzx eax, byte [rcx + rbp]
xor al, byte [rcx + rbx + 0x10]
mov byte [rcx + r15], al
xor byte [rcx + rbx + 0x40], al
sub r14, 1
jne 0x1401bbf00
mov r12, qword [rsp + 0x48]
xor eax, eax
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov dword [rbx + 0x170], esi
mov rsi, qword [rsp + 0x88]
add rsp, 0x58
pop r15
pop r14
pop rbp
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x58
pop r15
pop r14
pop rbp
pop rbx
ret
Function at 0x1401bc2c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
mov eax, 0x20
call fcn.14026ff20
sub rsp, rax
mov r13, qword [rcx + 0x160]
xor r14d, r14d
mov qword [rcx], r14
mov rsi, r8
mov qword [rcx + 8], r14
mov rdi, rdx
mov qword [rcx + 0x40], r14
mov rbx, rcx
mov qword [rcx + 0x48], r14
mov qword [rcx + 0x30], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x170], r14
cmp r8, 0xc
jne 0x1401bc327
movsd xmm0, qword [rdx]
lea edi, [r8 - 0xb]
movsd qword [rcx], xmm0
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov byte [rcx + 0xf], 1
jmp 0x1401bc4ae
mov qword [rsp + 0x58], rbp
mov rbp, rsi
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x50], rsi
cmp rsi, 0x10
jb 0x1401bc3c1
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
mov qword [rsp + 0x68], r15
lea r15, [rcx + 0xf]
add rsi, rax
nop word [rax + rax]
mov r8, rdi
sub r8, rbx
lea rax, [r15 + r8]
cmp rbx, rax
ja 0x1401bc393
cmp r15, rdi
jb 0x1401bc393
mov rax, rbx
mov edx, 0x10
nop dword [rax]
movzx ecx, byte [rax + r8]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1401bc380
jmp 0x1401bc3a3
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
add rdi, 0x10
sub rbp, 1
jne 0x1401bc360
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
test rsi, rsi
je 0x1401bc48a
cmp rsi, 0x40
jb 0x1401bc45c
lea rcx, [rbx - 1]
lea rax, [rdi - 1]
add rcx, rsi
add rax, rsi
cmp rbx, rax
ja 0x1401bc3ec
cmp rcx, rdi
jae 0x1401bc45c
mov rdx, rsi
and rdx, 0xffffffffffffffc0
mov rcx, rdi
lea rax, [rbx + 0x10]
sub rcx, rbx
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add r14, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r14, rdx
jb 0x1401bc400
cmp r14, rsi
jae 0x1401bc480
sub rdi, rbx
lea rcx, [r14 + rbx]
sub rsi, r14
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x1401bc470
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
shl rbp, 3
lea rdx, [rbx + 0x60]
bswap rbp
xor qword [rbx + 8], rbp
mov rcx, rbx
call r13
mov edi, dword [rbx + 0xc]
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
bswap edi
mov r8, qword [rbx + 0x180]
lea rdx, [rbx + 0x20]
mov rcx, rbx
call qword [rbx + 0x178]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
add rsp, 0x20
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret
Function at 0x1401daef0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
mov eax, 0x20
call fcn.14026ff20
sub rsp, rax
mov esi, dword [rdx + 8]
mov r14, rdx
mov rbx, rcx
test esi, esi
jne 0x1401daf31
xor edx, edx
call fcn.1401bfc40
lea eax, [rsi + 1]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
lea eax, [rsi - 1]
mov qword [rsp + 0x30], rdi
movsxd rdi, eax
xor eax, eax
mov qword [rsp + 0x38], r15
mov r15, qword [rdx]
mov rcx, qword [r15 + rdi*8]
cmp rcx, 1
sete al
sub esi, eax
cmp r14, rbx
je 0x1401daf7c
cmp esi, dword [rbx + 0xc]
jg 0x1401daf62
mov rax, rbx
jmp 0x1401daf6c
mov edx, esi
mov rcx, rbx
call fcn.1401c0070
test rax, rax
je 0x1401dafe6
mov eax, dword [r14 + 0x10]
mov dword [rbx + 0x10], eax
mov rcx, qword [r15 + rdi*8]
mov rdx, qword [rbx]
mov rax, rcx
xor rax, 1
inc rax
neg rax
shl rax, 0x3f
lea r8, [rdx + rdi*8]
shr rcx, 1
je 0x1401daf9c
mov qword [r8], rcx
test rdi, rdi
jle 0x1401dafde
sub r15, rdx
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r15 + r8 - 8]
lea r8, [r8 - 8]
mov rcx, rdx
dec rdi
shr rcx, 1
or rcx, rax
mov rax, rdx
xor rax, 1
mov qword [r8], rcx
inc rax
neg rax
shl rax, 0x3f
test rdi, rdi
jg 0x1401dafb0
mov dword [rbx + 8], esi
mov eax, 1
mov rdi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x1401f5720
Capabilities:
Encode data using base64

Disassembly:
mov eax, 8
call fcn.14026ff20
sub rsp, rax
xor r10d, r10d
mov r9, rcx
test r8d, r8d
jle 0x1401f5832
mov qword [rsp + 0x10], rbx
inc rdx
mov qword [rsp], rdi
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop
movzx eax, byte [rdx - 1]
cmp r8d, 3
jb 0x1401f57af
mov ecx, eax
movzx eax, byte [rdx]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 1]
shl rcx, 8
or rcx, rax
mov rax, rcx
shr rax, 0x12
movzx eax, byte [rax + rdi]
mov byte [r9], al
mov rax, rcx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rax + rdi]
mov byte [r9 + 1], al
mov rax, rcx
and eax, 0x3f
shr rcx, 6
add r9, 2
and ecx, 0x3f
movzx ebx, byte [rax + rdi]
movzx eax, byte [rcx + rdi]
mov rcx, r9
jmp 0x1401f57fe
mov ecx, eax
shl ecx, 0x10
cmp r8d, 2
jne 0x1401f57c2
movzx eax, byte [rdx]
shl eax, 8
or ecx, eax
mov eax, ecx
shr rcx, 0x12
movzx ecx, byte [rcx + rdi]
mov byte [r9], cl
mov ecx, eax
shr rcx, 0xc
and ecx, 0x3f
movzx ecx, byte [rcx + rdi]
mov byte [r9 + 1], cl
add r9, 2
mov rcx, r9
cmp r8d, 1
jne 0x1401f57f1
mov al, 0x3d
jmp 0x1401f57fc
shr rax, 6
and eax, 0x3f
movzx eax, byte [rax + rdi]
mov bl, 0x3d
mov byte [r9], al
add r10d, 4
add rdx, 3
mov byte [rcx + 1], bl
sub r8d, 3
lea r9, [rcx + 2]
test r8d, r8d
jg 0x1401f5750
mov rdi, qword [rsp]
mov eax, r10d
mov rbx, qword [rsp + 0x10]
mov byte [rcx + 2], 0
add rsp, 8
ret
mov byte [rcx], r10b
mov eax, r10d
add rsp, 8
ret
Function at 0x1401f95e0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, 0x28
call fcn.14026ff20
sub rsp, rax
cmp dword [0x1403d649c], 0
je 0x1401f9628
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1401f960d
mov dword [0x1403d649c], eax
jmp 0x1401f9628
xorps xmm2, xmm2
lea rcx, [rsp + 0x38]
mov edx, 8
call fcn.1401b99d0
cmp dword [0x1403d649c], 0
jne 0x1401f9644
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm2, xmm2
lea rcx, [rsp + 0x30]
mov edx, 4
mov dword [rsp + 0x30], eax
call fcn.1401b99d0
add rsp, 0x28
ret
Function at 0x14020be10
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x38
call fcn.14026ff20
sub rsp, rax
mov r11, rcx
cmp dword [rsp + 0x60], r9d
jne 0x14020bf03
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x14020bf03
mov qword [rsp + 0x30], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x14020beb0
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x14020be6a
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x14020be6a
cmp cl, 0xbb
jne 0x14020be9f
inc eax
cmp eax, ebx
jl 0x14020be54
sub ebx, eax
test eax, eax
jne 0x14020beb4
mov dword [rsp + 0x20], 0x83
lea r9, [0x1403d89f8]
mov edx, 0x80
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xa]
call fcn.1401b8970
mov rbx, qword [rsp + 0x30]
mov eax, 0xffffffff
add rsp, 0x38
ret
mov dword [rsp + 0x20], 0x7b
lea r9, [0x1403d89e0]
jmp 0x14020be7f
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x14020beec
mov edx, 0x80
mov dword [rsp + 0x20], 0x8b
lea r9, str..crypto_rsa_rsa_x931.c
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xb]
call fcn.1401b8970
mov rbx, qword [rsp + 0x30]
mov eax, 0xffffffff
add rsp, 0x38
ret
mov r8d, ebx
mov rcx, r11
call fcn.1402b61df
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x38
ret
mov edx, 0x80
mov dword [rsp + 0x20], WSAStartup
lea r9, [0x1403d89c8]
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 9]
call fcn.1401b8970
mov eax, 0xffffffff
add rsp, 0x38
ret

Function at 0x1402364a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x20
call fcn.14026ff20
sub rsp, rax
mov r9d, dword [rdx + 8]
mov rsi, rdx
cmp r9d, dword [r8 + 8]
mov rbx, r8
mov rdi, rcx
cmovge rbx, rdx
cmovge rsi, r8
mov edx, dword [rbx + 8]
cmp edx, dword [rcx + 0xc]
jg 0x1402364de
mov rax, rcx
jmp 0x1402364e3
call fcn.1401c0070
test rax, rax
jne 0x1402364f8
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor r8d, r8d
cmp dword [rsi + 8], r8d
jle 0x140236535
mov r9d, r8d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi]
lea r9, [r9 + 8]
mov rcx, qword [rbx]
inc r8d
mov rdx, qword [rcx + r9 - 8]
xor rdx, qword [r9 + rax - 8]
mov rax, qword [rdi]
mov qword [r9 + rax - 8], rdx
cmp r8d, dword [rsi + 8]
jl 0x140236510
mov eax, dword [rbx + 8]
cmp r8d, eax
jge 0x14023656f
movsxd rax, r8d
lea rdx, [rax*8]
nop dword [rax + rax]
mov rax, qword [rbx]
lea rdx, [rdx + 8]
mov rcx, qword [rdi]
inc r8d
mov rax, qword [rdx + rax - 8]
mov qword [rdx + rcx - 8], rax
mov eax, dword [rbx + 8]
cmp r8d, eax
jl 0x140236550
mov dword [rdi + 8], eax
test eax, eax
jle 0x140236599
mov rcx, qword [rdi]
sub rcx, 8
movsxd r8, eax
lea r8, [rcx + r8*8]
mov rcx, qword [r8]
lea r8, [r8 - 8]
test rcx, rcx
jne 0x140236596
dec eax
test eax, eax
jg 0x140236584
mov dword [rdi + 8], eax
mov rbx, qword [rsp + 0x30]
mov eax, 1
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14027d030
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x40
mov rdi, r8
mov rax, rdx
mov rbx, rcx
test r8, r8
je 0x14027d064
xorps xmm0, xmm0
mov qword [rsp + 0x30], 0
movups xmmword [r8], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd qword [r8 + 0x10], xmm0
test rax, rax
je 0x14027d08e
cmp qword [rcx + 0x18], 8
mov rdx, rbx
jb 0x14027d076
mov rdx, qword [rcx]
cmp qword [rax + 0x18], 8
jb 0x14027d080
mov rax, qword [rax]
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryExW]
jmp 0x14027d0a0
cmp qword [rcx + 0x18], 8
jb 0x14027d098
mov rcx, qword [rcx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14027d0b1
mov al, 1
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x50], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
xorps xmm0, xmm0
mov qword [rsp + 0x30], 0
lea r8, [rsp + 0x20]
mov rdx, rbx
lea rcx, [rsp + 0x58]
mov esi, eax
movups xmmword [rsp + 0x20], xmm0
call fcn.14027ffe0
cmp dword [rax], 3
je 0x14027d0fa
lea r9, str.boost::filesystem::create_directory
mov r8, rdi
mov rdx, rbx
mov ecx, esi
call fcn.140282a90
mov rsi, qword [rsp + 0x50]
xor al, al
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

Function at 0x14027d4e0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x40
mov rbp, rdx
mov r14, rcx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, eax
mov eax, 1
test edi, edi
cmove edi, eax
mov r8d, edi
mov eax, 2
mul r8
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.14026fe6c
mov rsi, rax
mov qword [rsp + 0x60], rax
mov rdx, rax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor edi, edi
test eax, eax
jne 0x14027d567
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14027d567
lea r8, str.boost::filesystem::current_path
mov rdx, rbp
mov ecx, eax
call fcn.140282b90
jmp 0x14027d583
test rbp, rbp
je 0x14027d583
xorps xmm0, xmm0
mov qword [rsp + 0x30], rdi
movups xmmword [rbp], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd qword [rbp + 0x10], xmm0
mov qword [r14], rdi
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], 7
mov word [r14], di
inc rbx
cmp word [rsi + rbx*2], di
jne 0x14027d596
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.14003fb20
nop
mov rcx, rsi
call fcn.14026fe74
mov rax, r14
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x14027ecf0
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x14027ed1f
xorps xmm0, xmm0
mov qword [rsp + 0x30], 0
movups xmmword [rdx], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd qword [rdx + 0x10], xmm0
mov edx, dword [0x1403f5bd0]
nop
test edx, edx
je 0x14027ed3c
mov r8, rdi
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.14027f450
cmp qword [rcx + 0x18], 8
jb 0x14027ed46
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14027edac
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x35
ja 0x14027ed6c
movabs rdx, 0x2000000020800c
bt rdx, rax
jb 0x14027ed9f
lea ecx, [rax - 0x43]
cmp ecx, 0x38
ja 0x14027ed84
movabs rdx, 0x100000000100001
bt rdx, rcx
jb 0x14027ed9f
cmp eax, 0xa1
je 0x14027ed9f
lea r9, str.boost::filesystem::remove
mov r8, rdi
mov rdx, rbx
mov ecx, eax
call fcn.140282a90
xor al, al
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
mov r8, rdi
mov edx, eax
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.14027f2f0
Function at 0x14027f2f0
Capabilities:
Delete directory
Delete file
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov edi, edx
movzx ebp, dl
shr edi, 4
mov r14, r8
and dil, 1
mov esi, edx
mov rbx, rcx
and bpl, 1
je 0x14027f390
and edx, 0xfffffffe
cmp qword [rcx + 0x18], 8
jb 0x14027f331
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x14027f390
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd r10, eax
cmp r10d, 0x35
ja 0x14027f35e
movabs rax, 0x2000000020800c
bt rax, r10
jb 0x14027f42a
lea eax, [r10 - 0x43]
cmp eax, 0x38
ja 0x14027f37b
movabs rcx, 0x100000000100001
bt rcx, rax
jb 0x14027f42a
cmp r10d, 0xa1
je 0x14027f42a
mov ecx, r10d
jmp 0x14027f418
mov rcx, rbx
test dil, dil
jne 0x14027f3aa
cmp qword [rbx + 0x18], 8
jb 0x14027f3a2
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14027f3ba
cmp qword [rbx + 0x18], 8
jb 0x14027f3b4
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x14027f42e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rdi, eax
cmp edi, 0x35
ja 0x14027f3dc
movabs rax, 0x2000000020800c
bt rax, rdi
jb 0x14027f42a
lea eax, [rdi - 0x43]
cmp eax, 0x38
ja 0x14027f3f4
movabs rcx, 0x100000000100001
bt rcx, rax
jb 0x14027f42a
cmp edi, 0xa1
je 0x14027f42a
test bpl, bpl
je 0x14027f416
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x14027f40e
mov rcx, qword [rbx]
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, edi
lea r9, str.boost::filesystem::remove
mov r8, r14
mov rdx, rbx
call fcn.140282a90
xor al, al
jmp 0x14027f430
mov al, 1
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x14027f710
Capabilities:
Move file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x50
cmp qword [rdx + 0x18], 8
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
jb 0x14027f732
mov rdx, qword [rdx]
cmp qword [rcx + 0x18], 8
jb 0x14027f73c
mov rcx, qword [rcx]
mov r8d, 3
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x14027f782
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14027f782
lea rcx, str.boost::filesystem::rename
mov r9, rbx
mov qword [rsp + 0x20], rcx
mov r8, rsi
mov ecx, eax
mov rdx, rdi
call fcn.140282990
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
test rbx, rbx
je 0x14027f7a1
xorps xmm0, xmm0
mov qword [rsp + 0x40], 0
movups xmmword [rbx], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm0
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret