Function at 0x140090810
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r13
push r15
push r12
push r14
push rdi
push rbx
sub rsp, 0x138
mov al, 0x2e
mov r8w, 0xfaaa
mov r9b, 0x9a
mov r10b, 0x8f
mov r11w, 0xc4e6
mov esi, 0x471609d4
mov edi, esi
lea rbx, [rsp + 0xa0]
mov bpl, 0x86
mov dword [rsp + 0x130], 0x355cabfd
mov r14b, byte [rsp + 0x137]
mov qword [rsp + 0x118], 0xf59e759
mov byte [rsp + 0x117], 0x2e
mov esi, dword [rsp + 0x124]
mov word [rsp + 0x114], 0x2a5c
sub bpl, byte [rsp + 0x117]
mov byte [rsp + 0x9f], bpl
mov word [rsp + 0x122], 0x6560
mov bpl, byte [rsp + 0x117]
mov r15, qword [rsp + 0x128]
mov r12, r15
and r12, 0x42fed38f
mov qword [rsp + 0x128], r12
add bpl, 0x92
mov byte [rsp + 0x9e], bpl
mov r13w, word [rsp + 0x122]
mov bp, r13w
and bp, 0x9e9e
mov word [rsp + 0x122], bp
mov bpl, byte [rsp + 0x117]
xor bpl, 0x78
mov byte [rsp + 0xa0], bpl
mov ebp, esi
sub ebp, 0x7de906d9
mov r12b, byte [rsp + 0x117]
xor r12b, 0x47
mov dword [rsp + 0x124], ebp
mov byte [rsp + 0xa1], r12b
mov r12b, byte [rsp + 0x117]
xor r12b, 0x5c
mov byte [rsp + 0xa2], r12b
mov qword [rsp + 0x128], 0x4308206
mov r12b, byte [rsp + 0x117]
xor r12b, 0x5a
mov byte [rsp + 0xa3], r12b
mov bp, r13w
xor bp, 0x536c
mov word [rsp + 0x122], bp
imul bp, r13w, 0xe3cc
mov word [rsp + 0x122], bp
mov r12b, byte [rsp + 0x117]
mov rbp, r15
xor rbp, 0xffffffffffffffff
mov qword [rsp + 0x128], rbp
xor r12b, 0x5b
mov ebp, esi
xor ebp, 0x61961bd9
mov dword [rsp + 0x124], ebp
mov byte [rsp + 0xa4], r12b
mov ebp, esi
add ebp, 0x3b35c7db
mov dword [rsp + 0x124], ebp
sub rdi, r15
mov qword [rsp + 0x128], rdi
mov r12b, byte [rsp + 0x117]
sub r11w, r13w
mov word [rsp + 0x122], r11w
sub r10b, r12b
mov byte [rsp + 0xa5], r10b
mov r10b, byte [rsp + 0x117]
add r10b, 0x3e
mov byte [rsp + 0xa6], r10b
mov ebp, esi
xor ebp, ebp
mov dword [rsp + 0x124], ebp
mov r10b, byte [rsp + 0x117]
xor r10b, 0x6f
mov byte [rsp + 0xa7], r10b
mov qword [rsp + 0x128], r15
sub r9b, byte [rsp + 0x117]
mov byte [rsp + 0xa8], r9b
mov r9b, byte [rsp + 0x117]
xor r9b, 0x42
mov byte [rsp + 0xa9], r9b
sub r8w, r13w
mov word [rsp + 0x122], r8w
mov r9b, byte [rsp + 0x117]
xor r9b, 0x41
mov byte [rsp + 0xaa], r9b
mov byte [rsp + 0x137], 0x9d
mov r9b, byte [rsp + 0x117]
add r9b, 0x35
mov byte [rsp + 0xab], r9b
mov r9b, r14b
and r9b, 0xa3
mov byte [rsp + 0x137], r9b
sub al, byte [rsp + 0x117]
mov byte [rsp + 0xac], al
mov byte [rsp + 0x137], r14b
mov al, r14b
sub al, al
mov byte [rsp + 0x137], al
mov al, byte [rsp + 0x117]
add al, 7
mov dword [rsp + 0x124], esi
mov byte [rsp + 0xad], al
mov r8w, r13w
add r8w, 0x5763
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rcx
mov word [rsp + 0x7e], r13w
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x6c], esi
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x5f], r14b
mov word [rsp + 0x5c], r8w
call fcn.1400956c0
mov r8w, word [rsp + 0x5c]
mov word [rsp + 0x122], r8w
mov rcx, rax
mov rdx, qword [rsp + 0x70]
call fcn.14008f8e0
mov qword [rsp + 0xe0], 0
cmp rax, 0
mov qword [rsp + 0x50], rax
je 0x140091159
jmp 0x140091046
mov al, 0x9d
mov cl, byte [rsp + 0x9f]
sub al, byte [rsp + 0x117]
cmp al, cl
ja 0x140091199
jmp 0x140090ee4
mov dword [rsp + 0x124], 0x240c4b91
mov ax, word [rsp + 0x7e]
imul ax, ax
mov rcx, qword [rsp + 0x118]
xor rcx, 0xf59e741
add rcx, qword [rsp + 0xf8]
mov word [rsp + 0x122], ax
mov rdx, qword [rsp + 0x118]
add rcx, qword [rsp + 0x108]
xor rdx, 0xf59e759
mov word [rsp + 0x122], 0xfcdf
mov r8b, byte [rsp + 0x5f]
or r8b, 0xc7
mov byte [rsp + 0x137], r8b
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xd0], rcx
jmp 0x140090ca5
movabs rax, 0xfffffffecf59e759
mov rcx, qword [rsp + 0xf0]
mov dl, byte [rsp + 0x5f]
and dl, dl
mov byte [rsp + 0x137], dl
xor rax, qword [rsp + 0x118]
mov r8d, dword [rcx + 0x54]
mov dword [rsp + 0x124], 0xb577b9f0
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x48], rax
call fcn.140096810
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x128], rax
mov rcx, qword [rsp + 0x90]
mov r9b, byte [rsp + 0x5f]
or r9b, r9b
mov byte [rsp + 0x137], r9b
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x48]
add rcx, r8
mov r8, qword [rsp + 0x80]
mov qword [r8 + 0xe8], rdx
or rax, 0x44cbc4f5
mov qword [rsp + 0x128], rax
mov qword [r8 + 0xa0], rcx
mov rax, qword [rsp + 0x90]
mov r10w, word [rsp + 0x7e]
and r10w, 0xe70c
add rax, 0x297e
mov word [rsp + 0x122], r10w
mov qword [rsp + 0xe0], rax
jmp 0x140091159
mov eax, 0x3bb41af1
mov ecx, eax
mov word [rsp + 0x122], 0xb577
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x60]
or r8, 0x2fb5e48f
mov qword [rsp + 0x128], r8
mov r8, qword [rsp + 0xd8]
mov r9b, byte [rsp + 0x5f]
mov byte [rsp + 0x137], r9b
mov eax, dword [rdx + 0xc]
mov r10d, eax
mov qword [rsp + 0x128], 0xffffffffbdf6842d
add r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x118]
add r11, 0xfffffffff0a618a8
mov word [rsp + 0x122], 0x6258
mov si, word [rsp + 0x7e]
imul di, si, 0x5545
mov eax, dword [rdx + 0x14]
mov ebx, dword [rdx + 0x10]
mov r14d, ebx
mov eax, eax
mov r15d, eax
mov r12, qword [rsp + 0x88]
add r12, r15
mov word [rsp + 0x122], di
mov qword [rsp + 0x40], rcx
mov rcx, r10
mov qword [rsp + 0x38], rdx
mov rdx, r12
mov qword [rsp + 0x30], r8
mov r8, r14
mov qword [rsp + 0x28], r11
call fcn.140096810
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
add rcx, rdx
mov rdx, qword [rsp + 0xc8]
mov r9b, byte [rsp + 0x5f]
and r9b, 0x25
mov r8, qword [rsp + 0x38]
add r8, 0x28
mov byte [rsp + 0x137], r9b
movzx eax, word [rdx]
mov edx, eax
mov eax, dword [rsp + 0x6c]
xor eax, 0x44fa1989
mov dword [rsp + 0x124], eax
mov qword [rsp + 0xd8], rcx
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x60]
sub r10, r11
mov qword [rsp + 0x128], r10
mov qword [rsp + 0xd0], r8
cmp rcx, rdx
jb 0x140090ca5
jmp 0x140090bcc
xor eax, eax
mov ecx, eax
mov eax, 0x355cf14d
mov dx, 0x2a5c
mov r8, qword [rsp + 0x60]
or r8, 0x6bf94e29
mov qword [rsp + 0x128], r8
sub dx, word [rsp + 0x114]
mov r8, qword [rsp + 0x88]
mov r9d, dword [r8 + 0x3c]
sub eax, dword [rsp + 0x130]
mov r10d, dword [rsp + 0x6c]
add r10d, r10d
mov dword [rsp + 0x124], r10d
movsxd r11, r9d
add r8, r11
mov rsi, qword [rsp + 0x88]
mov r9d, dword [rsi + r11]
mov r11, qword [rsp + 0x60]
add r11, r11
mov qword [rsp + 0x128], r11
mov r10d, dword [rsp + 0x6c]
sub r10d, r10d
mov dword [rsp + 0x124], r10d
mov bl, byte [rsp + 0x5f]
xor bl, 0x89
cmp r9d, eax
cmove rcx, r8
mov byte [rsp + 0x137], bl
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x128], 0x5effcaef
mov rcx, qword [rsp + 0xf0]
mov di, word [rsp + 0x7e]
imul bp, di, 0xa0da
mov word [rsp + 0x122], bp
mov r8, qword [rsp + 0x60]
imul r11, r8, 0x66c89972
add rcx, 6
mov qword [rsp + 0x128], r11
mov qword [rsp + 0xc8], rcx
add r8, 0x3b92d00e
mov rcx, qword [rsp + 0xc8]
mov bp, word [rcx]
mov qword [rsp + 0x128], r8
cmp bp, dx
je 0x140090bcc
jmp 0x140090f07
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xe0], 0
cmp rax, 0
je 0x140091159
jmp 0x140090b35
mov eax, dword [rsp + 0x6c]
xor eax, eax
mov dword [rsp + 0x124], eax
mov rcx, qword [rsp + 0x118]
add rcx, 0x38330fe1
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x128], rdx
mov r8b, byte [rsp + 0x5f]
xor r8b, 0xff
mov r9, qword [rsp + 0x118]
mov byte [rsp + 0x137], r8b
xor r9, 0x211d8ab
mov qword [rsp + 0x100], rcx
mov byte [rsp + 0x137], 2
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x6c]
xor eax, eax
mov dword [rsp + 0x124], eax
mov r8b, byte [rsp + 0x5f]
or r8b, 0x74
mov byte [rsp + 0x137], r8b
mov qword [rsp + 0xe0], 0
and rdx, rdx
mov qword [rsp + 0x128], rdx
cmp rcx, r9
je 0x140091159
mov ax, word [rsp + 0x114]
xor ax, 0x40a4
mov rcx, qword [rsp + 0xf0]
mov word [rsp + 0x122], 0x430
mov dx, word [rsp + 0x114]
add dx, 0x9386
mov word [rsp + 0xee], ax
mov ax, word [rsp + 0xee]
movzx r8d, word [rcx + 0x14]
mov ecx, r8d
mov r9b, byte [rsp + 0x5f]
sub r9b, 0x3d
mov byte [rsp + 0x137], r9b
mov qword [rsp + 0x108], rcx
mov r9b, byte [rsp + 0x5f]
sub r9b, r9b
mov byte [rsp + 0x137], r9b
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x128], 0xd4497af
mov qword [rsp + 0xf8], rcx
mov r10w, word [rsp + 0x7e]
mov word [rsp + 0x122], r10w
cmp ax, dx
jne 0x140090b52
xor eax, eax
mov ecx, eax
mov eax, 0x355cac3d
mov rdx, qword [rsp + 0x60]
add rdx, 0x71c5a371
mov qword [rsp + 0x128], rdx
mov r8b, byte [rsp + 0x117]
add r8b, 0x71
mov byte [rsp + 0xc7], r8b
mov r9d, dword [rsp + 0x6c]
xor r9d, r9d
mov dword [rsp + 0x124], r9d
mov r8b, byte [rsp + 0x5f]
xor r8b, 0x17
mov r9d, dword [rsp + 0x130]
mov rdx, qword [rsp + 0x118]
mov r10b, byte [rsp + 0xc7]
add rdx, 0xfffffffff0a688a7
mov byte [rsp + 0x137], r8b
add r9d, 0xcaa36403
mov r11w, word [rsp + 0x7e]
xor r11w, 0xffff
mov word [rsp + 0x122], r11w
mov esi, dword [rsp + 0x130]
mov r8b, byte [rsp + 0x117]
mov rdi, qword [rsp + 0x60]
xor rdi, 0xffffffffffffffff
mov qword [rsp + 0x128], rdi
mov r11w, word [rsp + 0x7e]
and r11w, 0xf216
sub eax, esi
mov word [rsp + 0x122], r11w
add r8b, 0xab
mov dword [rsp + 0x124], 0x18121288
mov byte [rsp + 0x27], r8b
mov r8d, r9d
mov r9d, eax
mov rdi, qword [rsp + 0x50]
mov byte [rsp + 0x26], r10b
call rdi
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x124], 0x28e3ba70
mov r10b, byte [rsp + 0x27]
mov bl, byte [rsp + 0x26]
cmp r10b, bl
jb 0x140090ee4
jmp 0x140090ee4
mov eax, dword [rsp + 0x6c]
and eax, 0x5b5edfca
mov dword [rsp + 0x124], eax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x60]
and rcx, 0x53aae082
mov qword [rsp + 0x128], rcx
add rsp, 0x138
pop rbx
pop rdi
pop r14
pop r12
pop r15
pop r13
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x60]
sub rax, 0x35edd942
mov qword [rsp + 0x128], rax
mov cl, byte [rsp + 0x117]
mov edx, dword [rsp + 0x6c]
imul edx, edx
mov dword [rsp + 0x124], edx
xor cl, 0xd8
mov r8b, byte [rsp + 0x5f]
xor r8b, r8b
mov byte [rsp + 0x137], r8b
mov r8b, byte [rsp + 0x9e]
mov edx, dword [rsp + 0x6c]
add edx, edx
mov dword [rsp + 0x124], edx
cmp r8b, cl
jb 0x140090dde
jmp 0x140090bcc