Function at 0x140098d00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov dword [rsp + 0x7c], r9d
mov dword [rsp + 0x74], r8d
mov dword [rsp + 0x44], edx
mov qword [rsp + 0x48], rcx
mov al, byte [rsp + 0x108]
mov byte [rsp + 0x57], al
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x78], eax
call fcn.140095d05
mov r8d, dword [rsp + 0x74]
mov edx, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x7c]
mov qword [rsp + 0x80], rax
test r8d, r8d
setne cl
sete al
test edx, edx
setg dl
mov byte [rsp + 0x8e], dl
or al, dl
add cl, al
inc cl
cmp r9d, 0
setg al
mov byte [rsp + 0x8f], al
and al, cl
test al, 1
jne 0x140098daa
jmp 0x140098e55
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x7c]
mov r8, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x78]
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x98], r10
mov dword [rsp + 0xa0], r9d
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xb0], edx
movsxd rdx, ecx
imul r8, rdx, 0x48
mov rcx, rax
add rcx, r8
add rcx, 8
imul rdx, rdx, 0x48
add rax, rdx
add rax, 0x10
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, 0
je 0x140098e34
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x98]
call rax
jmp 0x140098e43
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x98]
call rax
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
cmp al, 0
jne 0x140099225
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x48]
call fcn.14003700e
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140099225
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x48]
call fcn.14003700e
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140099225
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140098ea4
jmp 0x140098fff
mov eax, dword [0x140204a38]
xor eax, 0xe1bd7ae2
xor edx, edx
div dword [0x140204a3c]
mov ecx, 0xfd4868a8
xor ecx, 0x469f5ba9
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x145610d1
sub eax, ecx
mov ecx, eax
xor ecx, 0x6c8d30b5
mov edx, 0xffffffff
xor edx, 0x6c8d30b5
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xa4f819f7
jb 0x1400992d5
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140204a40]
mov edx, dword [0x140204a44]
add eax, 0xd9393f2d
add eax, edx
mov edx, 0xf8cc7805
xor edx, 0x21f54728
sub eax, edx
mov r9d, 0xffffffff
xor r9d, 0x1e8148d2
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x1e8148d2
mov r9d, 0x7e7f9092
xor r9d, 0x60fed840
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x86dee417
xor edx, 0x1bfadbb7
mov r8d, 0x14e380c5
xor r8d, 0xeb1c7f3a
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov edx, eax
xor edx, 0x390d7d8f
mov r8d, 0x709679ca
xor r8d, 0x499b0445
mov r9d, 0x56add519
xor r9d, 0xa9522ae6
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
mov dword [rsp + 0x28], eax
movabs rdx, 0xfe7da426705a0544
movabs rax, 0xfe7da426705a054c
xor rdx, rax
call fcn.14003704c
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xcf8aef15
je 0x140098ef5
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14009901e
jmp 0x140099225
mov edx, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x48]
call fcn.14003700e
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140099225
mov edx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
call fcn.14003700e
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140099225
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14009904e
jmp 0x1400990c7
lea rcx, [rsp + 0x90]
mov edx, 8
call fcn.1400992f0
lea rcx, [rsp + 0x90]
mov rdx, qword [0x140217158]
mov r8d, 8
call fcn.140099537
mov rcx, qword [rsp + 0x48]
movabs r8, 0x5213c6fe8e8152c2
movabs rax, 0x5213c6fe8e8152ca
xor r8, rax
lea rdx, [rsp + 0x90]
call fcn.140036c40
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x8e]
cmp byte [rax], 0
sete al
and al, cl
test al, 1
jne 0x14009920d
jmp 0x140099225
mov eax, dword [0x140204a48]
mov ecx, dword [0x140204a4c]
add eax, 0xc6b92196
sub eax, ecx
mov ecx, 0xaa42c846
xor ecx, 0x6cfbe9d0
sub eax, ecx
xor eax, 0x899b6ec7
mov ecx, 0x8b2f4d1f
xor edx, edx
div ecx
mov edx, 0x49e7e058
xor edx, 0x3bb3d0dd
mov ecx, 0x44b37a65
xor ecx, 0xbb4c859a
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x72543085
add eax, edx
sub eax, ecx
mov ecx, 0x3b2bb7f4
xor ecx, 0x48368f75
cmp eax, ecx
je 0x1400992de
mov eax, dword [0x140204a50]
xor eax, 0x77147e69
mov edx, dword [0x140204a54]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x9d743bef
add ecx, eax
mov eax, 0xd337151
xor eax, 0xd337151
sub eax, ecx
add eax, 0xe97d294b
mov ecx, 0xf414a624
xor edx, edx
div ecx
cmp eax, 0xa4688561
jae 0x140099130
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x14009919d
jmp 0x1400991f9
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x7c]
mov eax, eax
mov r8d, eax
call fcn.140036c40
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x8e]
cmp byte [rax], 0
sete dl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
mov r8b, dl
xor r8b, 0xff
or al, r8b
and cl, dl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x14009920d
jmp 0x140099225
mov al, byte [rsp + 0x8e]
test al, 1
jne 0x14009920d
jmp 0x140099225
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x78]
mov eax, eax
mov r8d, eax
call fcn.140036c40
mov eax, dword [0x140204a58]
mov ecx, dword [0x140204a5c]
xor ecx, 0xafcc7e3c
add eax, ecx
mov ecx, 0xdcd0d548
xor edx, edx
div ecx
mov ecx, 0x1d81b694
xor ecx, 0x2d9f85bf
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xb42aa6e4
xor ecx, 0xffffffff
mov edx, 0x19e45a59
xor edx, 0xadcefcbd
or eax, edx
and eax, ecx
cmp eax, 0xfc3c8ec9
je 0x1400992e7
mov ecx, dword [0x140204a60]
add ecx, dword [0x140204a64]
xor ecx, 0xb8fd65ca
mov edx, ecx
and edx, 0xdf74f010
mov eax, 0xec47dfc0
xor eax, 0xec47dfc2
imul eax, edx
add ecx, 0xdf74f010
sub ecx, eax
mov edx, 0x3d06ef64
xor edx, 0xafb3cda9
mov eax, 0x1d07915d
xor eax, 0xe2f86ea2
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x7c574181
jae 0x140099276
add rsp, 0xb8
ret
cmp byte [rsi], dh
invalid
pop rdx
invalid
xor al, 0x51
int 0x71
jmp 0x140099276