Function at 0x140131370
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x50], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.1401310ba
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov qword [rdx], 0
mov rcx, qword [rcx]
mov qword [rbp + 0x60], rcx
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x140132014
mov rax, qword [rbp + 0x40]
movabs rcx, 0x6eb75b49fc6d54c0
movabs rdx, 0x6eb75b49fc6d54c0
xor rcx, rdx
cmp rax, rcx
jge 0x14013141b
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x140132014
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1401310d5
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x38], rcx
cmp byte [rax], 0
jne 0x140132014
mov eax, dword [0x1402534e0]
add eax, dword [0x1402534e4]
or eax, 0xf23bab65
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x33ac66f
xor ecx, 0xade31742
mov edx, 0xbb91b983
xor edx, 0x446e467c
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xaed9d12d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb17ebbe1
xor edx, edx
div ecx
cmp eax, 0x746999f6
ja 0x14013201b
mov rcx, qword [rbp + 0x48]
mov eax, dword [0x1402534e8]
mov r8d, dword [0x1402534ec]
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
mov r8d, 0x4cb07c65
xor edx, edx
div r8d
mov r8d, 0x5e1b2e1d
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x38]
mov r8d, 0x1cde7dc9
xor r8d, 0xde3b7be8
or edx, r8d
mov dword [rbp + 0x30], edx
mov rdx, qword [rax]
xor r8d, r8d
sub rsp, 0x20
call fcn.140133ae0
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbp + 0x30]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xab
xor dl, 0xab
cmp cl, dl
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0x123047db
jb 0x140131498
mov al, byte [rbp + 0x37]
test al, 1
jne 0x140131529
jmp 0x140132014
mov rcx, qword [rbp + 0x40]
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.140132060
add rsp, 0x20
test al, 1
jne 0x14013154b
jmp 0x14013155d
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140132014
mov rcx, qword [rbp + 0x70]
movabs rdx, 0xe1433f0024e51ab9
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0x4c4c94ec2d0293da
movabs r8, 0xad0fabec09e78963
xor rdx, r8
add rax, rdx
mov qword [rbp + 0x28], rax
movabs rdx, 0x1898e9975fd5e86f
movabs r8, 0xe7671668a02a1790
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x94a2fc34c587f5e2
movabs rdx, 0x94a2fc34c587f5e2
xor rcx, rdx
cmp rax, rcx
jl 0x1401315f1
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x50]
add rdx, 8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jmp 0x140131603
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140132014
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x20]
mov qword [rbp], rdx
mov qword [rbp + 8], rax
cmp rax, rcx
jge 0x140131c7a
mov rdx, qword [rbp + 8]
mov rcx, rdx
add rcx, 1
mov qword [rbp - 8], rcx
movabs rax, 0xdb6cc8e23517030e
movabs r8, 0x2493371dcae8fcf1
xor rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140131672
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140131c60
mov ecx, dword [0x1402534f0]
sub ecx, dword [0x1402534f4]
add ecx, 0x76a715b5
sub ecx, 0xcaddbe63
sub ecx, 0x76a715b5
mov eax, ecx
and eax, 0xd004b56d
xor ecx, 0xd004b56d
or eax, ecx
imul eax, eax, 0x31953f8e
cmp eax, 0x8fd3355b
je 0x140132024
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x60]
mov r8d, dword [0x1402534f8]
add r8d, dword [0x1402534fc]
sub r8d, 0x8e7deb8f
mov eax, r8d
and eax, 0xcac67daf
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xcac67daf
or r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x26ecb8ce
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x26ecb8ce
or eax, 0x26ecb8ce
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp - 9], cl
cmp eax, 0x96a85115
je 0x1401316b0
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 9]
test cl, 1
mov qword [rbp - 0x18], rax
jne 0x14013175a
jmp 0x140131959
mov rax, qword [rbp + 8]
movabs rcx, 0x2ea72d49b8f1bd3b
movabs rdx, 0x2ea72d49b8f1bd3b
xor rcx, rdx
cmp rax, rcx
jge 0x1401318be
mov eax, dword [0x140253500]
mov ecx, dword [0x140253504]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xba0d9471
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xba0d9471
or eax, 0xba0d9471
imul eax, edx
add eax, ecx
add eax, 0xd7a9f8c8
imul eax, eax, 0x6096920a
cmp eax, 0x270a42e3
je 0x14013202d
mov rcx, qword [rbp + 8]
mov r9d, dword [0x140253508]
mov r8d, dword [0x14025350c]
mov eax, r9d
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r10d, r8d
xor r10d, 0xffffffff
mov eax, r9d
and eax, r10d
imul eax, edx
mov edx, r9d
and edx, r8d
or r9d, r8d
imul r9d, edx
add r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xb2a9753d
mov r8d, 0xffffffff
xor r8d, 0xb2a9753d
and r9d, r8d
mov edx, 0x64a31358
xor edx, 0x40e20bef
mov r10d, 0xe1461afd
xor r10d, 0x1eb9e502
xor edx, r10d
and edx, 0xb2a9753d
and r8d, 0x244118b7
or eax, r9d
or edx, r8d
xor eax, edx
mov r8d, 0x892b437c
xor r8d, 0x3c1af060
xor edx, edx
div r8d
mov r8d, 0xf461f75e
xor edx, edx
div r8d
mov dword [rbp - 0x1c], eax
mov eax, 0x9cb55c4e
xor eax, 0x803f23e4
mov dword [rbp - 0x20], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x1c]
add rsp, 0x20
cmp eax, ecx
je 0x1401317db
jmp 0x140131c60
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1401310d5
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x140131c60
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1401310d5
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0xc
xor cl, 0xc
cmp al, cl
jne 0x140131c60
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140131140
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x58]
mov byte [rbp - 0x31], cl
cmp byte [rax], 0
jne 0x140131c60
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 8]
mov dl, byte [rbp - 0x31]
test dl, 1
cmovne rax, rcx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x48], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x140131997
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140131c60
mov rax, qword [rbp - 0x48]
cmp rax, 0
jge 0x1401319c9
mov rcx, qword [rbp - 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x140131c60
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1401310d5
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x140131c60
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
mov r8b, 1
xor r8b, 0
and r8b, 1
sub rsp, 0x20
call fcn.140133ae0
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x53
xor cl, 0x53
cmp al, cl
jne 0x140131c60
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140132060
add rsp, 0x20
test al, 1
jne 0x140131a5c
jmp 0x140131a6e
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140131c60
mov ecx, dword [0x140253510]
xor ecx, 0x252585bb
mov edx, dword [0x140253514]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
imul ecx, eax, 0x6ffdfe21
mov r8d, 0xc118dc5d
xor r8d, 0xde84d2e1
mov eax, 0xd2a0fe73
xor eax, 0x2d5f018c
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x1f9c0ebc
or ecx, 0x1f9c0ebc
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xcef20994
mov r8d, 0xffffffff
xor r8d, 0xcef20994
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0xcef20994
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x2c0190c3
ja 0x140132036
mov eax, dword [0x140253518]
or eax, dword [0x14025351c]
sub eax, 0xe332693b
mov edx, eax
xor edx, 0xffffffff
and edx, 0xbe76cb12
mov r8d, 0xffffffff
xor r8d, 0xbe76cb12
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbe76cb12
or eax, 0xbe76cb12
imul eax, edx
add eax, ecx
imul eax, eax, 0x304aa5fd
mov r8, qword [rbp + 0x68]
movabs rdx, 0x71ef89a2c33fcd26
movabs rcx, 0x71ef89a2c33fcd26
xor rdx, rcx
movabs rcx, 0x42e5ac6f6dfe19fb
movabs r9, 0x42e5ac6f6dfe19fa
xor rcx, r9
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
mov qword [rbp - 0x60], rcx
movabs r9, 0xa0f54f812b40b5b8
movabs rdx, 0x5f0ab07ed4bf4a47
xor r9, rdx
mov rdx, r8
xor rdx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
or rdx, r9
and rdx, 0xffffffffffffffff
movabs r9, 0x3fbd1135e8d87c75
movabs r10, 0xc042eeca1727838a
xor r9, r10
xor rdx, r9
mov r9, 0xffffffffffffffff
and r9, 0xffffffffffffffff
movabs r10, 0xe9dbd25b04be7dc5
movabs r11, 0x16242da4fb41823a
xor r10, r11
xor r9, r10
and r8, r9
movabs r9, 0x2935506688addfc7
movabs r10, 0xd6caaf9977522038
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x51], cl
cmp eax, 0xd2c0e85b
ja 0x140131b11
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140131c53
jmp 0x140131c65
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140132014
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x60]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jmp 0x140131603
mov eax, dword [0x140253520]
mov edx, dword [0x140253524]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x548eacbd
xor r8d, 0xab715342
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x140cb915
xor ecx, 0xa55569ee
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xb643a5b1
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xab94c679
xor r8d, 0x546b3986
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb643a5b1
or eax, 0xb643a5b1
imul eax, edx
add eax, ecx
mov ecx, 0xf247b617
xor ecx, 0x3f6cf55
add eax, ecx
cmp eax, 0x69db83bc
jbe 0x14013203f
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x50]
mov eax, dword [0x140253528]
or eax, dword [0x14025352c]
imul eax, eax, 0x3e5d26f8
mov r8d, eax
and r8d, 0xe7fe7a12
mov r9d, 0x6c552963
xor r9d, 0x8bab5371
or eax, r9d
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x4839a97d
and eax, r9d
mov r9d, 0x6d9f1205
xor r9d, 0x25a6bb78
or r8d, r9d
mov r9d, 0x7cf4c318
xor r9d, 0x830b3ce7
xor r8d, r9d
or eax, r8d
mov r8d, 0xaae927f1
xor r8d, 0x5516d80e
xor eax, r8d
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x61], cl
cmp eax, 0x56a24301
je 0x140131d03
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140131de6
jmp 0x140131dae
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x70]
movabs rax, 0xa6df6d539a1f6ab
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xa6df6d539a1f6ab
add rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140132014
mov rax, qword [rbp + 0x48]
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140133d51
mov rax, qword [rbp + 0x58]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140132014
mov eax, dword [0x140253530]
xor eax, 0xdd3dca39
xor edx, edx
div dword [0x140253534]
mov ecx, eax
mov eax, 0x6ce2f5c7
xor eax, 0x1dd4c727
add ecx, eax
add ecx, 0x43a83066
mov eax, 0xb6cff0e
xor eax, 0x7a5acdee
sub ecx, eax
mov r8d, 0x15327632
xor r8d, 0x33e6fe3
mov eax, 0x660b63f8
xor eax, 0x99f49c07
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x160c19d1
or ecx, 0x160c19d1
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x70fa193
or ecx, 0x70fa193
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x255a4af5
xor edx, 0xdaa5b50a
xor ecx, edx
and eax, ecx
mov ecx, 0x54649067
xor ecx, 0x456d333c
cmp eax, ecx
je 0x140132048
mov r8, qword [rbp]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
mov r9d, dword [0x140253538]
or r9d, dword [0x14025353c]
mov eax, r9d
xor eax, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
or eax, r10d
and eax, 0xb6165ce9
mov r10d, 0xc1e58a40
xor r10d, 0x3e1a75bf
xor eax, r10d
mov r10d, 0xe0fb0e70
xor r10d, 0x56ed5299
mov r11d, 0xbd2b707e
xor r11d, 0x42d48f81
xor r10d, r11d
mov r11d, 0xab53d232
xor r11d, 0x1d458edb
mov esi, 0xd01031da
xor esi, 0x2fefce25
xor r11d, esi
or r10d, r11d
and r9d, r10d
mov r10d, 0x6d36bcf3
xor r10d, 0x92c9430c
xor r9d, r10d
and eax, r9d
xor eax, 0xffffffff
mov r10d, 0x6ed86bd6
xor r10d, 0x91279429
mov r9d, eax
xor r9d, r10d
mov r11d, 0xaf3500dd
xor r11d, 0x50caff22
mov r10d, eax
xor r10d, r11d
or r9d, r10d
and r9d, 0xd27d8097
xor r9d, 0xffffffff
mov r10d, 0xd27d8097
and r10d, 0xd27d8097
mov r11d, 0x2185dd7c
xor r11d, 0xde7a2283
xor r10d, r11d
xor eax, 0xffffffff
mov r11d, 0x31310315
xor r11d, 0xcecefcea
xor r10d, r11d
or eax, r10d
and r9d, eax
mov eax, 0x5a88c203
xor eax, 0xa5773dfc
xor r9d, eax
mov r10d, 0x316ddd29
xor r10d, 0xb89d99b7
mov eax, r9d
and eax, r10d
xor r9d, 0x89f0449e
or eax, r9d
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.140130840
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xd5796dfe
ja 0x140131eca
invalid
jmp 0x140132014
lea rsp, [rbp + 0x78]
pop rsi
js 0x140132077
pop rbp
ret
and eax, 0xe91bc9be
je 0x140132016
invalid
nop
add al, 0xd8
jmp 0x1401316b0
sahf
movsd dword [rdi], dword [rsi]
add edx, ebx
jmp 0x1401317db
jne 0x14013200e
or eax, 0xfffad2e9
inc dword [rcx]
invalid
add dword [rsi], edx
mov al, 6
jmp 0x140131d03
mov ds, word [rax]
shl bh, 1
jmp 0x140131eca
mov edx, 0x57c53dcc
or al, 0xad
invalid