Function at 0x1400182b1
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x140017c29
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.1400177b0
jmp 0x140018284
mov ecx, dword [0x14024bbd8]
mov edx, dword [0x14024bbdc]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x847bf78a
xor ecx, 0x5f4c9d33
xor edx, edx
div ecx
sub eax, 0x560fd5be
sub eax, 0xf89d9392
mov ecx, 0x54d93f42
xor ecx, 0x788afcdd
cmp eax, ecx
jbe 0x14001828d
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov eax, dword [0x14024bbe0]
xor eax, 0x79fc2cd0
mov r8d, dword [str.p__nO]
sub eax, 0x212547ed
sub eax, r8d
add eax, 0x212547ed
mov r8d, 0x1e54d46a
xor r8d, 0xf4766fb1
sub eax, r8d
xor eax, 0xbd887efc
or eax, 0xbd9a9686
cmp rcx, rdx
setl cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x8b88e782
jbe 0x140017c69
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140017cd5
jmp 0x140018284
mov rax, qword [rsp + 0x78]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140017d56
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
movabs r8, 0xe3248727a1c18b22
movabs rdx, 0xe3248727a1c18b23
xor r8, rdx
mov rdx, rax
add rdx, r8
movabs r8, 0x3847361807ef6919
movabs r9, 0xc7b8c9e7f81096e6
xor r8, r9
xor rax, r8
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x140017f32
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x50], rax
xor rdx, rax
xor rax, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140017dc8
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140010b50
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140017f32
mov eax, dword [0x14024bbe8]
mov ecx, dword [str.Ph__]
xor ecx, 0x1010957e
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
and ecx, 0x14075dc0
mov edx, 0x797b2ef
xor edx, 0x1390ef2f
mov eax, 0xe7c3cffd
xor eax, 0x183c3002
xor edx, eax
mov eax, r11d
and eax, edx
imul eax, ecx
mov edx, 0xdcfefe24
xor edx, 0xc8f9a3e4
mov ecx, r11d
and ecx, edx
or r11d, 0x14075dc0
imul r11d, ecx
add r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x812961d5
mov r8d, 0xffffffff
xor r8d, 0xdb4e2b0
mov eax, ecx
and eax, 0xdb4e2b0
and r11d, r8d
mov r9d, edx
and r9d, 0xdb4e2b0
mov r10d, 0xf0f12b75
xor r10d, 0x71d84aa0
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x904599b0
xor edx, 0x6fba664f
xor ecx, edx
mov edx, 0xc31f9cef
xor edx, 0xceab7e5f
or edx, r8d
and ecx, edx
or eax, ecx
mov edx, eax
and edx, 0xc68539ec
mov ecx, 0x22700e47
xor ecx, 0x22700e45
imul ecx, edx
add eax, 0xc68539ec
sub eax, ecx
cmp eax, 0x8adc54d0
ja 0x140018296
mov eax, dword [0x14024bbf0]
mov ecx, 0x2fa9edd3
xor ecx, 0xa09c3418
xor eax, ecx
imul eax, dword [0x14024bbf4]
mov ecx, 0xd795fd21
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x1a2e1472
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x1a2e1472
add ecx, edx
sub ecx, eax
mov edx, 0x2aa3e3a2
xor edx, 0x47bc61c8
mov eax, ecx
and eax, edx
or ecx, 0x6d1f826a
add eax, ecx
mov dword [rsp + 0x4c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x4c]
cmp eax, 0x7e53a42e
je 0x140017ebe
jmp 0x140018284
mov ecx, dword [0x14024bbf8]
imul ecx, dword [0x14024bbfc]
mov eax, ecx
and eax, 0x2f6fc3f9
mov edx, 0xe0ea80e0
xor edx, 0xcf854319
or ecx, edx
add eax, ecx
mov ecx, 0x57d635c5
xor ecx, 0xa8b121f5
imul eax, ecx
mov ecx, 0x7d9a0807
xor edx, edx
div ecx
mov ecx, 0xbc8b2bc
xor ecx, 0x58c56151
cmp eax, ecx
je 0x14001829f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov eax, dword [0x14024bc00]
mov r9d, dword [0x14024bc04]
mov r8d, 0xe825032
xor r8d, 0xf17dafcd
xor eax, r8d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfacee117
or eax, r9d
or r8d, 0xfacee117
xor eax, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x73f897ca
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
xor eax, 0xffffffff
mov r9d, 0xa0d80a09
xor r9d, 0x9fd87d0a
mov r8d, 0xb404ed32
xor r8d, 0x4bfb12cd
xor r9d, r8d
mov r8d, 0x685ae9d2
xor r8d, 0x3123ce87
mov r10d, 0x63317ba3
xor r10d, 0x9cce845c
xor r8d, r10d
or eax, r9d
or r8d, 0x59792755
mov r9d, 0xb898c78
xor r9d, 0xf4767387
xor eax, r9d
and eax, r8d
mov r8d, 0x25e804a0
xor r8d, 0x3dc50ed8
and r8d, eax
xor r8d, 0xffffffff
add eax, 0x182d0a78
add eax, 1
add eax, r8d
mov qword [rcx], rdx
cmp eax, 0xee30f821
ja 0x14001829f
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
jmp 0x14001807a
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [0x14024bc08]
mov edx, dword [0x14024bc0c]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
imul eax, eax, 0xe33ec04e
mov ecx, 0x72302f
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x62b37f51
xor edx, 0x31062ff2
and ecx, edx
mov edx, 0xcd5baeb5
xor edx, 0x9eeefe16
mov r8d, 0x7b31acfa
xor r8d, 0x84ce5305
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x4345bb66
xor ecx, 0x9d401e58
cmp eax, ecx
je 0x1400182a8
mov r8, qword [rsp + 0x70]
mov eax, dword [0x14024bc10]
xor edx, edx
div dword [0x14024bc14]
mov rdx, qword [rsp + 0x38]
mov ecx, 0xddc55
xor ecx, 0xddc55
sub ecx, eax
xor eax, eax
sub eax, 0x5d4b419b
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x7e412f7d
shl ecx, 1
add eax, 0x7e412f7d
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xb9c05a64
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x13a0610b
xor ecx, 0x1274fddd
cmp rdx, r8
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
jbe 0x1400182a8
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140018174
jmp 0x140018284
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
mov edx, 0x20
call fcn.14000943f
mov rdx, qword [rsp + 0x38]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0x227d5f6d864e3df3
movabs r9, 0xdd82a09279b1c20c
xor r8, r9
xor rcx, r8
movabs r8, 0x59753c8f3efbfa4a
movabs r9, 0xa68ac370c10405b5
xor r8, r9
and r8, rcx
movabs rcx, 0x8f117060bed6af48
movabs r9, 0x8f117060bed6af4a
xor rcx, r9
imul rcx, r8
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
or rcx, rcx
movabs r8, 0x447fc0089f6d3659
movabs r9, 0xbb803ff76092c9a6
xor r8, r9
xor rcx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r8, 0x81110c187a5e9b0f
movabs r9, 0x7eeef3e785a164f0
xor r8, r9
xor rcx, r8
movabs r8, 0x394d0b07928db3c9
movabs r9, 0xc6b2f4f86d724c36
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x40], rax
jge 0x14001807a
call fcn.140008c92
nop
add rsp, 0x88
ret
xchg edx, eax
add esi, dword [rax - 0x62c169d]
invalid
invalid
invalid
adc al, 1
retf
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.1400177b0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140017bf0