Function at 0x1400f7ef0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x198
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], r8
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400f8c10
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x50], rcx
mov qword [rdx], 0
mov r8, rdx
add r8, 8
mov qword [rbp + 0x58], r8
mov qword [rdx + 8], 0
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x60], rdx
mov qword [rax + 8], 0
movabs rax, 0x2c83cb38259fd322
movabs rdx, 0x2c83cb38259fd322
xor rax, rdx
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0xe8]
add rax, 8
mov qword [rbp + 0x68], rax
mov qword [rbp + 0xf0], 0
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x77], al
jne 0x1400f87ad
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400605c0
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rax, rcx
je 0x1400f8668
mov ecx, dword [0x1402519a0]
mov edx, dword [0x1402519a4]
xor edx, 0xbda4d7a1
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0x72317a0f
xor ecx, 0x72317a0f
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4cbb80e7
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x8d640ee6
xor edx, 0xc1df8e01
mov r8d, 0x51864730
xor r8d, 0xae79b8cf
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x14005009
xor edx, 0xebffaff6
xor ecx, edx
or eax, ecx
mov edx, 0x194c2e1b
xor edx, 0xe6b3d1e4
mov ecx, eax
xor ecx, edx
mov edx, 0x59ed91db
xor edx, 0xc1ca7a1f
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x9827ebc4
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x455328e2
xor r8d, 0xdd74c326
mov edx, eax
and edx, r8d
or eax, 0x9827ebc4
imul eax, edx
add eax, ecx
mov ecx, 0x4e211715
xor edx, edx
div ecx
cmp eax, 0xe485eeb7
jae 0x1400f8bd2
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1402519a8]
or eax, dword [0x1402519ac]
mov r8d, 0x3ea7f0f1
xor edx, edx
div r8d
mov r8d, 0xe54f3fa2
xor r8d, 0xaf003708
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0x4a4f08aa
sub eax, edx
mov r8d, 0x843fce5
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xe8]
mov qword [rbp - 0x30], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x21], cl
cmp eax, 0xcfbb2ca9
je 0x1400f8154
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x21]
test cl, 1
mov qword [rbp - 0x38], rax
jne 0x1400f81ce
jmp 0x1400f864f
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
add rax, 8
shl r8, 5
add rax, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140018a3d
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
cmp rcx, rax
mov qword [rbp - 0x38], rax
jge 0x1400f864f
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
add rax, 8
shl r8, 5
add rax, r8
add rax, 0x10
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140018a3d
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0xd8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xe0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14003f420
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x40], rcx
mov cl, byte [rax]
mov dl, 0x36
xor dl, 0x36
mov al, 1
cmp cl, dl
mov byte [rbp + 0x77], al
jne 0x1400f87ad
mov rax, qword [rbp - 0x40]
cmp rax, 0
jne 0x1400f8639
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp - 0x38], rax
jge 0x1400f864f
mov eax, dword [0x1402519b0]
and eax, dword [0x1402519b4]
mov ecx, 0xffffffff
xor ecx, 0x81a0ef0
add eax, ecx
add eax, 1
imul eax, eax, 0xfbe71166
mov ecx, 0xffffffff
xor ecx, 0x13fdfd3c
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x1b012967
jbe 0x1400f8bdb
mov rcx, qword [rbp + 8]
mov edx, dword [0x1402519b8]
mov r8d, dword [0x1402519bc]
or edx, edx
mov eax, 0x4fec4c89
xor eax, 0xb013b376
xor edx, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or edx, eax
xor edx, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
and eax, 0xd848088c
mov r8d, 0x63f819c2
xor r8d, 0xbbb0114e
mov r9d, 0x307822e5
xor r9d, 0xcf87dd1a
xor r8d, r9d
and edx, r8d
or eax, edx
mov r8d, 0xa45f592d
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov r8d, eax
mov rax, qword [rbp - 8]
add r8d, 0x123f7b61
mov dword [rbp - 0x48], r8d
mov rcx, qword [rcx + 8]
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rax]
mov qword [rbp + 0xb8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.140018a3d
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.140060880
mov rcx, qword [rbp + 0x50]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x4dd5369a
ja 0x1400f8bdb
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400f8444
jmp 0x1400f8a1b
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x1400f8587
mov rcx, qword [rbp - 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400f8587
mov ecx, dword [0x1402519c0]
mov edx, dword [0x1402519c4]
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
sub ecx, 0xd30b7d45
mov eax, 0xbc7017ef
xor eax, 0x962831d2
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x2a348a32
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x921388b1
xor ecx, 0x44466474
cmp eax, ecx
ja 0x1400f8be4
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1402519c8]
mov edx, 0x5267adc7
xor edx, 0x524b6b07
xor eax, edx
sub eax, dword [0x1402519cc]
mov edx, eax
and edx, 0x92e5247c
mov r8d, 0x39992e0d
xor r8d, 0x39992e0f
imul edx, r8d
xor eax, 0x92e5247c
add eax, edx
mov edx, 0xbfb00c42
xor edx, 0x4dfba2e9
xor eax, edx
mov r9d, 0x9c2bb77f
xor r9d, 0x10a8b0aa
mov edx, 0xce9a2a4a
xor edx, 0x3165d5b5
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x3007b0cc
xor r9d, 0xbc84b719
mov r8d, eax
and r8d, r9d
or eax, 0x8c8307d5
imul eax, r8d
add eax, edx
mov dword [rbp - 0x54], eax
mov eax, 0x920b68fb
xor eax, 0x1e65f52f
mov dword [rbp - 0x58], eax
sub rsp, 0x20
call fcn.14000eec9
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, ecx
ja 0x1400f8be4
jmp 0x1400f8587
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x1400f8a1b
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rcx, 0xa77dd8bd85f15732
movabs rdx, 0x588227427a0ea8cd
xor rcx, rdx
xor rax, rcx
movabs rdx, 0x4f635076af1ebaf6
movabs rcx, 0xf635076af1ebaf6
xor rdx, rcx
movabs rcx, 0xe27f8a0d14dbf3f5
movabs r8, 0x1d8075f2eb240c0a
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x9ac36fcddfddff58
xor rcx, r8
or rax, rdx
movabs rdx, 0x9ac36fcddfddff58
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x1400f8a1b
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
jmp 0x1400f8a1b
mov rax, qword [rbp - 0x20]
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rbp - 0x10], rax
jmp 0x1400f8071
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
mov eax, dword [0x1402519d0]
xor eax, dword [0x1402519d4]
mov r8d, 0xffffffff
xor r8d, 0xae872a28
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xefc58a02
xor r8d, 0x4142a02a
mov edx, eax
and edx, r8d
or eax, 0xae872a28
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x44c11861
mov r8d, 0xffffffff
xor r8d, 0x44c11861
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x44c11861
mov r8d, 0x7c1d1197
xor r8d, 0x38dc09f6
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x1565521b
xor edx, edx
div ecx
cmp eax, 0x444335bc
je 0x1400f8bed
mov rcx, qword [rbp + 0x50]
mov esi, dword [0x1402519d8]
xor esi, 0x1cee7fc
mov r11d, dword [0x1402519dc]
mov eax, 0x3c042847
xor eax, 0x6aa4c050
xor r11d, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x84373158
mov r10d, 0x1cc8fa26
xor r10d, 0x98ffcb7e
mov eax, edx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0x84373158
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x84373158
and edx, r8d
or eax, edx
imul eax, eax, 0x1ea0d06d
xor edx, edx
sub edx, 0x11e63c76
sub eax, edx
mov r8d, 0x114d14a7
xor edx, edx
div r8d
mov cl, byte [rcx]
mov byte [rbp - 0x61], cl
cmp eax, 0x7dc8a88
je 0x1400f86fe
mov al, byte [rbp - 0x61]
mov byte [rbp + 0x77], al
jmp 0x1400f87ad
mov rax, qword [rbp + 0x50]
mov cl, byte [rbp + 0x77]
mov byte [rbp - 0x63], cl
cmp cl, 0
sete cl
mov byte [rbp - 0x62], cl
mov cl, 0x91
xor cl, 0x91
mov byte [rax], cl
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.140060880
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x30
xor cl, 0x30
cmp al, cl
jne 0x1400f8a1b
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1400f88ea
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0x1b345e4f76c937d1
movabs rdx, 0xe4cba1b08936c82e
xor rcx, rdx
xor rax, rcx
movabs rdx, 0x1ce8f4a223775880
movabs rcx, 0x5ce8f4a223775880
xor rdx, rcx
movabs rcx, 0x57bdc287bd518967
movabs r8, 0xa8423d7842ae7698
xor rcx, r8
xor rdx, rcx
movabs rcx, 0xdfa4804f9daee912
movabs r8, 0xc3edbc6b1c6dcb08
xor rcx, r8
movabs r8, 0x5517f74447d6076d
movabs r9, 0xaae808bbb829f892
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0x1c493c2481c3221a
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xbe7dbc90407c4a4e
movabs rdx, 0xbe7dbc90407c4a4e
xor rcx, rdx
cmp rax, rcx
jne 0x1400f88ea
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400f8a07
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x50bba70cf8ca908b
movabs r8, 0x10bba70cf8ca908b
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1400f8a07
mov ecx, dword [0x1402519e0]
mov edx, dword [0x1402519e4]
mov r8d, 0xf6be7d5f
xor r8d, 0x94182a0
mov eax, ecx
xor eax, r8d
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe9ae461a
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x5df63752
xor ecx, 0xffffffff
mov edx, 0xc18c1c8c
xor edx, 0x9c7a2bde
or eax, edx
and eax, ecx
mov ecx, 0xea5e56d0
xor ecx, 0x157d36c6
and eax, ecx
cmp eax, 0xdaac112d
jae 0x1400f8bf6
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x1402519e8]
xor eax, 0x1c007795
sub eax, dword [0x1402519ec]
xor eax, 0x63e5d0fe
add eax, 0x8796a65f
xor edx, edx
sub edx, 0x81dc76d8
sub eax, edx
mov dword [rbp - 0x7c], eax
mov eax, 0xe50b3138
xor eax, 0x5c63d8c8
mov dword [rbp - 0x80], eax
sub rsp, 0x20
call fcn.14000eec9
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, ecx
je 0x1400f89ae
jmp 0x1400f8a07
mov al, byte [rbp - 0x62]
mov rcx, qword [rbp + 0x50]
mov dl, byte [rbp - 0x63]
mov byte [rcx], dl
test al, 1
jne 0x1400f8b15
mov eax, dword [0x1402519f0]
add eax, dword [0x1402519f4]
mov ecx, 0x9f81ade0
xor edx, edx
div ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x52872e98
mov edx, 0xffffffff
xor edx, 0x4c8c20f3
or eax, ecx
mov ecx, 0x991d33ac
xor ecx, 0xd591135f
or ecx, edx
mov edx, 0x9c1d6538
xor edx, 0x63e29ac7
xor eax, edx
and eax, ecx
or eax, 0xdab93b11
cmp eax, 0x71912bee
jb 0x1400f8bff
mov eax, dword [0x1402519f8]
mov r8d, dword [0x1402519fc]
xor r8d, 0x2b331ebb
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xbd25ea59
xor edx, 0x7387b6dd
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xcea25c84
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xcea25c84
or eax, 0xcea25c84
imul eax, edx
add eax, ecx
mov ecx, 0xab646907
xor ecx, 0x1f1b7f1d
and eax, ecx
imul eax, eax, 0xc4f22e6c
mov ecx, 0x375f1bfa
xor ecx, 0x657c35a5
cmp eax, ecx
jb 0x1400f8bff
jmp 0x1400f8bc8
mov rax, qword [rbp + 0x50]
cmp byte [rax], 0
jne 0x1400f8bc8
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp]
mov rdx, qword [rax]
mov qword [rbp + 0x88], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14001ba7e
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xf8], r8
mov qword [rbp + 0x100], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x78], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rdx, [rbp + 0x78]
sub rsp, 0x20
call fcn.14001ba7e
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rdx
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14001d5b0
add rsp, 0x20
lea rsp, [rbp + 0x118]
pop rsi
pop rbp
ret
ret 0x8d5e
invalid
mov dword [rdi], esp
int1
jmp 0x1400f84c2
and ebp, dword [0x148f8c57d]
sti
invalid
popfq
push rsi
or byte [rcx + rbp*8 - 0x251], al
stosd dword [rdi], eax
add al, 0xe3
loope 0x1400f8bed
outsd dx, dword [rsi]
invalid