Function at 0x1403fc7c5
Capabilities:
Encode data using xor

Disassembly:
push r15
movsxd r15, ecx
push r14
xchg r9w, ax
xadd r15b, al
push r13
cmp r10b, bl
sar ax, cl
push r12
btc r12, r11
test r9w, r9w
push rsi
sbb r9b, 0x43
ror esi, 0x23
push rdi
shl ax, 0x8e
movsx rax, r13w
bt r9w, 0xa8
push rbp
movzx rsi, r13w
push rbx
xor ah, bl
cwde
sub rsp, 0x28
and r12, r14
bsr r9d, r12d
mov rbx, rdx
mov r12, rcx
movabs r9, 0x276276276276276
mov rdi, qword [rcx]
cmp sp, 0x2fe1
cmc
mov r15, qword [rcx + 8]
sub r15, rdi
rol sil, 0x4d
bts rsi, rsp
shr sil, 0x5b
sar r15, 3
jmp 0x1403fc849
movabs rcx, 0x4ec4ec4ec4ec4ec5
shld ax, r13w, 0x6a
adc al, 0xd4
sbb al, 0xc8
imul r15, rcx
mov rax, rdx
sub rax, rdi
shl sil, cl
movsxd rsi, edx
imul rcx
cdqe
movsx rsi, r14w
mov rsi, rdx
cwde
cmovl ax, di
dec dx
inc r15
mov rdx, qword [r12 + 0x10]
cmp r9b, 0xbb
sub al, 0x8b
sub rdx, rdi
not al
add al, 0xf3
sar rdx, 3
movzx eax, si
imul rdx, rcx
ror ah, 0xb1
mov rax, rdx
shr rax, 1
movzx cx, dl
ror ch, 0xf6
mov rcx, r9
test ah, dl
cmc
sub rcx, rax
add rax, rdx
cmp rax, r15
jmp 0x1403fc8c5
cmovbe rax, r15
jmp 0x1403fc8d3
cmp rdx, rcx
jmp 0x1403fc8db
cmova rax, r9
test bx, 0x7100
cmp eax, 0x1c21914
cmp rax, r9
jmp 0x1403fc8f1
ja 0x1403fcfbf
mov r13, r8
cmp r12, 0x38ec4ae6
imul r14, rax, 0x68
cmp rax, 0x28
jmp 0x1403fc90e
jb 0x1403fc947
cmp rax, r9
jmp 0x1403fc91c
jae 0x1403fcfbf
lea rcx, [r14 + 0x27]
jmp 0x1403fc92b
call fcn.140446f97
lea rdi, [rax + 0x27]
stc
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1403fc942
jmp 0x1403fc961
mov rcx, r14
jmp 0x1403fc94f
call fcn.140446f97
mov rdi, rax
sar cx, cl
add ax, r10w
and ch, 0x40
mov rax, rsi
and cl, 0xf3
mov cx, 0x7b14
cmp r11b, 0xa4
shr rax, 0x3f
sar cl, 0x2b
sar rsi, 5
sal cl, cl
lea rsi, [rsi + rax]
imul rsi, rsi, 0x68
movsx rax, bp
lahf
cdqe
lea rcx, [rdi + rsi]
mov rax, qword [r13]
movsxd r13, r14d
mov r13, rcx
xorps xmm0, xmm0
movups xmmword [rdi + rsi + 8], xmm0
mov qword [rdi + rsi + 0x18], 0
mov qword [rdi + rsi + 0x20], 0xf
jmp 0x1403fc9b8
movups xmmword [rdi + rsi + 0x28], xmm0
jmp 0x1403fc9c2
mov qword [rdi + rsi + 0x38], 0
jmp 0x1403fc9d0
mov qword [rdi + rsi + 0x40], 0xf
jmp 0x1403fc9de
movups xmmword [rdi + rsi + 0x48], xmm0
jmp 0x1403fc9e8
mov qword [rdi + rsi + 0x58], 0
jmp 0x1403fc9f6
mov qword [rdi + rsi], rax
mov dword [rdi + rsi + 0x60], 0
mov byte [rdi + rsi + 0x64], 0
jmp 0x1403fca0c
call fcn.1403fbf0c
mov rax, qword [r12]
mov rbp, qword [r12 + 8]
stc
cmp rbp, rbx
jmp 0x1403fca23
je 0x1403fcd09
cmp rax, rbx
jmp 0x1403fca31
je 0x1403fcb87
xor ecx, ecx
xorps xmm0, xmm0
movaps xmm1, xmmword [0x1400bd400]
bsr dx, ax
rol dl, cl
nop word cs:[rax + rax]
mov rdx, qword [rax + rcx]
cmp sil, r13b
mov qword [rdi + rcx], rdx
movups xmmword [rdi + rcx + 8], xmm0
bts dx, r15w
shl dx, 0x72
rcl dl, 0xc6
movups xmmword [rdi + rcx + 0x18], xmm0
xor dx, 0x4575
neg dh
movups xmm2, xmmword [rax + rcx + 0x18]
movsx rdx, r11w
movups xmmword [rdi + rcx + 0x18], xmm2
movups xmm2, xmmword [rax + rcx + 8]
movups xmmword [rdi + rcx + 8], xmm2
test bp, r10w
movsx rdx, ax
movups xmmword [rax + rcx + 0x18], xmm1
cdq
movsx edx, r15w
mov byte [rax + rcx + 8], 0
movups xmmword [rdi + rcx + 0x38], xmm0
xor dl, r12b
bts edx, r12d
movups xmmword [rdi + rcx + 0x28], xmm0
rol rdx, cl
sal dx, cl
bt rdx, rdi
movups xmm2, xmmword [rax + rcx + 0x28]
xor edx, 0x61076497
sbb rdx, 0x2b6e6c27
sub dh, 0x36
movups xmm3, xmmword [rax + rcx + 0x38]
xchg dl, dl
ror edx, 0x6c
movups xmmword [rdi + rcx + 0x38], xmm3
movups xmmword [rdi + rcx + 0x28], xmm2
movups xmmword [rax + rcx + 0x38], xmm1
mov byte [rax + rcx + 0x28], 0
mov rdx, qword [rax + rcx + 0x58]
mov qword [rax + rcx + 0x58], 0
clc
cmp r12b, 7
movups xmm2, xmmword [rax + rcx + 0x48]
movups xmmword [rax + rcx + 0x48], xmm0
cmp r11b, bpl
cmc
movups xmmword [rdi + rcx + 0x48], xmm2
cmp r10b, 0x8e
test rbp, 0x346637ac
mov qword [rdi + rcx + 0x58], rdx
movzx edx, byte [rax + rcx + 0x64]
mov byte [rdi + rcx + 0x64], dl
bswap dx
movsx dx, r10b
sar dx, cl
mov edx, dword [rax + rcx + 0x60]
cmp bx, sp
mov dword [rdi + rcx + 0x60], edx
rol dl, cl
and rdx, r12
add dl, 0x92
lea rdx, [rax + rcx]
cmp dil, sil
add rdx, 0x68
test r13w, r11w
cmc
cmp r8b, sil
add rcx, 0x68
clc
cmc
cmp rdx, rbx
jne 0x1403fca57
mov rbp, qword [r12 + 8]
cmp r15b, 0x1c
test bh, 0x6d
cmp rbp, rbx
jmp 0x1403fcb8f
je 0x1403fce93
lea rax, [rsi + rdi]
add rax, 0xc8
cmp r12b, al
cmc
test si, 0x5825
xor edx, edx
xorps xmm0, xmm0
movaps xmm1, xmmword [0x1400bd400]
cmc
not ch
rcl cx, cl
nop word cs:[rax + rax]
movzx rsi, bp
mov sil, r8b
mov rsi, qword [rbx + rdx]
bt cx, bx
movsx ecx, r8w
mov qword [rax + rdx - 0x60], rsi
ror cx, 0x40
sub rsi, 0x46ed594f
movups xmmword [rax + rdx - 0x58], xmm0
inc rcx
movups xmmword [rax + rdx - 0x48], xmm0
adc sil, r15b
cmove rcx, r12
movups xmm2, xmmword [rbx + rdx + 0x18]
movups xmmword [rax + rdx - 0x48], xmm2
inc ch
movups xmm2, xmmword [rbx + rdx + 8]
movups xmmword [rax + rdx - 0x58], xmm2
and rcx, 0x4da60dbc
movups xmmword [rbx + rdx + 0x18], xmm1
not cx
xor cl, 0x94
mov byte [rbx + rdx + 8], 0
cmp r9b, r9b
movzx ecx, r13w
or rsi, 0x3ca33879
movups xmmword [rax + rdx - 0x28], xmm0
movups xmmword [rax + rdx - 0x38], xmm0
movups xmm2, xmmword [rbx + rdx + 0x28]
movups xmm3, xmmword [rbx + rdx + 0x38]
or sil, 0xe3
add cl, 0x68
movups xmmword [rax + rdx - 0x28], xmm3
setno cl
mov si, 0x64e1
movups xmmword [rax + rdx - 0x38], xmm2
add esi, eax
add ch, 0x1b
sbb ecx, ebp
movups xmmword [rbx + rdx + 0x38], xmm1
cmovs cx, di
xchg cl, ch
mov byte [rbx + rdx + 0x28], 0
shr sil, cl
mov rsi, qword [rbx + rdx + 0x58]
xchg cl, ch
test r9w, 0x56e2
bswap cx
mov qword [rbx + rdx + 0x58], 0
sub cl, r11b
btr cx, 0xb1
movups xmm2, xmmword [rbx + rdx + 0x48]
cmc
movups xmmword [rbx + rdx + 0x48], xmm0
dec ch
cmovs rcx, rdi
clc
movups xmmword [rax + rdx - 0x18], xmm2
test r11w, 0x68b3
mov qword [rax + rdx - 8], rsi
movzx ecx, byte [rbx + rdx + 0x64]
test r10b, al
mov byte [rax + rdx + 4], cl
mov ecx, dword [rbx + rdx + 0x60]
cmp r8b, r9b
test r14b, 0x3b
cmp bh, 0x80
mov dword [rax + rdx], ecx
jmp 0x1403fcce3
lea rcx, [rbx + rdx]
cmc
cmp sil, 0xd8
clc
add rcx, 0x68
cmc
cmp r13b, r13b
stc
add rdx, 0x68
stc
cmp rcx, rbp
jne 0x1403fcbcd
jmp 0x1403fce93
cmp rax, rbx
jmp 0x1403fcd11
je 0x1403fce98
xor ecx, ecx
jmp 0x1403fcd1e
xorps xmm0, xmm0
movaps xmm1, xmmword [0x1400bd400]
sal dx, cl
cdq
bsr dx, r12w
nop word [rax + rax]
setge dh
btc dx, 0xb5
movzx rdx, cx
mov rdx, qword [rax + rcx]
mov qword [rdi + rcx], rdx
clc
cmc
not dh
movups xmmword [rdi + rcx + 8], xmm0
shl dh, cl
shl dh, 0xd8
movups xmmword [rdi + rcx + 0x18], xmm0
cmp r14w, r12w
cmova dx, r9w
mov dl, pe_nt_image_headers64
movups xmm2, xmmword [rax + rcx + 0x18]
shr dl, 0xa1
sbb dx, r14w
movups xmmword [rdi + rcx + 0x18], xmm2
movsx rdx, ax
rcl dh, 0x93
sar dl, cl
movups xmm2, xmmword [rax + rcx + 8]
sbb dl, r10b
movzx dx, r12b
sar rdx, cl
movups xmmword [rdi + rcx + 8], xmm2
movzx rdx, dx
sal edx, 0x1b
movups xmmword [rax + rcx + 0x18], xmm1
mov byte [rax + rcx + 8], 0
test bp, r11w
sar dx, 0x5e
movups xmmword [rdi + rcx + 0x38], xmm0
rcl dl, 0x24
shr dl, cl
bt rdx, r13
movups xmmword [rdi + rcx + 0x28], xmm0
jmp 0x1403fcdcd
movups xmm2, xmmword [rax + rcx + 0x28]
bt edx, esi
cqo
movups xmm3, xmmword [rax + rcx + 0x38]
bsf dx, bp
rcr dl, 0x47
movups xmmword [rdi + rcx + 0x38], xmm3
xor dl, r8b
movups xmmword [rdi + rcx + 0x28], xmm2
test r15w, 0x37a1
test r12d, r13d
movups xmmword [rax + rcx + 0x38], xmm1
mov byte [rax + rcx + 0x28], 0
and dh, 0xfa
or dl, r14b
mov rdx, qword [rax + rcx + 0x58]
test rax, 0xe081e2b
mov qword [rax + rcx + 0x58], 0
test r15w, r8w
test dl, 0x91
cmp r14w, sp
movups xmm2, xmmword [rax + rcx + 0x48]
test r11d, ebp
test dx, 0x3840
movups xmmword [rax + rcx + 0x48], xmm0
movups xmmword [rdi + rcx + 0x48], xmm2
stc
mov qword [rdi + rcx + 0x58], rdx
rol dl, cl
movzx edx, byte [rax + rcx + 0x64]
test r11w, 0x70ff
mov byte [rdi + rcx + 0x64], dl
mov dh, ah
or rdx, 0x605c36dd
mov edx, dword [rax + rcx + 0x60]
cmp r8w, 0x56d5
mov dword [rdi + rcx + 0x60], edx
inc dx
rcr edx, 0xdc
mov dl, cl
lea rdx, [rax + rcx]
add rdx, 0x68
clc
cmc
add rcx, 0x68
stc
cmc
cmp rdx, rbx
jmp 0x1403fce8d
jne 0x1403fcd43
mov rbx, qword [r12]
cmc
test rbx, rbx
jmp 0x1403fcea0
je 0x1403fcf2f
mov rdx, qword [r12 + 8]
mov r8, 0x19012601
movsx r8, r9w
mov rcx, r12
mov rcx, rbx
setne r8b
mov r8, r12
jmp 0x1403fcec8
call fcn.1403fcfcf
mov rcx, qword [r12]
clc
not dl
mov rdx, qword [r12 + 0x10]
test si, ax
cmc
sub rdx, rcx
test r13b, r11b
cmp rdx, 0x1000
jmp 0x1403fceef
jb 0x1403fcf2a
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
jmp 0x1403fcf02
sub rcx, rax
cmp rcx, 0x20
jmp 0x1403fcf0e
jae 0x1403fcfc4
add rdx, 0x27
jmp 0x1403fcf22
mov rcx, rax
jmp 0x1403fcf2a
call fcn.140228090
mov qword [r12], rdi
shr bpl, 0x8a
xadd ebx, eax
imul rax, r15, 0x68
sbb ebx, 0xcf2ef0
clc
or bpl, 1
add rax, rdi
mov qword [r12 + 8], rax
sbb sil, 0x3e
add r14, rdi
movzx di, r12b
rcr sil, 0x30
mov qword [r12 + 0x10], r14
xchg r14d, r15d
rcr r15w, cl
mov rax, r13
neg r12d
add rsp, 0x28
movsx esi, bx
pop rbx
bswap r15w
movzx bp, r14b
movsxd rdi, r9d
pop rbp
cmovns si, bp
movzx si, bl
not r14b
pop rdi
pop rsi
not r12b
movsx r15d, r15w
pop r12
mov r14, r9
pop r13
cmovne r15d, r13d
movzx r14d, bp
pop r14
movzx r15, bp
movsxd r15, r9d
mov r15b, bpl
pop r15
jmp 0x1403fcfbe
ret
call fcn.1403b20be
call fcn.1404b5029
int3