Function at 0x140095020
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rcx
mov eax, 0x10
mov qword [rbp], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x28], rax
add rax, 0x60
mov qword [rbp + 0x20], rax
mov rax, qword [rcx]
mov qword [rbp + 0x90], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140039831
add rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.140058950
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x30], rcx
mov cl, byte [rax + 0x60]
mov dl, 0xb4
xor dl, 0xb4
mov al, 1
cmp cl, dl
mov byte [rbp + 0x3f], al
jne 0x140095881
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140058c30
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 1], al
jne 0x14009583f
mov rax, qword [rbp - 0x10]
lea rcx, [rbp + 0x70]
add rcx, 8
mov qword [rbp - 0x28], rcx
lea rcx, [rbp + 0x60]
add rcx, 8
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140276458]
xor eax, 0x96d9267d
mov edx, dword [0x14027645c]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xb81fb2b7
xor ecx, 0x5dd8f635
sub eax, ecx
xor eax, 0xb77f759a
mov ecx, 0x363edfe8
xor ecx, 0x363edfe8
mov edx, 0xbf2b7065
xor edx, 0xcdf9da57
sub ecx, edx
sub eax, ecx
mov ecx, 0xae8d02b9
xor ecx, 0x5de5ea37
cmp eax, ecx
jbe 0x140095ba7
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp + 0x18]
mov ecx, dword [0x140276460]
mov eax, dword [0x140276464]
mov r9d, 0x30dda32e
xor r9d, 0xcf697b05
xor eax, r9d
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xd9df80d0
or ecx, eax
mov eax, 0x807ded5e
xor eax, 0x59a26d8e
or eax, r9d
mov r9d, 0xbf6008d3
xor r9d, 0x409ff72c
xor ecx, r9d
and ecx, eax
mov eax, ecx
xor eax, 0x86bf80f2
mov r9d, 0x2a0fd904
xor r9d, 0xd5f026fb
xor eax, r9d
and eax, 0x86bf80f2
shl eax, 1
sub eax, 0x86bf80f2
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xea40c1cd
xor r9d, 0x15bf3e32
xor ecx, r9d
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa4b6f3d9
mov r9d, 0xffffffff
xor r9d, 0xa4b6f3d9
or ecx, r9d
mov r9d, 0x830849f3
xor r9d, 0x7cf7b60c
xor eax, r9d
mov r9d, 0x3d684ddc
xor r9d, 0xc297b223
xor ecx, r9d
or eax, ecx
mov ecx, 0xea11ce36
xor ecx, 0xd65519d6
sub eax, ecx
mov ecx, 0x7e5d5ab8
xor ecx, 0x33a7d8d9
cmp rdx, qword [r8]
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jb 0x140095ba7
mov cl, byte [rbp - 0x31]
xor eax, eax
test cl, 1
mov byte [rbp - 1], al
jne 0x14009583f
jmp 0x1400952c0
mov eax, dword [0x140276468]
xor edx, edx
div dword [0x14027646c]
mov ecx, 0xb84b21fa
xor ecx, 0x655918c5
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x6aeef092
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xafe8bcc2
xor edx, 0x85d777cb
and eax, edx
xor eax, 0xffffffff
mov edx, 0x2a3fcb09
and edx, 0x2a3fcb09
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xfd2abaef
xor r8d, 0x2d54510
xor edx, r8d
or ecx, edx
and eax, ecx
mov ecx, 0x8755f4e6
xor ecx, 0x78aa0b19
xor eax, ecx
cmp eax, 0x4b63e9f6
ja 0x140095bb0
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
mov r8d, dword [0x140276470]
mov r10d, dword [0x140276474]
mov r9d, 0x39a57773
xor r9d, 0x2b32d355
xor r10d, r9d
mov r11d, r8d
xor r11d, r10d
xor r11d, 0xffffffff
mov r9d, r10d
and r9d, r11d
shl r9d, 1
sub r9d, r10d
sub r8d, r9d
xor r8d, 0x3f2aa2a
add r8d, 0xe3b90e5e
imul r8d, r8d, 0x2a05b8b2
mov dword [rbp - 0x38], r8d
mov r8d, 0xcdcdd6e7
xor r8d, 0xa464f097
mov dword [rbp - 0x3c], r8d
mov qword [rbp + 0x70], 0
mov qword [rdx], 0
mov qword [rbp + 0x60], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.140058eb2
mov rdx, qword [rbp + 0x20]
mov ecx, dword [rbp - 0x3c]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp - 0x38]
mov word [rbp - 0x34], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x32], dl
cmp eax, ecx
je 0x14009533e
mov al, byte [rbp - 0x32]
test al, 1
jne 0x14009540b
jmp 0x140095594
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140058eb2
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x20]
mov word [rbp - 0x3e], cx
mov al, byte [rax]
mov cl, 0xe0
xor cl, 0xe0
cmp al, cl
jne 0x140095594
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140058eb2
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x20]
mov word [rbp - 0x40], cx
mov al, byte [rax]
mov cl, 0xed
xor cl, 0xed
cmp al, cl
jne 0x140095594
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140058eb2
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x20]
mov word [rbp - 0x42], cx
cmp byte [rax], 0
jne 0x140095594
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x30]
mov ax, word [rbp - 0x40]
movsx r8, ax
sub rsp, 0x20
call fcn.140059150
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x70], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x78], rcx
cmp byte [rax], 0
jne 0x140095594
mov rdx, qword [rbp + 0x30]
mov ax, word [rbp - 0x3e]
movsx r8, ax
lea rcx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140059150
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x60], rcx
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x68], rcx
cmp byte [rax], 0
jne 0x140095594
mov ax, word [rbp - 0x42]
mov rcx, qword [0x14029bf90]
movsx rax, ax
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14002b970
add rsp, 0x20
lea rcx, [rbp + 0x70]
sub rsp, 0x20
call fcn.140020530
mov ax, word [rbp - 0x34]
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [0x14029bf90]
movsx rax, ax
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rbp + 0x60]
mov qword [rdx], rax
mov rax, qword [rbp + 0x68]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14002b970
add rsp, 0x20
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140020530
add rsp, 0x20
mov ecx, dword [0x140276478]
or ecx, dword [0x14027647c]
mov eax, ecx
or eax, 0xb3871223
xor eax, 0xffffffff
mov edx, 0x160bc26a
xor edx, 0xe9f43d95
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xb3871223
and ecx, edx
mov edx, 0x4a776b3e
xor edx, 0xb58894c1
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x9b9bf5c4
and eax, 0x7e1b1917
cmp eax, 0xde22bb20
je 0x140095bb9
mov rdx, qword [rbp - 0x20]
mov ecx, dword [0x140276480]
mov r8d, dword [0x140276484]
xor r8d, 0x606458bf
mov eax, 0xb3bec2f0
xor eax, 0xb3bec2f0
sub eax, r8d
sub ecx, eax
mov eax, 0xffffffff
xor eax, 0xeee8ca0a
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x21e5f36d
mov r8d, 0xffffffff
xor r8d, 0x21e5f36d
or ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0x905e44e1
mov ecx, 0x47fcd202
xor ecx, 0xda4063bb
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x43], dl
cmp eax, ecx
je 0x1400955eb
mov al, byte [rbp - 0x43]
test al, 1
jne 0x1400956b3
jmp 0x140095687
mov rcx, qword [rbp - 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400956b3
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov eax, dword [0x140276488]
xor edx, edx
div dword [0x14027648c]
mov ecx, eax
add ecx, 1
mov edx, 0x93de4094
xor edx, 0x6c21bf6b
xor eax, edx
mov edx, 0xff64220d
xor edx, 0x341fbbb8
or eax, edx
add eax, ecx
mov ecx, 0x5a936eee
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xdd0b362b
shl ecx, 1
mov edx, 0x3f91fb81
xor edx, 0xe29acdaa
xor eax, edx
add eax, ecx
cmp eax, 0xaddcc0f1
jbe 0x140095bc2
mov rdx, qword [rbp - 0x28]
mov eax, dword [0x140276490]
mov r8d, dword [0x140276494]
mov ecx, eax
xor ecx, r8d
mov r9d, 0x439ef5ed
xor r9d, 0xbc610a12
xor ecx, r9d
or eax, r8d
and eax, ecx
mov ecx, 0x83cdb01a
xor ecx, 0x882a7564
sub eax, ecx
mov r8d, 0x4ff977e0
xor r8d, 0xa357ad49
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xecaedaa9
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x463caa7c
xor r8d, 0xb9c35583
xor eax, r8d
and ecx, eax
mov eax, ecx
or eax, 0x93d8d97c
xor eax, 0xffffffff
or ecx, 0x93d8d97c
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x47ea7355
xor ecx, 0xcbfe6346
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jbe 0x140095710
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1400957fd
jmp 0x1400957d1
mov rcx, qword [rbp - 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400957fd
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x20]
mov cl, byte [rax]
mov dl, 0xa4
xor dl, 0xa4
mov al, 1
cmp cl, dl
mov byte [rbp - 1], al
jne 0x14009583f
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140058c30
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, rax
mov al, 1
cmp byte [rdx], 0
mov qword [rbp - 0x18], rcx
mov byte [rbp - 1], al
je 0x14009514c
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x30]
mov dl, byte [rbp - 1]
mov byte [rbp - 0x63], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14005924e
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp - 0x63]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x62], dl
cmp byte [rcx], 0
mov byte [rbp - 0x61], al
je 0x14009587b
mov al, byte [rbp - 0x62]
mov byte [rbp - 0x61], al
mov al, byte [rbp - 0x61]
mov byte [rbp + 0x3f], al
mov al, byte [rbp + 0x3f]
mov byte [rbp - 0x64], al
mov eax, dword [0x140276498]
and eax, dword [0x14027649c]
or eax, 0xa3cdb518
mov ecx, 0xf16104cb
xor ecx, 0x32ab5584
add eax, ecx
and eax, 0xd830980b
cmp eax, 0x5acc0917
jae 0x140095bcb
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1402764a0]
mov r8d, dword [0x1402764a4]
xor r8d, 0x6e969f3c
xor edx, edx
div r8d
mov r8d, 0x47b47bcc
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x20]
xor eax, 0x59c944b2
xor eax, 0xa15c1db3
mov byte [rdx], 0
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x70], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x65], cl
cmp eax, 0xa088041e
jbe 0x1400958b5
mov al, byte [rbp - 0x65]
test al, 1
jne 0x140095a6d
jmp 0x14009591b
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xe7389658dd8a1f4
movabs r8, 0xf18c769a72275e0b
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140095a6d
mov eax, dword [0x1402764a8]
mov edx, dword [0x1402764ac]
mov ecx, 0xc548c3ec
xor ecx, 0x3ab73c13
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x4585ca54
or eax, edx
or ecx, 0x4585ca54
mov edx, 0xe65018a5
xor edx, 0x19afe75a
xor eax, edx
and eax, ecx
sub eax, 0x65954fa8
mov ecx, 0x6a9b0340
xor ecx, 0x315ff0a8
sub eax, ecx
mov ecx, 0x14795b30
xor ecx, 0x571ae4b7
add eax, ecx
cmp eax, 0x2ddbce0f
je 0x140095bd4
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x1402764b0]
mov r9d, dword [0x1402764b4]
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov r8d, r9d
xor r8d, 0xffffffff
or eax, r8d
mov r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0xbc7d6f00
xor r10d, 0x438290ff
xor r9d, r10d
or r8d, r9d
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x99c7abcc
xor r8d, 0x5f8d0ab7
xor edx, edx
div r8d
mov edx, 0x307fcbfe
xor edx, 0xaa812bab
sub eax, edx
mov r8d, 0x2dd104b9
xor edx, edx
div r8d
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x4100bd9c
jae 0x1400959ce
jmp 0x140095a6d
mov ecx, dword [0x1402764b8]
xor ecx, dword [0x1402764bc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5f134496
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5f134496
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x27cc0cb
xor edx, 0xfd833f34
xor ecx, edx
and eax, ecx
mov ecx, 0xa04f3861
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffc1b055
xor edx, 0xc29739e9
mov r8d, 0x1b75f65e
xor r8d, 0xe48a09a1
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3d5689bc
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x38b398c
jae 0x140095bdd
xchg edi, eax
ret 0xb841
mov rcx, qword [rbp + 0x30]
mov edx, dword [0x1402764c0]
mov eax, 0x238ad440
xor eax, 0x761d21b6
xor edx, eax
mov r8d, dword [0x1402764c4]
mov eax, 0xa00bfe1a
xor eax, 0x5ff401e5
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0x927be36b
jnp 0x140095ac6
xor r8d, 0x71ca9ba8
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0xe3b178c3
sub eax, edx
and eax, 0x9a33bb58
mov r8d, 0x381c3b21
xor edx, edx
div r8d
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.140056da2
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x75], cl
cmp eax, 0x423ec3c1
jae 0x140095afd
mov al, byte [rbp - 0x75]
test al, 1
jne 0x140095b95
jmp 0x140095b9e
mov rax, qword [rbp + 0x20]
mov cl, byte [rbp - 0x64]
pushfq
mov byte [rax], cl
lea rsp, [rbp + 0xb0]
pop rbp
ret
je 0x140095b32
sub dword [rbx - 0xa0017], esi
invalid
in al, dx
add al, 0xd3
jmp 0x14009533e
ja 0x140095b9a
invalid
scasb al, byte [rdi]
pop rsp
clc
int1
jmp 0x140095710
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 - 0x1f], al
cld
invalid
jle 0x140095c28
push rcx
movabs byte [0xb3999cfffffdf1e9], al
xchg edi, eax
pushfq
cdq
mov bl, 0x97
jmp 0x140095afd
invalid