Function at 0x140090fd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov dword [rbp + 0xc], r9d
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x28], rax
mov eax, dword [0x14010af30]
imul eax, dword [0x14010af34]
imul eax, eax, 0xb42c40ae
sub eax, 0xb219b896
or eax, 0x9138aa82
cmp eax, 0xb26d2ba5
jbe 0x1400917a5
mov r8d, dword [rbp + 0xc]
mov r10, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x20]
mov eax, dword [0x14010af38]
mov ecx, dword [0x14010af3c]
xor edx, edx
div ecx
imul eax, eax, 0x9f60408b
add eax, 0xad5a0ab5
mov dword [rbp + 4], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rdi, rsp
mov qword [rbp - 0x40], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov r11, rsp
mov qword [rbp - 8], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov r9, rsp
mov qword [rbp - 0x38], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x2a0
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov r14, rsp
mov qword [rbp - 0x18], r14
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [r9], r10
mov dword [rdx], r8d
mov qword [rcx], rax
sub rsp, 0x20
call fcn.140091a70
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rcx], rdx
mov rcx, qword [rax]
mov edx, 0x25
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 4]
cmp rcx, 0
setne cl
mov byte [rbp + 0xb], cl
cmp eax, 0xd2ae80fd
jae 0x1400917a5
mov al, byte [rbp + 0xb]
test al, 1
jne 0x14009114f
jmp 0x1400911f9
mov eax, dword [0x14010af40]
and eax, dword [0x14010af44]
imul eax, eax, 0xb559ea41
sub eax, 0x89d1dcff
add eax, 0x242c6d07
cmp eax, 0x83ad8910
jbe 0x140091864
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x14010af48]
and eax, dword [0x14010af4c]
add eax, 0x8300f4c2
sub eax, 0xcb53fc69
xor eax, 0x1ef4b2c7
mov dword [rbp - 0x44], eax
xor edx, edx
mov r8d, 0x298
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, qword [rdx]
mov r10, qword [r8]
mov rax, qword [rax]
xor r8d, r8d
mov r9d, r8d
sub rsp, 0x30
mov r8, r9
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400afd10
add rsp, 0x30
mov eax, dword [rbp - 0x44]
cmp eax, 0xba7a6182
jae 0x140091864
jmp 0x1400916f3
mov eax, dword [0x14010af50]
or eax, dword [0x14010af54]
sub eax, 0xa4a0a5c3
sub eax, 0x9e1bd587
add eax, 0x7578f432
cmp eax, 0xb355f68f
je 0x1400918bb
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14010af58]
and eax, dword [0x14010af5c]
imul eax, eax, 0x15c1bf4d
add eax, 0x98beba6b
xor eax, 0xd4048735
mov ecx, dword [rcx]
mov dword [rbp - 0x48], ecx
cmp eax, 0xc170fb0a
jae 0x14009121f
mov eax, dword [rbp - 0x48]
mov ecx, eax
mov qword [rbp - 0x50], rcx
sub eax, 6
ja 0x14009169b
mov rax, qword [rbp - 0x50]
lea rcx, [0x14011692c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x14010afb0]
sub eax, dword [0x14010afb4]
sub eax, 0x92ba21de
xor eax, 0xf2c73e2e
add eax, 0x9e6ec71e
cmp eax, 0xc362371e
je 0x140091a59
mov eax, dword [0x14010afb8]
xor edx, edx
div dword [0x14010afbc]
xor eax, 0x8931eb20
sub eax, 0xb7677e00
and eax, 0x89c97286
cmp eax, 0xf42601af
ja 0x1400916c1
jmp 0x1400916ee
jmp 0x1400916f3
mov eax, dword [0x14010afc0]
and eax, dword [0x14010afc4]
xor eax, 0x41cc851c
sub eax, 0x9fc16294
xor eax, 0x2b58eb66
cmp eax, 0x129ec41e
jbe 0x140091a5e
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x14010afc8]
sub eax, dword [0x14010afcc]
add eax, 0x97075cb1
sub eax, 0x6e7df52c
or eax, 0xfe002e80
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x65], cl
cmp eax, 0xb8e7f1e3
je 0x140091a5e
mov al, byte [rbp - 0x65]
test al, 1
jne 0x14009175d
jmp 0x140091793
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
lea rdx, [0x140109c3f]
sub rsp, 0x20
call sub.msvcrt.dll_strcat
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_strcat
add rsp, 0x20
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
lea rsp, [rbp + 0x30]
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov r8d, dword [rbp + 0xc]
mov r10, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x20]
mov eax, 0x10
mov qword [rbp - 0x80], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rdi, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov r11, rsp
mov qword [rbp - 0x70], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov r14, rsp
mov qword [rbp - 0x78], r14
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [r9], r10
mov dword [rdx], r8d
mov qword [rcx], rax
sub rsp, 0x20
call fcn.140091a70
mov rcx, qword [rbp - 0x78]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x70]
mov qword [rcx], rdx
mov rcx, qword [rax]
mov edx, 0x25
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
jmp 0x140091028
mov rcx, qword [rbp - 0x18]
xor edx, edx
mov r8d, 0x298
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, qword [rdx]
mov r10, qword [r8]
mov rax, qword [rax]
xor r8d, r8d
mov r9d, r8d
sub rsp, 0x30
mov r8, r9
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400afd10
add rsp, 0x30
jmp 0x140091176
jmp 0x14009121f
jmp 0x1400916c1
jmp 0x140091719