Function at 0x140094400
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov dword [rsp + 0x78], 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 + 0x7c], eax
call fcn.1400920d4
mov r8d, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x78]
mov rcx, rax
mov eax, dword [rsp + 0x7c]
mov qword [rsp + 0x80], rcx
mov ecx, 0xc33db798
xor ecx, 0xc33db798
cmp r8d, ecx
setne cl
mov edx, 0xd74beb43
xor edx, 0xd74beb43
cmp eax, edx
setg al
mov byte [rsp + 0x8e], al
and cl, al
mov eax, 0x8ffca45c
xor eax, 0x8ffca45c
cmp r9d, eax
setg al
mov byte [rsp + 0x8f], al
and al, cl
test al, 1
jne 0x140094560
mov eax, dword [0x1401dc458]
mov ecx, dword [0x1401dc45c]
xor ecx, 0xd9ec4d92
add eax, ecx
mov ecx, 0x9c29df5c
xor ecx, 0x63d620a3
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xaf2fbfdc
mov ecx, 0xffffffff
xor ecx, 0xbb6967e2
or eax, edx
or ecx, 0xbb6967e2
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xfb9ff973
xor edx, edx
div ecx
imul eax, eax, 0xa488fe31
cmp eax, 0x2e2b7132
ja 0x140094958
mov eax, dword [0x1401dc460]
mov ecx, dword [0x1401dc464]
xor ecx, 0x4447c256
sub eax, ecx
mov ecx, 0xbbb67247
xor ecx, 0xaac9b43f
xor edx, edx
div ecx
imul eax, eax, 0x9385634c
mov ecx, 0x474c4131
xor edx, edx
div ecx
cmp eax, 0x4274a5f7
je 0x14009451e
jmp 0x14009460b
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x78]
mov r8, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x7c]
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 0x1400945ea
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x98]
call rax
jmp 0x1400945f9
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x98]
call rax
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
cmp al, 0
jne 0x14009494f
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x48]
call fcn.140030961
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14009494f
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14009463b
jmp 0x140094678
mov rcx, qword [rsp + 0x48]
movabs rdx, 0xa50f21354ae27187
movabs rax, 0xa50f21354ae2718f
xor rdx, rax
call fcn.1400309a0
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
mov cl, 0xa2
xor cl, 0xa2
cmp al, cl
je 0x140094807
jmp 0x14009494f
mov eax, dword [0x1401dc468]
mov ecx, dword [0x1401dc46c]
or eax, eax
xor eax, 0xffffffff
or ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x9816560e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xf9119172
xor r8d, 0x6107c77c
mov edx, eax
and edx, r8d
or eax, 0x9816560e
imul eax, edx
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb31bd432
mov ecx, 0x28189c1f
xor ecx, 0xbb973f41
mov r8d, 0x63d2b13
xor r8d, 0xf9c2d4ec
xor ecx, r8d
or eax, edx
or ecx, 0x938fa35e
xor eax, 0xffffffff
and eax, ecx
mov ecx, eax
and ecx, 0x9ecb97d3
shl ecx, 1
add eax, 0x9ecb97d3
sub eax, ecx
mov ecx, 0xd6621c3c
xor ecx, 0xe1206f80
cmp eax, ecx
je 0x140094961
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401dc470]
mov edx, dword [str.0fA:]
xor edx, 0x1336bbd4
xor eax, 0xffffffff
mov r8d, 0x8c6d65f7
xor r8d, 0x73929a08
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xc8e0a7d3
or eax, edx
mov edx, 0xc22b8d36
xor edx, 0xacb2ae5
or edx, r8d
xor eax, 0xffffffff
and eax, edx
add eax, 0x1c422827
xor edx, edx
sub edx, eax
mov eax, 0x87ed3ef9
xor eax, 0x87ed3ef9
mov r8d, 0xbf3871a5
xor r8d, 0x812c2526
sub eax, r8d
add edx, eax
mov eax, 0x4992dd4c
xor eax, 0x4992dd4c
sub eax, edx
mov r8d, 0xa93059de
xor r8d, 0x1a2b1348
xor edx, edx
div r8d
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov eax, 0x68ea2a01
xor eax, 0x4cfabf27
mov dword [rsp + 0x24], eax
call fcn.140030961
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
jae 0x140094961
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140094807
jmp 0x14009494f
mov edx, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x48]
call fcn.140030961
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14009494f
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x48]
call fcn.140030961
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14009494f
mov al, byte [rsp + 0x8e]
test al, 1
jne 0x140094859
jmp 0x140094882
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x7c]
mov eax, eax
mov r8d, eax
call fcn.14003074d
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14009494f
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140094893
jmp 0x1400948ed
lea rcx, [rsp + 0x90]
mov edx, 8
call fcn.14009496a
lea rcx, [rsp + 0x90]
mov rdx, qword [0x1401eeaf8]
mov r8d, 8
call fcn.1400949d4
mov rcx, qword [rsp + 0x48]
movabs r8, 0x851d2f4e7a4cdf0
movabs rax, 0x851d2f4e7a4cdf8
xor r8, rax
lea rdx, [rsp + 0x90]
call fcn.14003074d
jmp 0x14009494f
mov al, byte [rsp + 0x8f]
mov dl, byte [rsp + 0x57]
mov cl, dl
and cl, cl
xor cl, 0xff
and cl, 0xff
xor r8d, r8d
xor r8b, 1
xor cl, r8b
mov r8b, 1
xor r8b, 1
mov r9b, 1
xor r9b, 1
or r8b, r9b
and dl, r8b
xor dl, 0xff
and cl, dl
xor cl, 0xff
and al, cl
test al, 1
jne 0x140094937
jmp 0x14009494f
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x78]
mov eax, eax
mov r8d, eax
call fcn.14003074d
nop
add rsp, 0xb8
ret
xchg ecx, eax
fisubr dword [rcx - 0x44217]
inc dword [rax - 0x16c66e11]
sub bh, 0x91
cmp ecx, ebp
sar ch, 0xff
dec dword [rax - 0x7d]
sub rsp, 0x48
mov qword [rsp + 0x30], rdx