Function at 0x1400a7de0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x68], rcx
mov ecx, dword [0x140254f38]
mov edx, dword [0x140254f3c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xc9781d1a
xor ecx, 0xa5d604db
xor eax, ecx
mov ecx, 0x8244dcc3
xor ecx, 0x5d1bce87
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xed22b05
mov r8d, 0xffffffff
xor r8d, 0xed22b05
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x53d686cc
xor r8d, 0x5d04adc9
mov edx, eax
and edx, r8d
or eax, 0xed22b05
imul eax, edx
add eax, ecx
cmp eax, 0x47456e51
ja 0x1400a8a2a
mov ecx, dword [0x140254f40]
mov eax, dword [0x140254f44]
add ecx, eax
mov eax, ecx
xor eax, 0xdc300102
and eax, ecx
mov ecx, eax
or ecx, 0x21c82405
not eax
and eax, 0x4002090a
and ecx, 0xbdf82435
or eax, ecx
mov dword [rbp + 0x4c], eax
mov eax, 0x30
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400a8a72
add rsp, 0x20
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.1400a8a72
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x4c]
add rdx, 0x50
mov qword [rbp + 0x50], rdx
mov rdx, rcx
add rdx, 0x2b61
mov qword [rbp + 0x58], rdx
mov cl, byte [rcx + 0x2b61]
mov dl, 0x3f
xor dl, 0x3f
cmp cl, dl
sete cl
mov byte [rbp + 0x67], cl
cmp eax, 0x87a506b5
jae 0x1400a7e6b
mov al, byte [rbp + 0x67]
test al, 1
jne 0x1400a7f47
jmp 0x1400a807d
sub rsp, 0x20
call fcn.1400a8a72
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x10], rax
cmp rax, 0x30
je 0x1400a7fa3
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov dl, 0x35
xor dl, 0x35
mov byte [rcx + rax], dl
movabs rcx, 0x7724a5a92c333696
sub rax, rcx
add rax, 1
movabs rcx, 0x7724a5a92c333696
add rax, rcx
mov qword [rbp + 0x18], rax
jmp 0x1400a7f5a
mov rdx, qword [rbp + 0x20]
mov ecx, 4
sub rsp, 0x20
call fcn.1400a5060
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a8078
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x40]
add rcx, 0x2b30
sub rsp, 0x20
call fcn.1400a4f79
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a8078
mov eax, dword [0x140254f48]
xor eax, dword [0x140254f4c]
or eax, 0x16d0d95c
sub eax, 0xa0e77db5
sub eax, 0xf6b7c915
mov ecx, 0x771e149c
xor ecx, 0xd7f96929
add eax, ecx
and eax, 0x37be789c
cmp eax, 0x3ed82325
je 0x1400a8a33
mov rcx, qword [rbp + 0x58]
mov edx, dword [0x140254f50]
or edx, dword [0x140254f54]
mov eax, 0xffffffff
xor eax, 0xc1e3caf1
add edx, eax
add edx, 1
or edx, 0xb41a321b
mov eax, edx
and eax, 0xea111d11
mov r8d, 0x4a88756c
xor r8d, 0xa099687d
xor edx, r8d
or eax, edx
mov byte [rcx], 1
cmp eax, 0x93cbaccc
jb 0x1400a8027
jmp 0x1400a80d6
jmp 0x1400a8a20
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x40]
add rcx, 0x2b30
mov qword [rbp + 8], rcx
cmp byte [rax], 0
jne 0x1400a8a20
mov rax, qword [rbp + 0x40]
cmp qword [rax + 0x2b50], 0x80
jle 0x1400a80d6
mov rcx, qword [rbp + 8]
mov edx, 0x40
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a5510
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a8a20
mov r8d, dword [0x140254f58]
mov edx, dword [0x140254f5c]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xfbb4bdec
mov r9d, 0xab4e7039
xor r9d, 0x50facdd5
mov ecx, 0x38306b40
xor ecx, 0xc7cf94bf
xor r9d, ecx
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xfbb4bdec
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0x58e40888
sub eax, 0xd74c3a76
mov ecx, 0x9f158abe
xor edx, edx
div ecx
cmp eax, 0x78af69a2
ja 0x1400a8a3c
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x68]
mov r8d, dword [0x140254f60]
mov r9d, dword [0x140254f64]
add r8d, 0x877f7ed8
add r8d, r9d
sub r8d, 0x877f7ed8
mov r9d, r8d
and r9d, 0x86dd889d
shl r9d, 1
add r8d, 0x86dd889d
sub r8d, r9d
xor r8d, 0x1122b719
mov r11d, 0xffffffff
xor r11d, 0x47d5386d
mov r10d, r8d
and r10d, r11d
mov r9d, r8d
or r9d, r11d
mov r11d, 0x87be8b0a
xor r11d, 0x784174f5
xor r9d, r11d
imul r9d, r10d
mov r10d, r8d
and r10d, 0x47d5386d
or r8d, 0x47d5386d
imul r8d, r10d
add r8d, r9d
mov dword [rbp], r8d
mov r8d, 0x5d78717
xor r8d, 0xdd9e75ef
mov dword [rbp - 4], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
add rcx, 0x2b30
mov qword [rbp - 0x10], rcx
sub rsp, 0x20
call fcn.1400a6c7e
mov rdx, qword [rbp + 0x50]
mov ecx, dword [rbp - 4]
mov eax, dword [rbp]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xdb
xor r8b, 0xdb
cmp dl, r8b
sete dl
mov byte [rbp + 7], dl
cmp eax, ecx
ja 0x1400a8a3c
mov al, byte [rbp + 7]
test al, 1
jne 0x1400a823d
jmp 0x1400a8a20
mov eax, dword [0x140254f68]
xor eax, 0xbc5662a4
mov ecx, dword [0x140254f6c]
xor ecx, 0x58068bc3
xor edx, edx
div ecx
mov r8d, eax
mov ecx, 0x85ca9659
xor ecx, 0x7a3569a6
mov eax, r8d
xor eax, ecx
and eax, 0x94d16ec9
mov edx, 0xee259c49
xor edx, 0x7af4f280
mov ecx, 0x4b1d132b
xor ecx, 0xb4e2ecd4
xor edx, ecx
and r8d, edx
mov ecx, 0xb9616a98
xor ecx, 0x6fdb1413
mov r9d, 0x171dbc6a
xor r9d, 0xe8e24395
xor ecx, r9d
and ecx, 0x94d16ec9
and edx, 0xd6ba7e8b
or eax, r8d
or ecx, edx
xor eax, ecx
xor ecx, ecx
sub ecx, 0x6c9dea37
sub eax, ecx
sub eax, 0x48387ed3
mov ecx, 0x2363da45
xor ecx, 0x382b843b
cmp eax, ecx
jbe 0x1400a8a45
mov eax, dword [0x140254f70]
mov r8d, dword [0x140254f74]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xc6e8d6f5
or eax, 0x31f29a2b
mov ecx, 0xffffffff
xor ecx, 0x969c9f07
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov dword [rbp - 0x24], eax
mov eax, 0x8992d769
xor eax, 0x26b2e15a
mov dword [rbp - 0x28], eax
sub rsp, 0x20
call fcn.1400a8a72
mov r8, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x28]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov r8, qword [r8 + 0x2b50]
mov qword [rbp - 0x20], r8
cmp byte [rdx + 0x50], 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jb 0x1400a8a45
mov cl, byte [rbp - 0x11]
xor eax, eax
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x1400a8388
jmp 0x1400a8910
mov r8, qword [rbp - 0x20]
xor eax, eax
mov ecx, eax
sub rcx, 0xffffffffffffffff
mov rax, r8
sub rax, rcx
mov qword [rbp - 0x38], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs r9, 0xdadf3a8e53ef836a
movabs rdx, 0x2520c571ac107c95
xor r9, rdx
mov rdx, rax
xor rdx, r9
and rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r10, 0x8371a25c37399638
movabs r9, 0x7c8e5da3c8c669c7
xor r10, r9
mov r9, r8
xor r9, r10
and rdx, r9
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, rax
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xb1d1ccd43bdb2011
movabs r8, 0xb1d1ccd43bdb2011
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400a843b
jmp 0x1400a8453
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x1400a8910
mov eax, dword [0x140254f78]
xor eax, 0xe1313138
xor eax, dword [0x140254f7c]
mov ecx, 0xc9609e0f
xor edx, edx
div ecx
xor eax, 0x7e028f8a
and eax, 0x81349314
mov ecx, 0x499c298b
xor ecx, 0xac1d8e84
cmp eax, ecx
jae 0x1400a8a4e
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140254f80]
xor eax, 0x260811b4
and eax, dword [0x140254f84]
mov edx, 0x650bf122
xor edx, 0x6a05846c
sub eax, edx
sub eax, 0xb5487490
add eax, 0xf0e754e
or eax, 0x8ae59851
mov r8d, 0xa8bcd5ab
xor edx, edx
div r8d
movabs rdx, 0x8000000000000000
cmp rcx, rdx
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xcc793e68
je 0x1400a8a4e
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400a84f4
jmp 0x1400a85ef
mov eax, dword [0x140254f88]
or eax, dword [0x140254f8c]
add eax, 0x840c1833
mov ecx, 0x6d72f877
xor ecx, 0x85dfce5e
add eax, ecx
sub eax, 0x840c1833
and eax, 0x823890fa
mov ecx, 0xbf5b71e1
xor edx, edx
div ecx
cmp eax, 0x16f5d5f5
jae 0x1400a8a57
mov eax, dword [0x140254f90]
xor eax, 0x6a98ac01
imul eax, dword [0x140254f94]
xor eax, 0xe326e9e5
or eax, 0x320e4b48
mov ecx, 0x24323ae9
xor ecx, 0x12bfe6f0
xor edx, edx
div ecx
mov dword [rbp - 0x40], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140269698]
mov qword [rcx], rax
lea rax, [0x140267871]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402678a0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402678a8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140267871]
lea r8, [0x14026787d]
lea r9, [0x140267880]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x1dfca028
call fcn.1400127b0
mov eax, dword [rbp - 0x40]
add rsp, 0x30
cmp eax, 0x9f0271df
je 0x1400a8a57
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x1400a8910
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x1400a8680
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140269698]
mov qword [rcx], rax
lea rax, [0x140267871]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402678a0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402678a8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140267871]
lea r8, [0x14026787d]
lea r9, [0x140267880]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x5ab85cc5
call fcn.1400127b0
add rsp, 0x30
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x1400a8910
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0x2b40]
mov rdx, rcx
add rdx, r8
mov qword [rbp - 0x48], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rax, r9
xor rax, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
or rax, r9
movabs r10, 0xb6e2586a87d7319a
movabs r9, 0x491da7957828ce65
xor r10, r9
mov r9, rcx
xor r9, r10
movabs r10, 0xb5da9e21f8291219
movabs r11, 0x4a2561de07d6ede6
xor r10, r11
xor rcx, r10
or r9, rcx
movabs r10, 0x52e9e584068d4c29
movabs rcx, 0xad161a7bf972b3d6
xor r10, rcx
mov rcx, rdx
xor rcx, r10
xor r9, 0xffffffffffffffff
or rcx, r9
and rax, rcx
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
movabs r10, 0x18bf1d94e9625671
movabs r9, 0xe740e26b169da98e
xor r10, r9
mov r9, r8
xor r9, r10
movabs r11, 0xbb315fb240078f1e
movabs r10, 0x44cea04dbff870e1
xor r11, r10
mov r10, r8
xor r10, r11
and r9, r10
or rcx, r9
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r9, 0x3d1d0f05a26e3d0f
movabs r10, 0xc2e2f0fa5d91c2f0
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400a87bf
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x1400a8910
mov r8d, dword [0x140254f98]
mov eax, dword [0x140254f9c]
xor eax, 0xa4ee46ce
sub r8d, eax
mov eax, r8d
and eax, 0xd70fa077
shl eax, 1
xor r8d, 0xd70fa077
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf05bab0e
mov edx, 0xffffffff
xor edx, 0xf05bab0e
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xa2bd9a4e
and ecx, 0xf05bab0e
and edx, 0xa2bd9a4e
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0xe72f23e1
mov ecx, 0xbfa136ba
xor ecx, 0x9b9d42de
cmp eax, ecx
jbe 0x1400a8a60
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x40]
mov r9d, dword [0x140254fa0]
mov eax, dword [0x140254fa4]
sub r9d, eax
mov r10d, r9d
and r10d, 0xcdb7c53
add r10d, r10d
mov eax, r9d
neg r10d
mov r9d, r10d
lea eax, [rax + r9 + 0x4cdb7c53]
or eax, 0xeedd7f6f
mov rdx, qword [rdx + 0x2b58]
not rdx
not rcx
or rdx, rcx
xor rdx, 0xffffffffffffffff
mov qword [rbp - 0x60], rdx
setns cl
mov r8, qword [r8]
mov qword [rbp - 0x58], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x49], cl
cmp eax, 0xec1258e5
je 0x1400a8838
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1400a88f2
jmp 0x1400a88bf
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x1400a8910
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0x2b38]
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x68], rax
mov eax, dword [0x140254fa8]
xor eax, 0x95770315
xor edx, edx
div dword [0x140254fac]
mov ecx, eax
mov edx, 0x40fccb2e
xor edx, 0xbf0334d1
mov eax, ecx
xor eax, edx
and eax, 0xbf8a938
mov edx, 0xffffffff
xor edx, 0xbf8a938
and ecx, edx
or eax, ecx
mov edx, 0x291ea7d5
xor edx, 0xcbfde35c
mov ecx, 0x35d771c2
xor ecx, 0xca288e3d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xe2e34489
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xe8d8f177
mov edx, 0xaa132250
xor edx, 0x55ecddaf
xor ecx, edx
or eax, 0xe8d8f177
and eax, ecx
cmp eax, 0xe8930f0a
jbe 0x1400a8a69
mov eax, dword [0x140254fb0]
mov edx, dword [0x140254fb4]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
sub eax, 0xf8a03dd6
or eax, 0x37cb5e13
mov ecx, 0x40c6a727
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x50]
mov ecx, 0x8952f367
xor ecx, 0x5e183c47
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
jae 0x1400a899f
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1400a89f9
jmp 0x1400a8a20
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400a8a80
add rsp, 0x20
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x70]
pop rbp
ret
invalid
xor byte [rcx], dh
pop rcx
sub eax, 0xfff5ebe9
call qword [rdx - 0x46]
pop rcx
jg 0x1400a8a2a
push rdx
mov edx, 0xfae97f59
cli
idiv bh
call qword [rdx - 0x16237a54]
invalid
xchg edx, eax
lodsb al, byte [rsi]
test esp, ebx
jmp 0x1400a82db
stosd dword [rdi], eax
rol dl, 0x57
jmp 0x1400a848a
sub dword [rdx - 0x2f16102f], ecx
cli
invalid
in eax, dx
push r13
insd dword [rdi], dx
jmp 0x1400a8838
pushfq
ljmp [rbp - 0xd217]