Function at 0x140097100
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xb0
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rcx
mov ecx, dword [0x1402abf28]
mov edx, dword [0x1402abf2c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xeeb4f2be
xor r8d, 0x114b0d41
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x5b03ea1b
xor ecx, 0xa4fc15e4
xor eax, ecx
mov ecx, 0x35eee56
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xec4b5b31
mov edx, 0xffffffff
xor edx, 0xec4b5b31
and r8d, edx
mov ecx, 0x2c260925
xor ecx, 0xf7184002
mov r9d, 0x37d8f304
xor r9d, 0xc8270cfb
xor ecx, r9d
and ecx, 0xec4b5b31
and edx, 0xdb3e4927
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xe9d31fa9
xor ecx, 0xac1733cb
xor edx, edx
div ecx
mov ecx, 0xf967bba5
xor ecx, 0x5e1bc123
cmp eax, ecx
ja 0x140097c4f
mov eax, dword [0x1402abf30]
mov ecx, dword [0x1402abf34]
xor eax, ecx
xor eax, 0x86a08a82
and eax, 0x86a2fbf3
add eax, 0xe24ed32e
and eax, 0x88d3738b
mov dword [rsp + 0x90], eax
mov rax, qword [0x1402c6150]
mov qword [rsp + 0x78], rax
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rax]
call fcn.14000eaf8
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x88]
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
add rax, 0x60
mov qword [rsp + 0x80], rax
call fcn.140051859
mov rcx, qword [rsp + 0x88]
mov dl, al
mov eax, dword [rsp + 0x90]
mov byte [rsp + 0x96], dl
mov cl, byte [rcx + 0x60]
mov dl, 7
xor dl, 7
cmp cl, dl
sete cl
mov byte [rsp + 0x97], cl
cmp eax, 0xb4de3101
ja 0x1400971d4
mov al, byte [rsp + 0x97]
test al, 1
jne 0x1400972a1
jmp 0x140097c3e
mov al, byte [rsp + 0x96]
add al, 0x39
movzx ecx, al
mov qword [rsp + 0x70], rcx
sub al, 0x11
ja case.0x1400972cd.3
mov rax, qword [rsp + 0x70]
lea rcx, [0x140097c90]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x6f], cl
mov al, byte [rax]
mov cl, 0xe7
xor cl, 0xe7
cmp al, cl
jne 0x140097c3e
mov rax, qword [rsp + 0xa0]
mov cl, byte [rsp + 0x6f]
mov byte [rax], cl
mov qword [rax + 8], 1
jmp 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x6e], cl
mov al, byte [rax]
mov cl, 0xbd
xor cl, 0xbd
cmp al, cl
jne 0x140097c3e
mov rax, qword [rsp + 0xa0]
mov cl, byte [rsp + 0x6e]
mov byte [rax], cl
movabs rcx, 0x3dc191e252b3c9ca
movabs rdx, 0x3dc191e252b3c9c8
xor rcx, rdx
mov qword [rax + 8], rcx
jmp 0x140097c3e
mov eax, dword [0x1402abf38]
xor eax, 0x2fc0720d
mov ecx, dword [0x1402abf3c]
add eax, 0x4855b898
add eax, ecx
sub eax, 0x4855b898
sub eax, 0xfb3bfbe2
xor ecx, ecx
sub ecx, 0x1f7600a6
sub eax, ecx
and eax, 0xd98c63c3
cmp eax, 0x10d1752f
jb 0x140097c58
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x1402abf40]
xor eax, 0xe26816a0
mov edx, dword [0x1402abf44]
sub eax, 0xa6a9916f
add eax, edx
mov edx, 0x53820a22
xor edx, 0xf52b9b4d
add eax, edx
mov r9d, 0xac9abffd
xor r9d, 0xe5a55187
mov edx, 0xc7863d15
xor edx, 0x3879c2ea
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x493fee7a
or eax, 0x493fee7a
imul eax, r8d
add eax, edx
mov r8d, 0x21928b9e
xor r8d, 0x2b752f15
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xd2b668b
mov r8d, 0x8766650f
xor r8d, 0xe057d6d8
mov eax, 0xf23163a7
xor eax, 0xdce9c58
xor r8d, eax
mov r10d, 0x403d4b96
xor r10d, 0x270cf841
mov eax, edx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0x6731b3d7
mov r11d, r8d
and r11d, 0xd2b668b
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x6731b3d7
and edx, r8d
or eax, edx
mov dword [rsp + 0x68], eax
mov eax, 0xc38261c4
xor eax, 0x8cf22f75
mov dword [rsp + 0x64], eax
call fcn.140051859
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x64]
mov r8b, al
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x6c], r8b
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x6d], dl
cmp eax, ecx
ja 0x140097c58
mov al, byte [rsp + 0x6d]
test al, 1
jne 0x1400974ec
jmp 0x140097c3e
mov eax, dword [0x1402abf48]
mov ecx, dword [0x1402abf4c]
xor ecx, 0x4fda9503
xor edx, edx
div ecx
mov ecx, 0xa4e13ed5
xor ecx, 0x5b1ec12a
mov edx, eax
xor edx, ecx
and edx, 0x59c21044
mov r8d, 0xffffffff
xor r8d, 0x59c21044
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x740d59dd
xor r8d, 0x2dcf4999
mov edx, eax
and edx, r8d
or eax, 0x59c21044
imul eax, edx
add eax, ecx
sub eax, 0x15c19d51
mov ecx, 0x7ab0b69a
xor ecx, 0xf233216b
xor edx, edx
div ecx
mov ecx, 0xdb72dbbd
xor ecx, 0xdc88dc87
cmp eax, ecx
ja 0x140097c61
mov rcx, qword [rsp + 0xa0]
mov dl, byte [rsp + 0x6c]
mov r8d, dword [0x1402abf50]
mov eax, dword [0x1402abf54]
mov r9d, 0x46621c6
xor r9d, 0xfa07ea00
xor eax, r9d
sub r8d, eax
mov r9d, 0x4159a530
xor r9d, 0xbea65acf
mov eax, r8d
xor eax, r9d
mov r9d, 0xdea8ee48
xor r9d, 0x9d7d09ab
mov r10d, 0x127b70ae
xor r10d, 0xed848f51
xor r9d, r10d
or eax, r9d
mov r9d, 0xfb8d1820
xor r9d, 0xb858ffc3
and r8d, r9d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
add eax, 0x738feb4f
mov r9d, 0x1364c53d
xor r9d, 0x2976dc4b
mov r8d, eax
xor r8d, r9d
mov r9d, 0xe00ce49d
xor r9d, 0xda1efdeb
mov r10d, 0x4546f8af
xor r10d, 0xbab90750
xor r9d, r10d
and eax, r9d
shl eax, 1
sub eax, r8d
mov byte [rcx], dl
mov qword [rcx + 8], 4
cmp eax, 0x5837a27a
ja 0x140097c61
jmp 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x63], cl
cmp byte [rax], 0
jne 0x140097c3e
mov rax, qword [rsp + 0xa0]
mov cl, byte [rsp + 0x63]
mov byte [rax], cl
mov qword [rax + 8], 8
jmp 0x140097c3e
mov eax, dword [0x1402abf58]
xor edx, edx
div dword [0x1402abf5c]
add eax, 0xe0d70f4d
mov ecx, 0xde2d7620
xor edx, edx
div ecx
xor eax, 0xecd4fe09
cmp eax, 0x64bc1c5f
je 0x140097c6a
mov rcx, qword [rsp + 0x98]
mov edx, dword [0x1402abf60]
mov r8d, dword [0x1402abf64]
mov eax, 0x6b33aff3
xor eax, 0x1ce4ec04
xor r8d, eax
mov eax, edx
xor eax, r8d
xor r8d, 0xffffffff
and edx, r8d
shl edx, 1
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc45b45c2
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc45b45c2
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0x3d203012
xor r8d, 0x1df358a8
or eax, r8d
add eax, edx
mov edx, 0xf8ba724d
xor edx, 0x7458db2
mov r8d, eax
xor r8d, edx
and r8d, 0x6973d2
mov r9d, 0xffffffff
xor r9d, 0x6973d2
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x2b9b03d1
xor r9d, 0x2bf27003
mov r8d, eax
and r8d, r9d
mov r9d, 0xa9cecb21
xor r9d, 0xa9a7b8f3
or eax, r9d
imul eax, r8d
add eax, edx
mov dword [rsp + 0x5c], eax
call fcn.140051859
mov rcx, qword [rsp + 0x80]
mov dl, al
mov eax, dword [rsp + 0x5c]
mov byte [rsp + 0x61], dl
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x62], cl
cmp eax, 0x962061eb
je 0x140097c6a
mov al, byte [rsp + 0x62]
test al, 1
jne 0x1400977c1
jmp 0x140097c3e
mov rax, qword [rsp + 0xa0]
mov cl, byte [rsp + 0x61]
mov byte [rax], cl
movabs rcx, 0xa3c626e72b1e969d
movabs rdx, 0xa3c626e72b1e968d
xor rcx, rdx
mov qword [rax + 8], rcx
jmp 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x5b], cl
cmp byte [rax], 0
jne 0x140097c3e
mov eax, dword [0x1402abf68]
mov edx, dword [0x1402abf6c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x660d2ed5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x660d2ed5
or eax, 0x660d2ed5
imul eax, edx
add eax, ecx
sub eax, 0xcdb24f7c
mov edx, 0xf7d9406e
xor edx, 0xf7d9406f
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x16c45c8f
add eax, ecx
cmp eax, 0x4adceea2
ja 0x140097c73
mov rcx, qword [rsp + 0x98]
mov edx, dword [0x1402abf70]
xor edx, 0x46c64dab
mov r8d, dword [0x1402abf74]
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0x70340447
xor r10d, 0x8fcbfbb8
mov r9d, edx
xor r9d, r10d
and eax, r9d
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
xor eax, 0xffffffff
mov r10d, 0x578b0349
xor r10d, 0xa874fcb6
xor r9d, r10d
and eax, r9d
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x89f672f5
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0xffffffff
xor r8d, 0x9fbd5fab
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0x596c359
xor edx, edx
div r8d
mov dword [rsp + 0x54], eax
call fcn.140051859
mov rcx, qword [rsp + 0x80]
mov dl, al
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x59], dl
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x5a], cl
cmp eax, 0x4cf45598
ja 0x140097c73
mov al, byte [rsp + 0x5a]
test al, 1
jne 0x140097952
jmp 0x140097c3e
mov ecx, dword [0x1402abf78]
mov edx, dword [0x1402abf7c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x9534252b
xor edx, edx
div ecx
imul eax, eax, 0xbf635c6a
mov ecx, 0xec6acc30
xor edx, edx
div ecx
cmp eax, 0xa86fe691
jae 0x140097c7c
mov rcx, qword [rsp + 0xa0]
mov r8b, byte [rsp + 0x59]
mov dl, byte [rsp + 0x5b]
mov eax, dword [0x1402abf80]
add eax, dword [0x1402abf84]
xor r9d, r9d
sub r9d, 0x2b024ce9
add eax, r9d
mov r9d, 0x7ffaa58
xor r9d, 0xecb70ac2
add eax, r9d
mov r9d, 0xb3226fe
xor r9d, 0x6370b142
imul eax, r9d
movzx edx, dl
mov byte [rcx], r8b
mov qword [rcx + 8], rdx
cmp eax, 0x593723cf
je 0x140097989
jmp 0x140097c3e
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x48], rax
call fcn.140050a66
mov rdx, qword [rsp + 0x48]
mov cx, ax
mov rax, qword [rsp + 0x80]
mov dl, byte [rdx + 0x60]
mov r8b, 0xd4
xor r8b, 0xd4
cmp dl, r8b
sete dl
mov byte [rsp + 0x51], dl
rol cx, 8
mov word [rsp + 0x52], cx
cmp byte [rax], 0
jne 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x47], cl
mov al, byte [rax]
mov cl, 5
xor cl, 5
cmp al, cl
jne 0x140097c3e
mov eax, dword [0x1402abf88]
mov edx, dword [0x1402abf8c]
mov r8d, 0xc0b074c6
xor r8d, 0x3f4f8b39
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0x1cc9fcda
mov edx, 0xffffffff
xor edx, 0x1cc9fcda
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x91c875f3
add eax, ecx
mov ecx, 0x8cc7b29f
xor ecx, 0xec555c2b
or eax, ecx
mov ecx, 0xa1f42342
xor ecx, 0x50d9beab
cmp eax, ecx
je 0x140097c85
mov rcx, qword [rsp + 0xa0]
mov r8b, byte [rsp + 0x47]
mov r10b, byte [rsp + 0x51]
mov eax, dword [0x1402abf90]
mov r9d, dword [0x1402abf94]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r9d
add eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xddbb27ed
mov r9d, 0xffffffff
xor r9d, 0xddbb27ed
or edx, r9d
and eax, edx
mov edx, 0x31a73347
xor edx, 0xce58ccb8
xor eax, edx
mov r9d, 0x66999635
xor edx, edx
div r9d
mov dx, word [rsp + 0x52]
mov r9d, 0xdc239f2a
xor r9d, 0x6eac2a7f
and eax, r9d
movzx edx, dx
mov r9d, edx
xor edx, edx
test r10b, 1
cmovne rdx, r9
mov byte [rcx], r8b
mov qword [rcx + 8], rdx
cmp eax, 0xfe8a9843
jae 0x140097ade
jmp 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.1400964aa
mov ecx, eax
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x40], ecx
mov al, byte [rax]
mov cl, 0xe9
xor cl, 0xe9
cmp al, cl
jne 0x140097c3e
mov rcx, qword [rsp + 0x98]
call fcn.140051859
mov cl, al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x3f], cl
mov al, byte [rax]
mov cl, 0x9d
xor cl, 0x9d
cmp al, cl
jne 0x140097c3e
mov rax, qword [rsp + 0xa0]
mov dl, byte [rsp + 0x3f]
mov ecx, dword [rsp + 0x40]
mov ecx, ecx
mov byte [rax], dl
mov qword [rax + 8], rcx
jmp 0x140097c3e
lea rcx, [0x1402c2598]
call fcn.140096d14
mov rcx, rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rcx
cmp byte [rax], 0
jne 0x140097c3e
mov rcx, qword [rsp + 0x30]
lea rdx, [0x1402c24e5]
lea r8, [0x1402c2507]
lea r9, [0x1402c24d5]
mov qword [rsp + 0x20], 0xffffffffcda63617
call fcn.140025a43
mov rax, qword [rsp + 0xa8]
add rsp, 0xb0
add byte [rax], al
pop rsi
ret
push rcx
test dh, ch
sub ebp, ecx
jl 0x140097c4b
invalid
out 0xae, eax
mov edi, 0xf747e932
invalid
popfq
cmp byte [rbx + 7], 0xe9
add eax, 0x20fffff9
or ebx, esp
cmp ebp, ecx
cmp al, 0xfa
invalid
and byte [rbx], cl
fdivr qword [rbx]
jmp 0x1400976af
invalid
mov ebp, 0xe9df91cf
add al, 0xfd
invalid
invalid