Function at 0x1401748a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.14017583a
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0x20], rax
mov rax, qword [0x140288ce0]
cmp byte [rax], 0
jne 0x1401749aa
movabs rcx, 0x793908dfeb17e81b
movabs rax, 0x793908dfeb17e85b
xor rcx, rax
movabs rdx, 0xb91c38ecd3d65577
movabs rax, 0xb91c38ecd3d6557f
xor rdx, rax
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x140216538]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216538]
lea r8, [0x140216618]
lea r9, [0x140216553]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffbb54f544
call fcn.1400139e0
add rsp, 0x30
xor eax, eax
mov qword [rbp], rax
jmp 0x140175137
mov rax, qword [0x140216628]
mov qword [rbp + 0x48], rax
mov rax, qword [str.hf__]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.1400361e7
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 8], rax
cmp byte [rcx], 0
mov qword [rbp], rax
jne 0x140175137
mov ecx, 8
mov edx, 4
sub rsp, 0x20
call fcn.140014320
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov qword [rbp - 0x20], rdx
mov dword [rdx + 4], 2
sub rsp, 0x20
call fcn.14006c990
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x18], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x140174d25
mov ecx, dword [0x14020a7b8]
mov edx, dword [0x14020a7bc]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x1098b5ce
xor r9d, 0xef674a31
mov r8d, edx
xor r8d, r9d
and eax, r8d
or ecx, edx
mov edx, 0xf9047626
xor edx, 0x6fb89d9
xor ecx, edx
mov edx, 0x5adce722
xor edx, 0xa52318dd
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x6f4a6038
xor ecx, 0xfde6e366
sub eax, ecx
sub eax, 0x9d01be58
mov ecx, 0xa93c6874
xor ecx, 0x3b90eb2a
add eax, ecx
mov ecx, 0xfd4770f3
xor ecx, 0x9d8c57d
xor edx, edx
div ecx
add eax, 0xf582281b
mov ecx, 0xdbcdafb4
xor ecx, 0x63822db
cmp eax, ecx
jbe 0x140175239
mov rcx, qword [rbp - 0x18]
mov edx, dword [0x14020a7c0]
mov r8d, dword [0x14020a7c4]
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
mov edx, 0x4db782af
xor edx, 0xb2487d50
mov r8d, eax
xor r8d, edx
and r8d, 0xd83340e0
mov r9d, 0x59eadf2b
xor r9d, 0x81d99fcb
mov edx, 0xacbe27c5
xor edx, 0x5341d83a
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xd83340e0
or eax, 0xd83340e0
imul eax, r8d
add eax, edx
xor edx, edx
sub edx, 0x6a89777f
add eax, edx
mov r8d, 0xcf7c1806
xor edx, edx
div r8d
movabs rdx, 0xf5f8106d36c04a9
add rcx, rdx
add rcx, 0xffffffff80000000
movabs rdx, 0xf5f8106d36c04a9
sub rcx, rdx
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rbp - 0x21], cl
cmp eax, 0x1483c1e3
ja 0x140174aca
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140174b9a
jmp 0x140174bde
mov rcx, qword [rbp - 0x18]
movabs rdx, 0xb2ca32c2961bec42
movabs rax, 0x4d35cd3d161bec42
xor rdx, rax
movabs r8, 0xfeca9263be719247
movabs rax, 0xfeca9263c18e6db8
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x140174d25
mov rax, qword [rbp - 0x18]
cmp rax, 1
jge 0x140174c0a
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140174d25
mov rcx, qword [rbp - 8]
mov r11, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov esi, eax
add r11, 8
mov rax, qword [str.po__]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [str.po__]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140098d00
mov rax, qword [rbp + 0x20]
add rsp, 0x50
cmp byte [rax], 0
jne 0x140174d25
mov rcx, qword [rbp - 8]
mov rax, qword [str.po__]
mov rdx, qword [rax + 8]
mov r11, rdx
add r11, 8
xor eax, eax
cmp rdx, 0
cmove r11, rax
mov rax, qword [str.po__]
mov rsi, qword [rax]
mov edx, 0xca3f4006
xor edx, 0x35c0bff9
mov r8d, 0x2b6f80e7
xor r8d, 0xd4907f18
mov r9d, 0xdb140065
xor r9d, 0x24ebff9a
mov r10d, 0x22188539
xor r10d, 0xdde77ac6
xor eax, eax
mov bl, al
xor bl, 0
xor eax, eax
sub rsp, 0x50
and bl, 1
mov rax, rsp
mov byte [rax + 0x48], bl
mov qword [rax + 0x40], rsi
mov qword [rax + 0x38], r11
mov dword [rax + 0x20], r10d
mov qword [rax + 0x30], 0
mov qword [rax + 0x28], 0
call fcn.140098d00
add rsp, 0x50
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1400880e1
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp rax, 0
je 0x140174d83
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140174d83
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x20]
mov cl, byte [rcx]
mov dl, 0xd
xor dl, 0xd
cmp cl, dl
mov qword [rbp], rax
jne 0x140175137
mov rax, qword [0x140288ce0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x30], rcx
mov rax, qword [rax + 8]
movabs rcx, 0x3df626940af09bb7
movabs rdx, 0x3df626940af09bb7
xor rcx, rdx
cmp rax, rcx
je 0x140174e64
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140175848
add rsp, 0x20
mov rax, qword [0x140288ce0]
mov qword [rbp - 0x40], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 1
jge 0x140174e28
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140014583
mov rax, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
jmp 0x140175137
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9769a2099142bb28
sub rsp, 0x20
call fcn.140097810
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp], rax
jne 0x140175137
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 0x58]
mov qword [rbp + 0x38], rdx
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.140145410
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov dl, byte [rax]
mov byte [rbp - 0x43], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.140107aac
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp - 0x43]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x42], dl
cmp byte [rcx], 0
mov byte [rbp - 0x41], al
je 0x140174eeb
mov al, byte [rbp - 0x42]
mov byte [rbp - 0x41], al
mov rax, qword [rbp + 0x20]
mov cl, byte [rbp - 0x41]
mov byte [rbp - 0x51], cl
mov byte [rax], 0
mov rax, qword [0x140288ce0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x50], rcx
cmp qword [rax + 8], 0
je 0x140175126
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.140175848
add rsp, 0x20
mov rax, qword [0x140288ce0]
mov qword [rbp - 0x68], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
cmp rax, 1
jge 0x140174f7f
mov rdx, qword [rbp - 0x60]
movabs rax, 0x3dc6e557163c7a0
movabs rcx, 0xfc2391aa8e9c385f
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140014583
mov rax, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
jmp 0x140175137
mov eax, dword [0x14020a7c8]
mov edx, dword [0x14020a7cc]
xor edx, 0x597806fc
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
and ecx, 0x89bd1de4
mov eax, ecx
and eax, 0x7d0aa802
xor eax, 0xffffffff
mov edx, 0x5fa0eb10
xor edx, 0xa05f14ef
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x7d0aa802
or ecx, edx
mov edx, 0xccbd50e0
xor edx, 0x3342af1f
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xcd2c218c
xor edx, edx
div ecx
mov ecx, 0x51d17d23
xor ecx, 0x81694753
cmp eax, ecx
jae 0x140175242
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
mov edi, dword [0x14020a7d0]
mov ecx, dword [0x14020a7d4]
add edi, 0xc1bc2ba0
add edi, ecx
mov ecx, 0x4f5b0350
xor ecx, 0x8ee728f0
sub edi, ecx
mov ecx, 0xa0a62ab3
xor ecx, 0x5f59d54c
mov r8d, edi
xor r8d, ecx
mov r10d, 0xffffffff
xor r10d, 0x900c250a
mov r9d, 0xffffffff
xor r9d, 0x723ce375
mov r11d, 0x31f1663f
xor r11d, 0x43cd854a
mov ecx, r8d
and ecx, r11d
and edi, r9d
mov esi, 0x536d42bd
xor esi, 0x2151a1c8
mov r11d, r10d
and r11d, esi
mov esi, r9d
and esi, 0x900c250a
or ecx, edi
or r11d, esi
xor ecx, r11d
or r8d, r10d
mov r10d, 0x28e2c4f6
xor r10d, 0xd71d3b09
xor r8d, r10d
or r9d, 0x723ce375
and r8d, r9d
or ecx, r8d
mov r8d, 0x13004b2e
xor r8d, 0x1baa6a42
xor ecx, r8d
xor r8d, r8d
sub r8d, ecx
xor ecx, ecx
sub ecx, 0x5fecc1bd
add r8d, ecx
xor ecx, ecx
sub ecx, r8d
mov dword [rbp - 0x70], ecx
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0xcf72ddb6efcbe1c0
movabs rax, 0x581bbbb77e995ae8
xor r8, rax
sub rsp, 0x20
call fcn.140097810
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x40f8395e
je 0x140174ff1
mov rax, qword [rbp - 8]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp], rax
jne 0x140175126
jmp 0x140175137
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp - 0x51]
mov byte [rcx], dl
mov qword [rbp], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp]
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400344cc
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140175230
mov eax, dword [0x14020a7d8]
imul eax, dword [0x14020a7dc]
sub eax, 0xbc49a340
add eax, 0x6c9466
mov edx, 0x5a495c42
xor edx, 0xf1a6108a
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xabef4cc8
and eax, ecx
cmp eax, 0xc048ec9
jb 0x14017524b
mov r8b, byte [rbp - 0x71]
mov eax, dword [0x14020a7e0]
xor edx, edx
div dword [0x14020a7e4]
mov rdx, qword [rbp + 0x20]
mov ecx, 0xc01c8c56
xor ecx, 0x3fe373a9
xor eax, ecx
mov r9d, 0x44045dc
xor r9d, 0x3d853e98
mov ecx, 0x6f142f8
xor ecx, 0xf90ebd07
xor r9d, ecx
mov ecx, 0x5335a1b8
xor ecx, 0x1a185b46
mov r10d, 0x9013b155
xor r10d, 0x6fec4eaa
xor ecx, r10d
or eax, r9d
or ecx, 0x492dfafe
xor eax, 0xffffffff
and eax, ecx
or eax, 0xf31e6a4d
mov ecx, 0xde15afcf
xor ecx, 0x254d1869
xor eax, ecx
mov ecx, 0x8b9d65c7
xor ecx, 0x4c3c87c1
mov byte [rdx], r8b
cmp eax, ecx
je 0x14017524b
jmp 0x140175230
lea rsp, [rbp + 0x58]
pop rbx
pop rdi
pop rsi
pop rbp
ret
cmp ebp, eax
mov dh, 0x44
jmp 0x140174aca
invalid
pop rdi
movsxd r14, dword [r9 + rbp*8]
invalid