Function at 0x180089830
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
xor r14d, r14d
movaps xmmword [rax - 0x38], xmm6
cmp byte [0x1800f1c10], r14b
movabs r15, 0x7ffffffdfffe
je 0x180089a8a
mov ecx, dword [0x1800f1c40]
call fcn.180094c0c
mov rcx, qword [0x1800edba8]
mov ebx, eax
call fcn.1800e73b4
mov ecx, ebx
call rax
test al, al
je 0x1800899f4
lea rax, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x3a6c1f8
mov qword [rbp + 0x6f], rax
lea r9, [rbp + 0x6f]
lea rax, [rbp - 0x39]
mov qword [rbp - 0x35], pe_nt_image_headers64
xorps xmm0, xmm0
mov qword [rbp + 0x77], rax
lea r8, [rbp + 0x77]
mov qword [rbp - 0x19], r14
lea edx, [r14 + 3]
lea rcx, [rbp - 0x29]
movdqu xmmword [rbp - 0x29], xmm0
call fcn.180029d90
mov rcx, qword [0x1800ed388]
lea rdx, [rbp - 0x29]
call fcn.18002c7b4
mov rdi, rax
mov rax, qword [0x1800ed108]
cmp rdi, rax
jbe 0x180089903
mov rdx, qword [0x1800ed110]
add rdx, rax
cmp rdi, rdx
jb 0x1800899b3
lea rcx, [rdi - 0x10000]
cmp rcx, r15
jbe 0x1800899b3
mov rcx, qword [0x1800ed930]
call fcn.18002c4ec
movdqa xmm0, xmmword [0x180007270]
lea r9, [rbp - 0x11]
movdqa xmm1, xmmword [0x1800078b0]
mov rdi, rax
movdqu xmmword [rbp - 0x11], xmm0
mov r8d, r14d
mov dword [rbp + 0x1f], 0x111124f
movdqa xmm0, xmmword [0x180006210]
movdqu xmmword [rbp + 0xf], xmm0
mov dword [rbp + 0x23], 0x32530703
movdqu xmmword [rbp - 1], xmm1
mov eax, 0x2f684bdb
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9], al
inc r9
cmp r8d, 0x38
jl 0x18008995e
lea rcx, [rbp - 0x11]
call fcn.180097520
mov rcx, qword [0x1800ee028]
mov rbx, rax
call fcn.1800e73b4
mov r8b, 1
mov rdx, rbx
mov rcx, rdi
call rax
jmp 0x1800899dc
mov rcx, qword [0x1800edcc8]
call fcn.1800e73b4
mov rcx, rdi
call rax
mov rcx, qword [0x1800edcc0]
test al, al
sete bl
call fcn.1800e73b4
mov dl, bl
mov rcx, rdi
call rax
mov rcx, qword [0x1800edf18]
mov rbx, qword [0x1800f2350]
call fcn.1800e73b4
mov rcx, rbx
call rax
mov rbx, qword [0x1800ed3c0]
mov rdx, qword [0x1800ed108]
mov rcx, qword [0x1800ed110]
mov dword [rbp + 0x6f], 0x3f800000
cmp rbx, rdx
jbe 0x180089a1e
lea rax, [rcx + rdx]
cmp rbx, rax
jb 0x180089a2a
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x180089a4d
mov rcx, qword [0x1800ed3a8]
call fcn.1800e73b4
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rdx, qword [0x1800ed108]
mov rcx, qword [0x1800ed110]
mov rbx, qword [0x1800ed3c8]
mov dword [rbp + 0x6f], 0x3f800000
cmp rbx, rdx
jbe 0x180089a69
lea rax, [rcx + rdx]
cmp rbx, rax
jb 0x180089a75
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x180089a8a
mov rcx, qword [0x1800ed3a8]
call fcn.1800e73b4
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rcx, qword [0x1800f2350]
add rcx, qword [0x1800ed898]
call fcn.18002c680
mov rcx, qword [0x1800ed888]
mov rdi, rax
add rcx, qword [0x1800f2350]
call fcn.18002c680
mov rdx, qword [0x1800ed108]
mov rsi, rax
mov r8, qword [0x1800ed110]
mov r13d, 4
cmp rdi, rdx
jbe 0x180089ad8
lea rcx, [r8 + rdx]
cmp rdi, rcx
jb 0x180089ae8
lea rax, [rdi - 0x10000]
cmp rax, r15
ja 0x180089ca9
cmp rsi, rdx
jbe 0x180089af6
lea rax, [r8 + rdx]
cmp rsi, rax
jb 0x180089b06
lea rax, [rsi - 0x10000]
cmp rax, r15
ja 0x180089ca9
cmp byte [0x1800f1bb0], r14b
je 0x180089b52
movsxd rcx, dword [0x1800f1be0]
lea eax, [rcx - 1]
cmp eax, 0xfe
ja 0x180089b52
mov rax, rcx
lea rcx, [0x1800ec39c]
cmp byte [rax + rcx], r14b
je 0x180089b52
mov rcx, qword [0x1800ede78]
mov rbx, qword [0x1800f2350]
call fcn.1800e73b4
movss xmm1, dword [0x180006120]
mov rcx, rbx
call rax
jmp 0x180089b9d
cmp byte [0x1800f1b80], r14b
je 0x180089b9d
mov rcx, qword [0x1800edaa8]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov byte [rbp + 0x6f], 1
mov r8d, 1
call fcn.1800e7228
mov rcx, qword [0x1800edad8]
lea rdx, [rbp - 0x39]
and dword [rbp - 0x39], r14d
add rcx, rdi
and dword [rbp - 0x35], r14d
mov r8d, 0xc
and dword [rbp - 0x31], r14d
call fcn.1800e7228
cmp byte [0x1800f1b50], r14b
je 0x180089bee
mov rcx, qword [0x1800ed818]
add rcx, rsi
call fcn.18002c630
mov rcx, qword [0x1800ed818]
lea rdx, [rbp + 0x6f]
or eax, r13d
add rcx, rsi
mov r8, r13
mov dword [rbp + 0x6f], eax
call fcn.1800e7228
mov rcx, qword [0x1800edaa0]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov byte [rbp + 0x6f], 1
mov r8d, 1
call fcn.1800e7228
cmp byte [0x1800f1af0], r14b
je 0x180089c5d
mov rcx, qword [0x1800edab8]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rdi
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800eda80]
add rcx, rdi
call fcn.18002c658
addss xmm0, dword [0x180005fbc]
mov rcx, qword [0x1800eda80]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov r8, r13
movss dword [rbp + 0x6f], xmm0
call fcn.1800e7228
mov rcx, qword [0x1800edab0]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rdi
mov r8, r13
call fcn.1800e7228
cmp byte [0x1800f1c70], r14b
je 0x180089c78
movss xmm0, dword [0x1800f1ca0]
divss xmm0, dword [0x180006098]
jmp 0x180089c80
movss xmm0, dword [0x180006028]
mov rcx, qword [0x1800edae0]
lea rdx, [rbp + 0x6f]
add rcx, rdi
movss dword [rbp + 0x6f], xmm0
mov r8, r13
call fcn.1800e7228
mov rdx, qword [0x1800ed108]
mov r8, qword [0x1800ed110]
cmp byte [0x1800eed18], r14b
movss xmm6, dword [0x180006104]
mov rbx, qword [0x1800ed3b8]
je 0x180089cd3
movd xmm0, dword [0x1800eed48]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x6f], xmm0
jmp 0x180089cda
mov dword [rbp + 0x6f], 0xbf800000
cmp rbx, rdx
jbe 0x180089ce8
lea rax, [r8 + rdx]
cmp rbx, rax
jb 0x180089cf4
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x180089d09
mov rcx, qword [0x1800ed3a8]
call fcn.1800e73b4
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rcx, qword [0x1800eddc8]
call fcn.1800e73b4
call rax
mov rbx, rax
mov rax, qword [0x1800ed108]
cmp rbx, rax
jbe 0x180089d35
mov rdx, qword [0x1800ed110]
add rdx, rax
cmp rbx, rdx
jb 0x180089d45
lea rcx, [rbx - 0x10000]
cmp rcx, r15
ja 0x180089eb1
cmp byte [0x1800eeda8], r14b
je 0x180089dc9
mov rcx, qword [0x1800ed490]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda18]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed490]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda10]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed490]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda08]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r13
call fcn.1800e7228
cmp byte [0x1800eecb8], r14b
je 0x180089e2a
mov rcx, qword [0x1800ed488]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800ed9f8]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x3f800000
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed488]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda00]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x3f800000
mov r8, r13
call fcn.1800e7228
cmp byte [0x1800eece8], r14b
je 0x180089eb1
mov rcx, qword [0x1800ed498]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda48]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x41200000
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed4a0]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800edb08]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed498]
add rcx, rbx
call fcn.18002c680
mov rcx, qword [0x1800eda40]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r13
call fcn.1800e7228
cmp byte [0x1800eee98], r14b
mov rcx, qword [0x1800edb38]
je 0x180089ecb
call fcn.1800e73b4
xorps xmm0, xmm0
jmp 0x180089ed3
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eedd8], r14b
mov rcx, qword [0x1800edb10]
je 0x180089eef
call fcn.1800e73b4
xorps xmm0, xmm0
jmp 0x180089ef7
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eee08], r14b
mov rcx, qword [0x1800edb20]
je 0x180089f13
call fcn.1800e73b4
xorps xmm0, xmm0
jmp 0x180089f1b
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eee68], r14b
mov rcx, qword [0x1800edb28]
je 0x180089f3c
call fcn.1800e73b4
movss xmm0, dword [0x180005fd0]
jmp 0x180089f44
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eeec8], r14b
mov rcx, qword [0x1800edb30]
je 0x180089f60
call fcn.1800e73b4
xorps xmm0, xmm0
jmp 0x180089f68
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eeef8], r14b
mov rcx, qword [0x1800edb40]
je 0x180089f89
call fcn.1800e73b4
movss xmm0, dword [0x180006048]
jmp 0x180089f91
call fcn.1800e73b4
movaps xmm0, xmm6
call rax
cmp byte [0x1800eee38], r14b
mov rcx, qword [0x1800edb18]
je 0x180089fad
call fcn.1800e73b4
xorps xmm0, xmm0
jmp 0x180089fb5
call fcn.1800e73b4
movaps xmm0, xmm6
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
jmp rax