Function at 0x140039260
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
lea rax, [rsp + 0x90]
mov r8d, 0x414a02e3
mov dword [rsp + 0x114], 0x3cc719d6
mov r9, qword [rsp + 0x100]
mov word [rsp + 0xfe], 0x8d7e
mov r10d, dword [rsp + 0x110]
mov dword [rsp + 0x110], 0xdad4f069
mov byte [rsp + 0xfd], 0xb2
mov dword [rsp + 0x110], r10d
mov qword [rsp + 0xf0], 0x3c7005e5
sub r8d, dword [rsp + 0x114]
mov dword [rsp + 0xdc], r8d
mov r11, r9
xor r11, r11
mov qword [rsp + 0x100], r11
mov r8d, dword [rsp + 0xdc]
mov esi, r10d
and esi, esi
mov dword [rsp + 0x110], esi
mov esi, r10d
or esi, 0x52ce3d14
mov dword [rsp + 0x110], esi
mov esi, dword [rsp + 0x114]
add esi, 0xe9f9f1b0
mov bl, byte [rsp + 0x10f]
mov dil, 0x76
mov qword [rsp + 0x80], rax
mov al, bl
mul dil
mov byte [rsp + 0x10f], al
mov qword [rsp + 0xe8], 0
cmp esi, r8d
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x6f], bl
mov dword [rsp + 0x68], r10d
mov qword [rsp + 0x60], r9
jb 0x140039643
mov al, 0x1e
mov cx, 0x456e
mov dl, 0x27
mov r8b, 0x15
mov r9b, 0xf3
mov r10b, 0x13
mov r11b, byte [rsp + 0x6f]
xor r11b, 0xff
mov byte [rsp + 0x10f], r11b
mov r11b, byte [rsp + 0xfd]
add r11b, 0xa4
mov rsi, qword [rsp + 0x80]
mov byte [rsi], r11b
mov rdi, qword [rsp + 0x60]
and rdi, 0x67523e9e
mov qword [rsp + 0x100], rdi
mov r11b, byte [rsp + 0xfd]
mov bl, byte [rsp + 0xfd]
sub r10b, byte [rsp + 0xfd]
mov qword [rsp + 0x100], 0xffffffffdd02c7c2
mov bpl, 0x5b
mov r14b, byte [rsp + 0x6f]
mov byte [rsp + 0x5f], al
mov al, r14b
mul bpl
mov bpl, byte [rsp + 0xfd]
xor bl, 0xdb
mov byte [rsp + 0x10f], al
mov r15w, word [rsp + 0x10c]
xor r15w, 0xffff
mov al, byte [rsp + 0xfd]
mov word [rsp + 0x10c], r15w
mov r12b, byte [rsp + 0xfd]
add r12b, 0xac
mov dword [rsp + 0x110], 0x610c3037
sub r9b, al
mov word [rsp + 0x10c], 0x99ca
xor r11b, 0xc6
xor r14b, 0xff
xor bpl, 0xc0
mov byte [rsp + 0x10f], r14b
mov al, 0xfb
mov r14b, byte [rsp + 0x6f]
mov byte [rsp + 0x5e], al
mov al, r14b
mov r13b, byte [rsp + 0x5e]
mul r13b
mov r13b, byte [rsp + 0xfd]
mov byte [rsp + 0x10f], al
sub r8b, r13b
mov byte [rsp + 0x91], bl
sub r14b, 0x88
mov al, byte [rsp + 0xfd]
mov byte [rsp + 0x10f], r14b
mov r15w, word [rsp + 0x10c]
xor al, 0xde
mov word [rsp + 0x10c], r15w
mov byte [rsp + 0x92], bpl
mov r15w, word [rsp + 0x10c]
xor r15w, 0xccb7
sub dl, byte [rsp + 0xfd]
mov word [rsp + 0x10c], r15w
mov r15w, word [rsp + 0x10c]
xor r15w, 0xffff
mov bl, byte [rsp + 0xfd]
add bl, 0xbd
mov word [rsp + 0x10c], r15w
sub cx, word [rsp + 0x10c]
mov word [rsp + 0x10c], cx
mov byte [rsp + 0x93], r11b
mov byte [rsp + 0x94], dl
mov dl, byte [rsp + 0x5f]
sub dl, byte [rsp + 0xfd]
mov r11b, byte [rsp + 0x5f]
sub r11b, byte [rsp + 0xfd]
mov esi, dword [rsp + 0x68]
mov dword [rsp + 0x110], esi
mov byte [rsp + 0x95], r10b
mov byte [rsp + 0x96], dl
mov qword [rsp + 0x100], 0xffffffffc7925878
mov dl, byte [rsp + 0xfd]
add dl, 0x4e
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x100], rdi
mov cx, word [rsp + 0x10c]
and cx, word [rsp + 0x10c]
mov word [rsp + 0x10c], cx
mov byte [rsp + 0x97], r9b
mov byte [rsp + 0x98], al
mov byte [rsp + 0x99], r11b
mov cx, word [rsp + 0x10c]
and cx, word [rsp + 0x10c]
mov word [rsp + 0x10c], cx
mov byte [rsp + 0x9a], bl
mov byte [rsp + 0x9b], r8b
mov byte [rsp + 0x9c], dl
mov al, byte [rsp + 0x6f]
sub al, al
mov byte [rsp + 0x10f], al
mov byte [rsp + 0x9d], r12b
call fcn.14003e050
mov esi, dword [rsp + 0x68]
xor esi, 0x69163cc
mov dword [rsp + 0x110], esi
mov rcx, rax
mov rdx, qword [rsp + 0x80]
call fcn.140038500
mov r8b, byte [rsp + 0x6f]
xor r8b, 0xff
mov byte [rsp + 0x10f], r8b
mov qword [rsp + 0xb8], rax
mov r8b, byte [rsp + 0x6f]
xor r8b, 0xff
mov rax, qword [rsp + 0xb8]
mov byte [rsp + 0x10f], r8b
mov qword [rsp + 0xe8], 0
cmp rax, 0
jne 0x14003976f
xor eax, eax
mov ecx, eax
mov eax, dword [rsp + 0x114]
mov edx, dword [rsp + 0x114]
xor edx, 0x3cc71996
mov r8d, dword [rsp + 0x68]
xor r8d, 0x6d230841
mov r9, qword [rsp + 0xb8]
add eax, 0xc338f62a
mov dword [rsp + 0x110], r8d
mov r10, qword [rsp + 0xf0]
add r10, 0xffffffffc3906a1b
mov r11b, byte [rsp + 0x6f]
or r11b, r11b
mov byte [rsp + 0x10f], r11b
mov r11b, byte [rsp + 0x6f]
xor r11b, r11b
mov byte [rsp + 0x10f], r11b
mov dword [rsp + 0x3c], edx
mov rdx, r10
mov r8d, eax
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x30], r9
mov r9d, eax
mov r10, qword [rsp + 0x30]
call r10
mov qword [rsp + 0xd0], rax
mov r11b, byte [rsp + 0x6f]
add r11b, r11b
mov rax, qword [rsp + 0xd0]
mov byte [rsp + 0x10f], r11b
mov r8d, dword [rsp + 0x68]
and r8d, r8d
mov dword [rsp + 0x110], r8d
mov qword [rsp + 0xe8], 0
cmp rax, 0
je 0x140039643
jmp 0x1400399ed
xor eax, eax
mov ecx, eax
mov eax, 0x3cc75f26
cmp al, 0xc6
test byte [rdi + rcx], ah
add dword [rax], eax
add byte [rsi + riz*2 + 0xc2484c7], al
add dword [rax], eax
add byte [rax + 0x24548b90], al
push 0xffffffff8b4cd201
and al, 0x78