Function at 0x140070898
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp + 0x20], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.140067645
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140032c24
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp + 0x37], cl
mov al, byte [rax]
mov cl, 0xdb
xor cl, 0xdb
cmp al, cl
jne 0x140070853
mov eax, dword [0x1401f64d8]
mov edx, dword [0x1401f64dc]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0x77f1dd1c
add eax, 0x24a2577e
add eax, 0x77f1dd1c
mov ecx, 0x287c778b
xor ecx, 0xea36762c
xor edx, edx
div ecx
mov r8d, 0xcf6b73d9
xor r8d, 0xf74da68a
mov ecx, 0xded32262
xor ecx, 0x212cdd9d
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3826d553
mov r8d, 0xbcf91d28
xor r8d, 0x84dfc87b
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xfd1f3f0c
je 0x140070859
mov cl, byte [rbp + 0x37]
mov eax, dword [0x1401f64e0]
mov edx, dword [0x1401f64e4]
mov r8d, 0x54d29f0a
xor r8d, 0x9efbd1bb
xor edx, r8d
or eax, edx
xor eax, 0x903aa1d9
or eax, 0x725106ed
mov edx, 0xf4190b48
xor edx, 0x62ca823f
add eax, edx
cmp cl, 0xc0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0x10f0aee0
je 0x140070859
mov al, byte [rbp - 1]
test al, 1
jne 0x14006fde4
jmp 0x14006ff63
mov eax, dword [0x1401f64e8]
add eax, dword [0x1401f64ec]
mov edx, 0xfe1e3233
xor edx, 0x1e1cdcc
mov ecx, eax
xor ecx, edx
mov edx, 0x4ad44bd9
xor edx, 0x2dcac1bf
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x671e8a66
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x671e8a66
mov r8d, 0x282a6db9
xor r8d, 0x4f34e7df
or eax, r8d
imul eax, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xae91c27d
mov edx, 0xb563d3a6
xor edx, 0x1bf211db
mov r8d, 0xcb68964c
xor r8d, 0x349769b3
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0xf0cae406
xor edx, 0xf351bf9
mov ecx, eax
xor ecx, edx
mov edx, 0x896a5e37
xor edx, 0x121237fc
and edx, ecx
mov r8d, 0x35bf6f22
xor r8d, 0xaec706e9
mov ecx, 0x8ea920ae
xor ecx, 0x7156df51
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x44fefa55
xor r8d, 0xdf86939e
mov edx, eax
and edx, r8d
or eax, 0x9b7869cb
imul eax, edx
add eax, ecx
cmp eax, 0x2e2a7e9c
jbe 0x140070862
mov ecx, dword [0x1401f64f0]
sub ecx, dword [0x1401f64f4]
mov eax, ecx
and eax, 0xadec410
or ecx, 0xadec410
add eax, ecx
mov ecx, 0xb64ceff3
xor edx, edx
div ecx
mov ecx, 0xefc306bd
xor edx, edx
div ecx
mov dword [rbp - 8], eax
mov eax, 0x572f6f48
xor eax, 0x2d56bbd
mov dword [rbp - 0xc], eax
xor eax, eax
mov ecx, eax
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140019910
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rdx], 0
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001e780
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 8]
add rsp, 0x20
cmp eax, ecx
jae 0x140070862
jmp 0x140070853
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14006a4d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x18], rcx
mov al, byte [rax]
mov cl, 0x2b
xor cl, 0x2b
cmp al, cl
jne 0x140070853
mov rax, qword [rbp - 0x18]
cmp rax, 0
jge 0x14007011f
mov eax, dword [0x1401f64f8]
sub eax, dword [0x1401f64fc]
mov edx, eax
xor edx, 0x827814d5
xor edx, 0xffffffff
and edx, 0x827814d5
mov ecx, 0xf066400f
xor ecx, 0xf066400d
imul ecx, edx
mov edx, 0xbb57d0d7
xor edx, 0x392fc402
sub ecx, edx
sub eax, ecx
mov ecx, 0x853b4a3a
xor ecx, 0xdc0bb6cb
mov edx, 0x8cbe6fd8
xor edx, 0x73419027
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov r8d, 0xa5b45978
xor r8d, 0x10717a3a
mov ecx, 0x9764c35b
xor ecx, 0x689b3ca4
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd542aa3d
xor r8d, 0x2abd55c2
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb5c52342
or eax, 0xb5c52342
imul eax, edx
add eax, ecx
cmp eax, 0x72e1f7de
je 0x14007086b
mov eax, dword [0x1401f6500]
and eax, dword [0x1401f6504]
imul eax, eax, 0x933d5477
mov ecx, 0x1b6a0320
xor ecx, 0xf3f3fcce
add eax, ecx
add eax, 0x97ecc755
mov ecx, 0x9fa51e26
xor ecx, 0x773ce1c8
sub eax, ecx
mov ecx, 0x1b567b4
xor ecx, 0xf6a14c40
xor edx, edx
div ecx
mov dword [rbp - 0x2c], eax
mov eax, 0x8446ade4
xor eax, 0xb8cb81a3
mov dword [rbp - 0x30], eax
lea rcx, [0x140207278]
sub rsp, 0x20
call fcn.14006ac33
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rbp - 0x30]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x2c]
mov qword [rbp - 0x28], r8
mov dl, byte [rdx]
mov r8b, 0x2d
xor r8b, 0x2d
cmp dl, r8b
sete dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
je 0x14007004c
mov al, byte [rbp - 0x19]
test al, 1
jne 0x1400700eb
jmp 0x140070853
mov rcx, qword [rbp - 0x28]
lea rdx, str.sbPL
lea r8, [0x14020722f]
lea r9, str.QsR_5_r5_
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffbcacc39b
call fcn.14001302b
add rsp, 0x30
jmp 0x140070853
mov ecx, dword [0x1401f6508]
xor ecx, 0x59efa25d
mov edx, dword [0x1401f650c]
xor eax, eax
sub eax, edx
sub ecx, eax
xor ecx, 0x2abb473d
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xe972b96b
xor edx, 0xb1a81e4b
mov r8d, 0xaa4a23f7
xor r8d, 0x55b5dc08
xor edx, r8d
or eax, edx
mov edx, 0x2c3e9403
xor edx, 0x74e43323
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x5fa26603
xor edx, 0xa05d99fc
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
imul eax, eax, 0x72d5ef62
cmp eax, 0xbfb7e184
je 0x140070874
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1401f6510]
mov r9d, dword [0x1401f6514]
mov r8d, r9d
and r8d, eax
mov r10d, 0xe0e96988
xor r10d, 0x1f169677
xor r8d, r10d
add eax, r9d
add eax, 1
add eax, r8d
mov r9d, 0x1e64c26f
xor r9d, 0xecc056a1
mov r8d, eax
and r8d, r9d
or eax, 0xf2a494ce
add r8d, eax
mov r9d, 0x992c2962
xor r9d, 0x66d3d69d
mov eax, r8d
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xbecfce92
xor r8d, 0x108fa9f9
mov r9d, 0x4a9d7a8d
xor r9d, 0xb5628572
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xae40676b
and r8d, r9d
mov r9d, 0x77543248
xor r9d, 0x88abcdb7
xor eax, r9d
mov r9d, 0xf7b06e4a
xor r9d, 0x84f91b5
xor r8d, r9d
and eax, r8d
mov r8d, 0xd018ef6b
xor r8d, 0x2fe71094
mov r9d, eax
xor r9d, r8d
and r9d, 0xc9908c0b
mov r10d, 0xffffffff
xor r10d, 0xc9908c0b
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xc9908c0b
mov r10d, 0xc0d4aa4e
xor r10d, 0x9442645
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rbp - 0x38], eax
sub rsp, 0x20
call fcn.14001ef74
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14001e780
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x38]
add rsp, 0x20
movabs rdx, 0x733c7c28a9c34357
movabs r8, 0x8cc383d7563cbca8
xor rdx, r8
mov r8, rcx
and r8, rdx
mov rdx, rcx
or rdx, 0xffffffffffffffff
add r8, rdx
mov rdx, r8
or rdx, rdx
movabs r9, 0xde00e0a70eac40c2
movabs r10, 0x21ff1f58f153bf3d
xor r9, r10
xor rdx, r9
mov r9, rcx
or r9, r9
movabs r10, 0x3ba229dfbcf6fef8
movabs r11, 0xc45dd62043090107
xor r10, r11
xor r9, r10
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
xor r8, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
and r8, r9
movabs r9, 0x3455d9ff4bc82360
movabs r10, 0xcbaa2600b437dc9f
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xb32f449b26b71684
movabs r9, 0xb32f449b26b71684
xor r8, r9
cmp rdx, r8
setl r8b
cmp rcx, 0
setne dl
mov cl, dl
xor cl, 0xff
xor r9d, r9d
xor r9b, 1
xor dl, r9b
and cl, dl
mov dl, r8b
xor dl, 0xff
xor r8b, 0xff
and dl, r8b
xor cl, 0xff
xor dl, 0xff
and cl, dl
mov byte [rbp - 0x31], cl
cmp eax, 0xb8affb7b
ja 0x140070192
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1400703fd
jmp 0x1400703e6
mov rax, qword [rbp]
add rax, 8
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x40], rax
jmp 0x1400704ef
mov r11d, dword [0x1401f6518]
mov r10d, dword [0x1401f651c]
xor r10d, 0x9125fba3
mov eax, 0x3af488c0
xor eax, 0xc50b773f
mov ecx, r11d
xor ecx, eax
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x36328efa
mov eax, ecx
and eax, 0x36328efa
and r11d, edx
mov r9d, r8d
and r9d, 0x36328efa
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x36328efa
and ecx, edx
or eax, ecx
imul eax, eax, 0x6de869cb
sub eax, 0x49b1cd9e
sub eax, 0x83aa7417
add eax, 0x49b1cd9e
mov ecx, 0x802908cc
xor edx, edx
div ecx
cmp eax, 0xa1d2b8c7
je 0x14007087d
mov eax, dword [0x1401f6520]
xor edx, edx
div dword [0x1401f6524]
mov ecx, 0x6b2202ca
xor ecx, 0x69a7a627
xor edx, edx
div ecx
mov ecx, 0x3c9175e4
xor edx, edx
div ecx
mov ecx, 0xf8118a3f
xor ecx, 0xe5ee59a6
or eax, ecx
mov dword [rbp - 0x4c], eax
mov eax, 0x334dbe0f
xor eax, 0xe9ed5821
mov dword [rbp - 0x50], eax
sub rsp, 0x20
call fcn.140009cc0
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, ecx
je 0x14007087d
jmp 0x140070853
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x58], rax
cmp rax, rcx
jge 0x1400706a1
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0x38], 0
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.14006fc50
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0x4e
xor r8b, 0x4e
mov cl, 1
cmp dl, r8b
mov byte [rbp - 0x61], cl
mov qword [rbp - 0x60], rax
jne 0x14007065d
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400705e2
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x70]
movabs rax, 0x46be1f7ef1ace4b3
movabs r8, 0xd8d079335b7240b3
xor rax, r8
add rdx, rax
movabs rax, 0x17a83784856f65d4
movabs r8, 0xe857c87b7a909a2b
xor rax, r8
add rdx, rax
movabs rax, 0xdffb0198605ad4dc
movabs r8, 0x419567d5ca8470dc
xor rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x61], cl
mov qword [rbp - 0x60], rax
jmp 0x14007065d
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.1400d5580
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 7
xor r8b, 7
mov cl, 1
cmp dl, r8b
mov byte [rbp - 0x61], cl
mov qword [rbp - 0x60], rax
jne 0x14007065d
lea rcx, [rbp + 0x38]
sub rsp, 0x20
call fcn.1400d52b6
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
and dl, 1
movzx edx, dl
add rax, rdx
mov byte [rbp - 0x61], cl
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x28]
mov cl, byte [rbp - 0x61]
mov rdx, qword [rbp - 0x60]
mov qword [rbp - 0x80], rdx
mov byte [rbp - 0x71], cl
mov byte [rax], 0
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.1400d5120
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400706a1
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp + 0x28]
mov byte [rcx], al
cmp al, 0
je 0x14007077f
mov eax, dword [0x1401f6528]
mov edx, dword [0x1401f652c]
xor edx, 0x219afdf3
mov ecx, 0x9bb653df
xor ecx, 0x6449ac20
mov r8d, eax
xor r8d, ecx
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x21877e5
xor edx, 0xfde7881a
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xce087945
mov r8d, 0xffffffff
xor r8d, 0xce087945
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xce087945
mov edx, 0x7d1fed1
xor edx, 0xf82e012e
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xa10dbacc
mov ecx, 0xad7f8e22
xor ecx, 0x105f0684
add eax, ecx
cmp eax, 0x206f6896
jae 0x140070886
mov eax, dword [0x1401f6530]
xor eax, dword [0x1401f6534]
mov ecx, 0x1dbda80b
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x2b084c23
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x2b084c23
add eax, edx
sub eax, ecx
sub eax, 0x6eb3a4f
cmp eax, 0x8f2c0cd1
jae 0x14007073a
jmp 0x140070853
mov eax, dword [0x1401f6538]
xor eax, 0x8021bd14
mov ecx, dword [0x1401f653c]
sub eax, 0x5129c1f5
sub eax, ecx
add eax, 0x5129c1f5
mov ecx, 0xf5b254a3
xor ecx, 0xa1d26ee4
sub eax, ecx
or eax, 0xc117f4ae
mov edx, 0x27474242
xor edx, 0xd8b8bdbd
mov ecx, eax
xor ecx, edx
mov edx, 0x43094e34
xor edx, 0xe97dae19
and edx, ecx
mov r8d, 0xfe330e74
xor r8d, 0x5447ee59
mov ecx, 0xf10281c1
xor ecx, 0xefd7e3e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xaa74e02d
or eax, 0xaa74e02d
imul eax, edx
add eax, ecx
mov ecx, 0xebd184e5
xor ecx, 0xf53ea23f
cmp eax, ecx
je 0x14007088f
mov eax, dword [str.I0Nh]
xor eax, 0x4cacee91
or eax, dword [0x1401f6544]
add eax, 0x3a8c95c6
imul eax, eax, 0x3bec2740
or eax, 0xeb98e72a
mov ecx, 0x43faa415
xor ecx, 0xfe78db2e
cmp eax, ecx
je 0x14007088f
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x40], rax
jmp 0x1400704ef
lea rsp, [rbp + 0x50]
pop rbp
ret
invalid
push rdx
fucom st(4)
mov ebp, ecx
outsb dx, byte [rsi]
idiv bh
jmp [rsi - 0x16ee59da]
scasb al, byte [rdi]
cmpsb byte es:[rsi], byte [rdi]
adc ecx, ebp
fdiv st(7)
invalid
out dx, al
lea edi, [rdi + 0x47]
jmp 0x140070192
push rax
invalid
sal edi, cl
xchg al, bh
jmp 0x14007073a
xchg ebp, eax
and eax, 0x7ae93397
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.140067645
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14006fc80