Function at 0x140012ea0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x14002d040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rdx
mov qword [rsp + 0x58], rdx
mov r15, rcx
lea rdx, [rsp + 0x40]
call fcn.140011e60
lea rcx, [rbp - 0x50]
call fcn.140006f30
mov rbx, rax
movsd xmm0, qword [0x140024d08]
movsd qword [rbp - 0x80], xmm0
mov ecx, dword [0x140024d10]
mov dword [rbp - 0x78], ecx
mov r12d, dword [0x14002d090]
movdqa xmm9, xmmword [0x140025bf0]
movdqa xmm6, xmmword [0x140025bd0]
movdqa xmm7, xmmword [0x140025bc0]
movdqa xmm11, xmmword [0x140025c00]
movdqa xmm10, xmmword [0x140025be0]
movdqa xmm8, xmmword [0x140025c10]
cmp byte [0x140024d13], 0
je 0x140013080
xor r8d, r8d
cmp r12d, 2
jl 0x14001303f
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
movd xmm0, dword [0x140024d08]
xorps xmm1, xmm0
movd dword [rbp - 0x80], xmm1
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm8
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
movd xmm0, dword [rbp - 0x7c]
xorps xmm1, xmm0
movd dword [rbp - 0x7c], xmm1
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x140013050
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400130a0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x70]
call fcn.1400013b0
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140017080
mov rcx, rax
call fcn.140017140
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 7
jbe 0x1400130db
mov rcx, qword [rax]
call fcn.140020ed4
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
jne 0x140013766
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140013126
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013121
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001316e
call fcn.140021eb4
movdqa xmm0, xmmword [0x140025ba0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14001317a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013175
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013175
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140021eb4
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
cmp r14, r13
je 0x140013677
nop dword [rax]
mov rcx, qword [r14 + 0x10]
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1400131a1
mov rax, qword [r14]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
call fcn.1400209d0
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.140004e40
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x20]
call fcn.140016ee0
test eax, eax
jne 0x140013753
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14001322a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013225
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400136f2
call fcn.140021eb4
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x14001323d
lock inc dword [rsi + 8]
mov rsi, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
test rsi, rsi
je 0x14001329b
lock inc dword [rsi + 8]
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x14001329b
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140013296
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140013296
mov rsi, qword [rsp + 0x28]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
jmp 0x14001329b
mov rsi, qword [rsp + 0x28]
cmp qword [rsp + 0x20], 0
je 0x1400135e5
mov rbx, qword [rsp + 0x30]
nop dword [rax]
lea rdi, [rbx + 0x20]
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.140005340
mov r8d, 3
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140006370
mov rax, qword [rsp + 0x60]
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x1400132ef
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x14001377c
cmp eax, 3
je 0x140013585
mov ecx, dword [rbx + 0x1c]
mov eax, ecx
shr eax, 3
test al, 1
je 0x14001330a
mov rax, qword [rbx + 8]
jmp 0x14001334f
shr ecx, 1
test cl, 1
je 0x140013317
mov r9d, dword [rbx + 0x10]
jmp 0x14001331d
mov r9d, 0xffffffff
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x14001332a
mov rcx, qword [rdi]
mov r8d, 9
lea rdx, [rbp - 0x30]
call fcn.1400210e4
mov edx, eax
mov rax, 0xffffffffffffffff
test edx, edx
cmove rax, qword [rbp - 0x28]
jne 0x14001378c
cmp rax, 0x1400
ja 0x14001358a
lea rcx, [rbp - 0x30]
call fcn.140006f30
mov rbx, rax
movsd xmm0, qword [0x140024d08]
movsd qword [rbp - 0x80], xmm0
mov ecx, dword [0x140024d10]
mov dword [rbp - 0x78], ecx
cmp byte [0x140024d13], 0
je 0x14001349c
xor ecx, ecx
cmp r12d, 2
jl 0x140013465
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x140024d08]
xorps xmm1, xmm0
movd dword [rbp - 0x80], xmm1
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm8
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm6
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x7c]
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
mov ecx, 8
movsxd rax, ecx
lea r8, [rbp - 0x80]
add r8, rax
nop
mov eax, 0x5397829d
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x31
movzx eax, cl
sub al, dl
add al, 0x36
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xc
jl 0x140013470
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400134c0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x70]
call fcn.1400013b0
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140017080
mov rcx, rax
call fcn.140017140
mov rdx, rax
mov rcx, rdi
call fcn.1400077b0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140013531
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001352c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400136f9
call fcn.140021eb4
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x140013585
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013580
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400136f9
call fcn.140021eb4
mov byte [r15 + 8], 1
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400135c5
inc rdx
mov rcx, qword [rbp - 0x50]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400135c0
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013700
call fcn.140021eb4
lea rcx, [rsp + 0x30]
call fcn.1400064d0
test eax, eax
jne 0x14001379c
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x1400132b0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001362a
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140013625
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140013625
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x140013665
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140013665
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140013665
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
add r14, 0x20
cmp r14, r13
jne 0x140013190
mov rdi, qword [rsp + 0x58]
lea rdx, str.___Telegram:
mov rcx, rdi
call fcn.140016be0
lea rax, str.FAIL_n
lea rdx, [0x1400259e8]
cmp byte [r15 + 8], 0
cmove rdx, rax
mov rcx, rdi
call fcn.140016be0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14001370c
mov rdx, qword [rsp + 0x48]
call fcn.140017bd0
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013707
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013707
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140021eb4
mov al, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140021970
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.140006230
int3
shr rax, 0x20
mov r8, rbx
mov edx, eax
lea rcx, str.create_directory
call fcn.140006230
int3
mov r8, rdi
lea rcx, str.directory_entry::status
call fcn.140006230
int3
mov r8, rdi
lea rcx, str.directory_entry::file_size
call fcn.140006230
int3
mov edx, eax
call fcn.140006140
int3