Function at 0x14004a810
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x160
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], r9
mov qword [rbp + 0x38], r8
mov qword [rbp + 8], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.140045cab
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 0x20], rax
movabs rax, 0x14856bae11a8fe69
movabs rdx, 0x14856bae11a8fe69
xor rax, rdx
mov qword [rcx], rax
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.140012e10
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x48]
mov qword [rdx + 8], r10
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x50], rdx
mov qword [rcx + 8], 0
mov rcx, qword [r8]
movabs rdx, 0xc7c9d8bd1dc32546
movabs r8, 0xc7c9d8bd1dc32547
xor rdx, r8
cmp rcx, 0
cmove rcx, rdx
mov qword [rbp + 0x58], rcx
add rax, 8
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x90]
add rax, 8
mov qword [rbp + 0x68], rax
xor eax, eax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], r9
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
mov eax, dword [0x1401f3810]
xor eax, 0xc2aec54
add eax, dword [0x1401f3814]
mov ecx, eax
add ecx, 1
mov edx, 0x449cee0b
xor edx, 0xbb6311f4
xor eax, edx
mov edx, 0x2dc0916d
xor edx, 0xf52d463f
or eax, edx
add eax, ecx
imul eax, eax, 0x80e53e79
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xbad434c0
mov edx, 0xffffffff
xor edx, 0x9efc83c2
or eax, ecx
mov ecx, 0x8227d147
xor ecx, 0x1cdb5285
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x1b5b335d
xor ecx, 0x3f58f3d1
cmp eax, ecx
ja 0x14004b26c
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov r8d, dword [0x1401f3818]
xor r8d, 0xa04f3040
mov r10d, dword [0x1401f381c]
mov eax, 0xde0765aa
xor eax, 0x3a863a8
xor r10d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, r10d
and r9d, eax
mov eax, 0x224db55d
xor eax, 0xddb24aa2
mov r11d, r10d
xor r11d, eax
mov eax, r8d
and eax, r11d
imul eax, r9d
mov r9d, r8d
and r9d, r10d
or r8d, r10d
imul r8d, r9d
add r8d, eax
mov eax, r8d
add eax, 1
mov r9d, 0xae8ea1db
xor r9d, 0x51715e24
xor r8d, r9d
or r8d, 0x92a2be24
add r8d, eax
mov eax, r8d
or eax, 0xf3bc32ee
mov r9d, 0x9d63bbbf
xor r9d, 0x629c4440
xor eax, r9d
mov r9d, 0x3781427
xor r9d, 0xf0c426c9
or r8d, r9d
mov r9d, 0xd90b64c7
xor r9d, 0x26f49b38
xor r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or eax, 0xfef078a6
cmp rcx, qword [rdx]
setg cl
mov byte [rbp - 9], cl
cmp eax, 0xa5b5b51d
jb 0x14004b26c
mov rax, qword [rbp]
mov cl, byte [rbp - 9]
test cl, 1
mov qword [rbp - 0x18], rax
jne 0x14004b12a
jmp 0x14004aa9e
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
cmp rax, qword [rcx]
jge 0x14004ac2d
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 8]
mov r8, qword [rcx]
mov qword [rbp + 0xc0], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xc8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xb0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xc0]
lea r8, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14004a2f0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x20]
mov byte [rbp - 0x21], cl
cmp byte [rax], 0
jne 0x14004b12a
mov eax, dword [0x1401f3820]
xor eax, 0xc2131386
mov ecx, dword [str.qpv_n]
xor ecx, 0x2ebc152f
imul eax, ecx
imul eax, eax, 0x64d3fc3
mov ecx, eax
add ecx, 1
mov edx, 0x9c027082
xor edx, 0x63fd8f7d
xor eax, edx
or eax, 0x9caf9a33
add eax, ecx
xor eax, 0x2983f043
mov ecx, 0x49b94998
xor ecx, 0x510457a8
cmp eax, ecx
jbe 0x14004b275
mov eax, dword [0x1401f3828]
sub eax, dword [0x1401f382c]
add eax, 0xc3d33796
mov ecx, 0xbf0f56b
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xea258b5e
and ecx, 0xea258b5e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xac1f698f
xor ecx, 0x1bcbce1c
cmp eax, ecx
jbe 0x14004ab67
mov al, byte [rbp - 0x21]
test al, 1
jne 0x14004ac2d
jmp 0x14004abc6
mov rcx, qword [rbp - 0x20]
movabs rdx, 0x70a09b586a97ac09
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0xc0aef59f2cda10e2
movabs r8, 0xb00e6ec7464dbceb
xor rdx, r8
sub rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x18], rax
jl 0x14004b11d
jmp 0x14004aa9e
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 8]
cmp rcx, 0
sete cl
mov byte [rbp - 0x31], cl
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x14004ac51
jmp 0x14004ad7a
mov ecx, dword [0x1401f3830]
xor ecx, 0x77da6184
mov edx, dword [0x1401f3834]
mov eax, ecx
or eax, edx
mov r8d, 0x2e4c7f57
xor r8d, 0xd1b380a8
xor eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0xfa1fad24
add eax, 0xc82e4f41
mov ecx, 0xa21760c3
xor ecx, 0xf442f2b8
add eax, ecx
cmp eax, 0x846867e9
jae 0x14004b27e
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401f3838]
mov r9d, dword [0x1401f383c]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov edx, 0x4e87a180
xor edx, 0xb1785e7f
mov r10d, r9d
xor r10d, edx
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0x4d0b137b
sub eax, 0x1dd1955
add eax, 0x4d0b137b
imul edx, eax, 0x34905507
mov r8d, 0x22c3334d
xor r8d, 0xdd3cccb2
mov eax, edx
xor eax, r8d
mov r9d, 0xee466294
xor r9d, 0x11b99d6b
mov r8d, edx
xor r8d, r9d
or eax, r8d
and eax, 0x4cc41fe4
xor eax, 0xffffffff
mov r8d, 0x4cc41fe4
and r8d, 0x4cc41fe4
mov r9d, 0xd6113c2f
xor r9d, 0x29eec3d0
xor r8d, r9d
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp eax, 0x4ce07271
jb 0x14004aca9
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x30], rax
jmp 0x14004ad7a
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x48], rax
mov ecx, dword [0x1401f3840]
xor ecx, 0x7aa5728b
mov r8d, dword [0x1401f3844]
mov eax, 0xc48bcba5
xor eax, 0x3b74345a
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0xf0e5dbea
xor eax, 0xe3a74192
add ecx, eax
mov eax, ecx
or eax, 0xc10a33be
xor eax, 0xffffffff
mov edx, 0x661ede6c
xor edx, 0x99e12193
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xc10a33be
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x70cd55c9
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x70cd55c9
add eax, edx
sub eax, ecx
cmp eax, 0x4b3b970
jb 0x14004b287
mov eax, dword [0x1401f3848]
imul eax, dword [0x1401f384c]
and eax, 0xb91ed55a
mov ecx, 0x5fa8beb8
xor ecx, 0xdce0fac0
imul eax, ecx
mov ecx, 0xf4826a4
xor ecx, 0xbd1bf26e
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x48]
movabs r8, 0x7881715a909dded2
movabs rcx, 0x877e8ea56f62212d
xor r8, rcx
mov rcx, rdx
add rcx, r8
mov qword [rbp - 0x58], rcx
mov r8, rcx
xor r8, rdx
xor r8, 0xffffffffffffffff
mov r9, rdx
and r9, r8
movabs r8, 0xc76dad2730fcef3e
movabs r10, 0xc76dad2730fcef3c
xor r8, r10
imul r8, r9
sub r8, rdx
mov rdx, rcx
sub rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rbp - 0x49], cl
cmp eax, 0xe69a7c97
ja 0x14004b287
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14004b11d
jmp 0x14004aed6
mov rcx, qword [rbp + 0x48]
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
mov qword [rbp + 0xa0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14001e210
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov qword [rbp + 0x90], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140017ca0
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0xd0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xd8], rax
sub rsp, 0x20
call fcn.140012dfb
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001f764
mov al, byte [rbp - 0x31]
add rsp, 0x20
test al, 1
jne 0x14004b12a
mov rdx, qword [rbp - 8]
movabs rcx, 0xc3711f4100cd06e8
mov rax, rdx
add rax, rcx
movabs rcx, 0x4d9282ba39b826cc
movabs r8, 0xb26d7d45c647d933
xor rcx, r8
add rax, rcx
movabs rcx, 0xc3711f4100cd06e8
sub rax, rcx
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x4661d6ca2535b82b
movabs r8, 0x4661d6ca2535b82b
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14004b11d
mov r8, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x48]
mov rdx, rcx
add rdx, r8
mov qword [rbp - 0x68], rdx
mov rax, rdx
and rax, rax
xor rax, 0xffffffffffffffff
movabs r9, 0x2f01f49f1139a7bd
movabs r10, 0xd0fe0b60eec65842
xor r9, r10
xor rax, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
or rax, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or r9, rcx
movabs r10, 0x5113f1383b78080d
movabs rcx, 0xaeec0ec7c487f7f2
xor r10, rcx
mov rcx, rdx
xor rcx, r10
xor r9, 0xffffffffffffffff
or rcx, r9
and rax, rcx
xor rax, 0xffffffffffffffff
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs r10, 0x3cef1ec1e3b586bc
movabs r9, 0xc310e13e1c4a7943
xor r10, r9
mov r9, r8
xor r9, r10
mov r10, r8
xor r10, 0xffffffffffffffff
and r9, r10
or rcx, r9
xor rcx, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x6aadda1e771c9b2e
movabs r9, 0x955225e188e364d1
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14004b11d
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
jmp 0x14004a926
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
mov eax, dword [0x1401f3850]
mov edx, dword [0x1401f3854]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x6d8eedd8
or eax, edx
or ecx, 0x6d8eedd8
xor eax, 0xffffffff
and eax, ecx
mov edx, 0x3d2ffaae
xor edx, 0xc2d00551
mov ecx, eax
xor ecx, edx
mov edx, 0x9067e976
xor edx, 0xa6952041
and ecx, edx
mov edx, 0x1d3b6e8e
xor edx, 0x2bc9a7b9
mov r8d, 0x3128b599
xor r8d, 0xced74a66
xor edx, r8d
and eax, edx
sub eax, ecx
and eax, 0x30f282b2
mov ecx, 0x454751b0
xor edx, edx
div ecx
mov ecx, 0xc0ca872e
xor ecx, 0x2116e562
cmp eax, ecx
je 0x14004b290
mov rcx, qword [rbp + 0x50]
mov edx, dword [0x1401f3858]
xor edx, 0x223f028a
mov r8d, dword [0x1401f385c]
mov eax, 0x8907d9c6
xor eax, 0x76f82639
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
xor eax, 0xbf2ee2eb
or eax, 0x8e47ad0b
mov edx, eax
and edx, 0x30608ff
shl edx, 1
add eax, 0x30608ff
sub eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x1a978a16
je 0x14004b1b0
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14004b25f
jmp 0x14004b223
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rcx, 0xae1e0aa42310fbe9
movabs rdx, 0xee1e0aa42310fbe9
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14004b25f
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x10]
lea rsp, [rbp + 0xe0]
pop rbp
ret
adc eax, 0xe9de2e0b
cmp edi, esi
invalid
mov ebx, dword [rcx + 0x29]
fucomi st(1)
jmp 0x15d04b277
sbb al, 5
invalid
xchg edx, eax
add eax, 0x90e9269a
sti
invalid
add dword [rsi - 0x30], eax
jmp 0x14004b1b0