Function at 0x140184fc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], rcx
mov eax, 0x10
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov qword [rbp - 0x10], rax
mov rax, qword [0x14028d330]
mov qword [rbp - 8], rax
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp + 8], rcx
mov byte [rbp + 0x4f], 0
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rcx, qword [rbp]
add rsp, 0x20
mov rax, qword [rbp + 8]
xorps xmm0, xmm0
movaps xmmword [rcx], xmm0
add rax, 0x60
mov qword [rbp + 0x10], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, rax
mov qword [rbp + 0x20], rcx
lea rax, [0x14027c968]
mov qword [rcx], rax
add rcx, 0x10
sub rsp, 0x20
xor eax, eax
mov r8b, al
call fcn.1401835a0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rax]
add rax, 8
mov qword [rbp + 0x30], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x38], rax
xor eax, eax
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x18], rax
cmp rax, rcx
je 0x1401852af
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x14018516a
mov rcx, qword [rbp - 0x20]
mov rax, rcx
and rax, 0xfffffffffffffff0
movabs rdx, 0x56ff1bf3f7399bec
movabs r8, 0xa900e40c08c6641c
xor rdx, r8
or rcx, rdx
add rax, rcx
mov qword [rbp - 0x30], rax
mov rdx, qword [rax]
movabs rcx, 0xf1567ac9acf069da
movabs rax, 0xf1567ac9acf069ca
xor rcx, rax
mov rax, rdx
and rax, rcx
mov rcx, rdx
or rcx, 0x10
add rax, rcx
mov qword [rbp - 0x28], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14018515f
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14018516a
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov qword [rax], rcx
mov ecx, dword [0x14027cb08]
add ecx, dword [0x14027cb0c]
xor ecx, 0x6f4dda72
mov edx, 0xc27b90d4
xor edx, 0x1f2657b1
mov eax, ecx
or eax, edx
mov edx, 0xc17e35c7
xor edx, 0x3e81ca38
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdd5dc765
and ecx, edx
mov edx, 0x574e272d
xor edx, 0xa8b1d8d2
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
and eax, 0xf6fc3a40
cmp eax, 0xe229f8cc
ja 0x140185835
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x14027cb10]
xor eax, 0x448e0a0d
imul eax, dword [0x14027cb14]
mov r8d, 0xc6d71893
xor edx, edx
div r8d
mov r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x93a4daae
mov r8d, 0xffffffff
xor r8d, 0x93a4daae
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0xd59c4796
mov r10d, 0x41f5b64e
xor r10d, 0xd2516ce0
and edx, r10d
and r8d, 0xd59c4796
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0xf6698568
xor edx, 0x62d90315
and eax, edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x50eb23c3
je 0x140185835
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140185264
jmp 0x14018575c
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.1401809d0
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov cl, byte [rcx]
movabs rdx, 0x2fa8339ddcf53e29
movabs r8, 0x2fa8339ddcf53e28
xor rdx, r8
add rax, rdx
cmp cl, 0
mov qword [rbp + 0x40], rax
je 0x1401850a2
jmp 0x14018575c
mov rax, qword [rbp + 0x10]
cmp byte [rax], 0
jne 0x14018575c
mov eax, dword [0x14027cb18]
mov ecx, 0xff692330
xor ecx, 0xdf62babb
xor eax, ecx
mov edx, dword [0x14027cb1c]
mov ecx, 0xe28471b9
xor ecx, 0x1d7b8e46
mov r8d, eax
xor r8d, ecx
mov ecx, edx
and ecx, r8d
mov r8d, 0x72858185
xor r8d, 0x8d7a7e7a
xor edx, r8d
and eax, edx
or ecx, eax
mov eax, ecx
or eax, 0xd7edbe89
xor eax, 0xffffffff
mov edx, 0xb3beed4c
xor edx, 0x4c4112b3
xor ecx, edx
mov edx, 0xb3bc2296
xor edx, 0x64519c1f
mov r8d, 0xf1512554
xor r8d, 0xeaedaab
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xf8117a1e
xor ecx, 0x7ee85e1
xor eax, ecx
xor ecx, ecx
sub ecx, 0xfb90e6b1
add eax, ecx
sub eax, 0xa0fb6edb
sub eax, 0xfe33ae90
add eax, 0xa0fb6edb
cmp eax, 0xa3f81403
jbe 0x14018583e
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x14027cb20]
or eax, dword [0x14027cb24]
mov r8d, 0xaf54f096
xor edx, edx
div r8d
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xd97465e2
mov r9d, 0xffffffff
xor r9d, 0xd97465e2
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x696d7004
xor r9d, 0xb01915e6
mov r8d, eax
and r8d, r9d
mov r9d, 0xa9153071
xor r9d, 0x70615593
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0x448e1c02
add eax, 0xb8c20985
add eax, 0x448e1c02
cmp qword [rcx], 1
setg cl
mov byte [rbp - 0x32], cl
cmp eax, 0x271d66a4
jb 0x140185366
mov al, byte [rbp - 0x32]
test al, 1
jne 0x140185402
jmp 0x1401854e9
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp - 0x48], rax
movabs rdx, 0x210cb666374f2aa6
movabs r8, 0xdef34999c8b0d559
xor rdx, r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140181b50
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov r8, rcx
add r8, 0x10
mov qword [rbp - 0x40], r8
mov qword [rcx + 0x10], rdx
cmp byte [rax], 0
jne 0x14018575c
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140181b50
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x50], rdx
mov qword [rcx + 0x18], rdx
cmp byte [rax], 0
jne 0x14018575c
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov r8, qword [r8]
mov r9, qword [r8 + 8]
mov rax, qword [rax + 8]
xor r8d, r8d
sub r8, rax
xor eax, eax
sub rax, r9
add r8, rax
xor eax, eax
sub rax, r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401809d0
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401852bc
jmp 0x14018575c
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
movabs rcx, 0x447cdf6907353803
movabs rdx, 0x447cdf6907353802
xor rcx, rdx
cmp rax, rcx
jge 0x140185654
mov edx, dword [0x14027cb28]
mov eax, 0x6ef61282
xor eax, 0x8a910903
xor edx, eax
mov eax, dword [0x14027cb2c]
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0x6e5ff77c
xor eax, 0x6e5ff77e
imul eax, edx
sub eax, ecx
mov ecx, 0x2af63b57
xor ecx, 0xc4e23602
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x848d9044
xor edx, 0x7b726fbb
mov eax, ecx
xor eax, edx
mov edx, 0x9a557188
xor edx, 0x65aa8e77
xor ecx, edx
and eax, ecx
mov ecx, 0x93b52fc1
xor ecx, 0xe75b19d6
mov edx, 0xd0d4921f
xor edx, 0xa43aa408
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x62e9e8c3
xor edx, 0x9d16173c
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x2c9535d4
xor edx, edx
div ecx
cmp eax, 0xadaae4d3
ja 0x140185847
mov eax, dword [0x14027cb30]
xor eax, 0xb7d6a303
mov ecx, dword [0x14027cb34]
xor ecx, 0xf570ccf6
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xa074985f
mov edx, 0xa270873f
xor edx, 0x5d8f78c0
xor ecx, edx
or eax, 0xa074985f
and eax, ecx
add eax, 0x19c4b24a
mov ecx, 0x14625682
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x58]
mov dword [rbp - 0x5c], eax
movabs rax, 0x39fa05c65967a510
movabs rcx, 0xc605fa39a6985aef
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x81ce2593
jae 0x1401855ca
jmp 0x140185664
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x14018575c
mov r9, qword [rbp + 0x20]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
lea r8, [rbp + 0x4f]
sub rsp, 0x20
call fcn.140184b30
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14018575c
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.1401825f7
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14018575c
mov eax, dword [0x14027cb38]
mov ecx, dword [0x14027cb3c]
xor ecx, 0xc572e9de
sub eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xc1e7fc22
xor edx, 0x3e1803dd
xor eax, edx
or eax, 0x16b755c7
add eax, ecx
imul eax, eax, 0xcbfb4007
imul eax, eax, 0x84ff9e8b
cmp eax, 0xaab5a492
ja 0x140185850
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x14027cb40]
xor eax, dword [0x14027cb44]
xor edx, edx
sub edx, 0x1d8d80a4
sub eax, edx
add eax, 0xec7ecf20
xor eax, 0xff657170
mov dword [rbp - 0x74], eax
mov eax, 0x4a8b70ce
xor eax, 0x8cd257
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.140184db0
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
jae 0x140185850
jmp 0x14018575c
mov eax, dword [0x14027cb48]
mov ecx, dword [0x14027cb4c]
mov edx, 0xce25db68
xor edx, 0x58bd2514
add eax, edx
sub eax, ecx
sub eax, 0x9698fe7c
mov ecx, eax
and ecx, 0x876e1974
mov edx, 0xe264ba1d
xor edx, 0xe264ba1f
imul ecx, edx
mov edx, 0x7b12c568
xor edx, 0xfc7cdc1c
xor eax, edx
add eax, ecx
mov ecx, 0x18827ae0
xor ecx, 0x465b758d
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xc3737982
shl ecx, 1
add eax, 0xc3737982
sub eax, ecx
cmp eax, 0xad1fb381
jb 0x140185859
mov eax, dword [0x14027cb50]
xor eax, 0xf41bd9c5
mov ecx, dword [0x14027cb54]
xor ecx, 0xf02ed867
mov edx, 0xa504d4fb
xor edx, 0x5afb2b04
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xbca971c
xor eax, 0x9197b971
mov ecx, 0xa12e640b
xor ecx, 0x6c97dad2
sub eax, ecx
cmp byte [rbp + 0x4f], 0
setne cl
mov byte [rbp - 0x79], cl
cmp eax, 0x45987841
jb 0x140185859
mov al, byte [rbp - 0x79]
and al, 1
movzx eax, al
lea rsp, [rbp + 0x50]
pop rbp
ret
invalid
push rbp
sub byte [rbx - 0x77], cl
jmp 0x140185366
jle 0x140185880
stc
jmp 0x1401855ca
pop rsi
repz ret
shl eax, 1
cmp dl, bl
jmp 0x1401857cd
mov dword [rsp + 0xc0], ecx