Function at 0x1400ec360
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov eax, dword [0x1402adff0]
or eax, dword [0x1402adff4]
add eax, 0x87b95441
mov ecx, 0x445f4b3e
xor ecx, 0x96145208
xor edx, edx
div ecx
mov ecx, 0x7fe2b624
xor edx, edx
div ecx
cmp eax, 0x2019a1ec
jae 0x1400ece48
mov eax, dword [0x1402adff8]
xor eax, 0x1a20f04
mov ecx, dword [0x1402adffc]
or eax, ecx
add eax, 0x2c626d94
or eax, 0xfedbffaf
mov dword [rbp + 0xec], eax
mov eax, 0xf275293f
mov dword [rbp + 0xe8], eax
mov eax, 0x10
mov qword [rbp + 0xb8], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0xa0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0xb0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb8]
mov rcx, rsp
mov qword [rbp + 0xc0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc8], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp + 0xe0], rax
add rax, 0x60
mov qword [rbp + 0xd8], rax
mov word [rcx], 0x28d
sub rsp, 0x20
call fcn.14008b2d0
mov rdx, qword [rbp + 0xe0]
mov ecx, dword [rbp + 0xe8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xec]
mov qword [rbp + 0xf0], r8
cmp byte [rdx + 0x60], 0
sete dl
mov byte [rbp + 0xff], dl
cmp eax, ecx
je 0x1400ec3a4
mov al, byte [rbp + 0xff]
test al, 1
jne 0x1400ec53e
jmp 0x1400ece3f
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov al, byte [rax]
mov cl, 0x9e
xor cl, 0x9e
cmp al, cl
jne 0x1400ece3f
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x88]
add rsp, 0x20
mov qword [0x1402d5290], rax
mov ax, 0x8e72
xor ax, 0x8c01
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x70], rcx
mov al, byte [rax]
mov cl, 0x48
xor cl, 0x48
cmp al, cl
jne 0x1400ece3f
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
cmp byte [rax], 0
jne 0x1400ece3f
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov qword [0x1402d5298], rax
mov ax, 0x5c74
xor ax, 0x5d1c
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0xd1
xor cl, 0xd1
cmp al, cl
jne 0x1400ece3f
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
mov qword [rbp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x50], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
cmp byte [rax], 0
jne 0x1400ece3f
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov qword [0x1402d52a0], rax
mov word [rcx], 0xdb
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x40], rcx
mov al, byte [rax]
xor ecx, ecx
xor cl, 0
cmp al, cl
jne 0x1400ece3f
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
mov qword [rbp + 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x38], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov al, byte [rax]
mov cl, 0xfd
xor cl, 0xfd
cmp al, cl
jne 0x1400ece3f
mov eax, dword [0x1402ae000]
add eax, dword [0x1402ae004]
imul eax, eax, 0xf44d9f9c
sub eax, 0xb0d4e7bc
mov ecx, 0x86de8e0d
xor ecx, 0x72b74572
or eax, ecx
mov ecx, 0xd4398ed4
xor ecx, 0xd8ed513a
cmp eax, ecx
je 0x1400ece51
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov r8d, dword [0x1402ae008]
mov r9d, dword [0x1402ae00c]
mov eax, 0xc32e214a
xor eax, 0xbef7d569
xor r9d, eax
mov eax, r8d
and eax, r9d
xor r8d, r9d
or eax, r8d
mov r8d, 0xccd7b256
xor r8d, 0x90c85858
add eax, r8d
or eax, 0x43177082
mov r9d, 0xffffffff
xor r9d, 0x66268717
mov r8d, eax
and r8d, r9d
mov r10d, 0xa0b4ba81
xor r10d, 0xc6923d96
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, r8d
mov dword [rbp + 0x1c], eax
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov qword [0x1402d52a8], rax
mov ax, 0x25f2
xor ax, 0x2631
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x1c]
mov qword [rbp + 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x78ed0b90
ja 0x1400ec7d3
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x1400ec8cf
jmp 0x1400ece3f
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rbp + 8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x10], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
cmp byte [rax], 0
jne 0x1400ece3f
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov qword [0x1402d52b0], rax
mov word [rcx], 0x97
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x1400ece3f
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
cmp byte [rax], 0
jne 0x1400ece3f
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xb0]
add rsp, 0x20
mov qword [0x1402d52b8], rax
mov ax, 0x703
xor ax, 0x4d3
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x1400ece3f
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp - 0x28], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x20], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov al, byte [rax]
mov cl, 5
xor cl, 5
cmp al, cl
jne 0x1400ece3f
mov eax, dword [0x1402ae010]
xor edx, edx
div dword [0x1402ae014]
add eax, 0x39c34d61
imul eax, eax, 0x1e9bc447
imul eax, eax, 0x5de01d44
cmp eax, 0x2915bdf2
jbe 0x1400ece5a
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1402ae018]
xor eax, 0xf2884e61
mov edx, dword [0x1402ae01c]
xor edx, 0x5df98b2e
and eax, edx
mov edx, 0x68e998d3
xor edx, 0xa6b36ede
add eax, edx
add eax, 0xdce1161a
mov r8d, 0x8d82f303
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov dword [rbp - 0x3c], eax
mov eax, 0x6a53fbff
xor eax, 0x9ba8f15
mov dword [rbp - 0x40], eax
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [0x1402d52c0], rax
mov ax, 0xecd9
xor ax, 0xed26
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
mov rdx, qword [rbp + 0xd8]
mov ecx, dword [rbp - 0x40]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x29], dl
cmp eax, ecx
ja 0x1400ece5a
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400ecb61
jmp 0x1400ece3f
mov ecx, dword [0x1402ae020]
mov eax, dword [0x1402ae024]
xor eax, 0xa9319504
and ecx, eax
add ecx, 0xc5318dc4
add ecx, 0xc3d1a040
sub ecx, 0xc5318dc4
mov edx, 0xffffffff
xor edx, 0x29ee73dd
mov eax, ecx
and eax, edx
mov r8d, 0x6a6ef64d
xor r8d, 0x43808590
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0xef787c92
xor eax, 0xffffffff
and ecx, 0xef787c92
xor ecx, 0xffffffff
mov edx, 0x4b25efbc
xor edx, 0xb4da1043
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x423a271a
jae 0x1400ece63
mov edx, dword [0x1402ae028]
mov eax, dword [0x1402ae02c]
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0x31a1ca8e
xor eax, 0x31a1ca8c
imul eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x5701bcba
xor ecx, 0xffffffff
mov edx, 0xc3b15ea5
xor edx, 0x94b0e21f
add eax, edx
add eax, 1
add eax, ecx
xor ecx, ecx
sub ecx, 0x10289c3a
add eax, ecx
mov ecx, 0x134651e9
xor ecx, 0x2c5635a9
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x38]
mov dword [rbp - 0x48], ecx
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x50], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov eax, dword [rbp - 0x48]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x84aa55f4
je 0x1400ece63
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400ecc91
jmp 0x1400ece3f
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
movabs r8, 0xbf24b88042aabca1
movabs rax, 0xbf24b88042aabca1
xor r8, rax
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, r8
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [0x1402d52c8], rax
mov ax, 0xc009
xor ax, 0xc2c2
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x1400ece3f
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov qword [rbp - 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov al, byte [rax]
mov cl, 0xe3
xor cl, 0xe3
cmp al, cl
jne 0x1400ece3f
mov eax, dword [0x1402ae030]
mov ecx, dword [0x1402ae034]
xor ecx, 0xb0e872cf
xor edx, edx
div ecx
mov ecx, 0x16f51065
xor edx, edx
div ecx
mov ecx, 0xf21da20e
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xacdb54e1
sub eax, ecx
cmp eax, 0xea9d00fa
ja 0x1400ece6c
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov eax, dword [0x1402ae038]
mov r8d, dword [0x1402ae03c]
xor r8d, 0xdbb69c9b
imul eax, r8d
add eax, 0x8fb9db1f
add eax, 0xb6d06cc1
add eax, 0x5f4084b6
sub eax, 0xb6d06cc1
add eax, 0xbfd56c09
mov r8d, 0x88fa9014
xor r8d, 0x40998036
add eax, r8d
sub eax, 0xbfd56c09
mov dword [rbp - 0x74], eax
mov eax, 0x8dbf5df9
xor eax, 0x3ce35c5d
mov dword [rbp - 0x78], eax
add rdx, 8
lea rax, [0x1402c2cb0]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1402c5d18]
mov rax, qword [rax]
mov rcx, qword [0x1402d5280]
sub rsp, 0x20
call rax
mov ecx, dword [rbp - 0x78]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x74]
mov qword [0x1402d52d0], rdx
cmp eax, ecx
je 0x1400ece6c
jmp 0x1400ece3f
lea rsp, [rbp + 0x100]
pop rbp
ret
and ecx, dword [rdx - 0x13]
in eax, dx
jmp 0x1400ec3a4
push rcx
test dh, ch
sub ebp, ecx
jns 0x1400ece51
invalid
out 0xae, eax
mov edi, 0xfc27e932
invalid
popfq
cmp byte [rbx + 7], 0xe9
outsd dx, dword [rsi]
std
invalid
and byte [rbx], cl
fdivr qword [rbx]
jmp 0x1400ecd96