Function at 0x180098044
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
xor r13d, r13d
mov dword [rcx + 0x10], r8d
movaps xmmword [rsp + 0x70], xmm6
lea r9, [rbp + 0x67]
mov qword [rcx + 8], rdx
mov esi, r8d
mov qword [rcx + 0x40], r13
mov rdi, rdx
mov qword [rcx + 0x48], r13
lea r14d, [r13 + 1]
mov rbx, rcx
mov dword [rbp + 0x67], 0x45555e51
mov byte [rbp + 0x6b], 0x36
mov r8d, r13d
mov r15d, 0x1f7047dd
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x18009809a
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov r12d, eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x54575c5e
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x1800980eb
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x18], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x5155565a
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x18009813c
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x1c], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x534d5f55
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x18009818d
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x20], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x54515b5a
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x1800981de
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x24], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x4d405e5a
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x18009822f
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x28], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x5b465659
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x180098280
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x2c], eax
lea r9, [rbp + 0x67]
mov r8d, r13d
mov dword [rbp + 0x67], 0x667b6375
mov byte [rbp + 0x6b], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x1800982d1
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
mov dword [rbx + 0x30], eax
test r12d, r12d
je 0x180098337
cmp dword [rbx + 0x1c], r13d
je 0x180098337
cmp dword [rbx + 0x24], r13d
je 0x180098337
cmp dword [rbx + 0x28], r13d
je 0x180098337
cmp dword [rbx + 0x20], r13d
je 0x180098352
cmp dword [rbx + 0x18], r13d
jne 0x1800985d2
xor eax, eax
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rbp + 0x77], 2
lea r9, [rbp - 0x49]
mov dword [rbp + 0x67], r13d
mov r8d, r13d
mov dword [rbp + 0x6f], r13d
mov dword [rbp + 0x7f], r13d
mov dword [rbp - 0x49], 0x15727571
mov byte [rbp - 0x45], 0x36
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x180098377
lea r8, [rbp - 0x49]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
test eax, eax
je 0x180098337
mov qword [rbx + 0x80], r13
mov qword [rbx + 0x88], r13
mov qword [rbx + 0x90], r13
mov qword [rbx + 0x98], r13
mov eax, eax
add rax, rdi
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x48], r13d
mov dword [rbx + 0x4c], 0x20000000
movups xmm2, xmmword [rbx + 0x40]
mov ecx, dword [rbx + 0x48]
mov rax, qword [rbx + 0x48]
add ecx, 2
movaps xmmword [rbp - 0x39], xmm2
shr rax, 0x20
psrldq xmm2, 0xc
movd edx, xmm2
cmp ecx, eax
jg 0x18009840e
test ecx, ecx
jns 0x180098410
mov ecx, edx
cmp ecx, edx
jl 0x180098419
mov al, r13b
jmp 0x180098423
mov rax, qword [rbp - 0x39]
movsxd rcx, ecx
mov al, byte [rcx + rax]
movzx eax, al
lea rcx, [rbp - 0x19]
cmp eax, edx
cmovle edx, eax
mov dword [rbp - 0x31], edx
lea rdx, [rbp - 0x39]
call fcn.180099270
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
call fcn.180099270
xor r8d, r8d
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x29], xmm0
call fcn.180099318
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x29], xmm0
call fcn.180099270
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
call fcn.180099270
lea r9, [rbp + 0x67]
mov r8d, r14d
mov edx, 0x11
lea rcx, [rbp - 0x29]
movups xmm0, xmmword [rax]
movdqu xmmword [rbx + 0x60], xmm0
call fcn.180099a74
lea r9, [rbp + 0x77]
mov r8d, r14d
mov edx, 0x106
lea rcx, [rbp - 0x29]
call fcn.180099a74
lea r9, [rbp + 0x6f]
mov r8d, r14d
mov edx, 0x124
lea rcx, [rbp - 0x29]
call fcn.180099a74
lea r9, [rbp + 0x7f]
mov r8d, r14d
mov edx, 0x125
lea rcx, [rbp - 0x29]
call fcn.180099a74
movaps xmm0, xmmword [rbp - 0x29]
lea r8, [rbp - 0x29]
movaps xmm6, xmmword [rbp - 0x39]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
movdqa xmmword [rbp - 0x29], xmm0
movdqa xmmword [rbp - 0x19], xmm6
call fcn.18009a15c
cmp dword [rbp + 0x77], 2
movups xmm0, xmmword [rax]
movdqu xmmword [rbx + 0x70], xmm0
jne 0x180098337
mov r15d, dword [rbp + 0x67]
test r15d, r15d
je 0x180098337
mov eax, dword [rbp + 0x6f]
test eax, eax
je 0x1800985a3
movsxd r14, dword [rbp + 0x7f]
test r14d, r14d
je 0x180098337
psrldq xmm6, 0xc
movd ecx, xmm6
cmp eax, ecx
jg 0x180098548
mov dword [rbp - 0x31], eax
test eax, eax
jns 0x18009854b
mov dword [rbp - 0x31], ecx
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 9]
call fcn.180099270
mov ecx, dword [rbp - 0x2d]
mov edx, ecx
sub edx, r14d
mov qword [rbp - 0x29], r13
mov qword [rbp - 0x21], r13
movups xmm0, xmmword [rax]
movdqu xmmword [rbx + 0x80], xmm0
test r14d, r14d
js 0x18009858f
test edx, edx
js 0x18009858f
cmp r14d, ecx
jg 0x18009858f
mov rax, r14
mov dword [rbp - 0x1d], edx
add rax, qword [rbp - 0x39]
mov qword [rbp - 0x29], rax
movups xmm0, xmmword [rbp - 0x29]
mov r14d, 1
movdqu xmmword [rbx + 0x90], xmm0
jmp 0x1800985a6
mov ecx, dword [rbp - 0x2d]
cmp r15d, ecx
jg 0x1800985b4
mov dword [rbp - 0x31], r15d
test r15d, r15d
jns 0x1800985b7
mov dword [rbp - 0x31], ecx
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 9]
call fcn.180099270
mov r15d, 0x1f7047dd
movups xmm0, xmmword [rax]
movdqu xmmword [rbx + 0x50], xmm0
mov dword [rbp + 0x67], 0x454c525f
lea r9, [rbp + 0x67]
mov byte [rbp + 0x6b], 0x36
mov r8d, r13d
mov eax, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
add r8d, r14d
sub al, cl
add al, 0x32
xor byte [r9], al
add r9, r14
cmp r8d, 5
jl 0x1800985e4
lea r8, [rbp + 0x67]
mov edx, esi
mov rcx, rdi
call fcn.18009a01c
test eax, eax
je 0x180098637
mov eax, eax
movzx ecx, byte [rax + rdi + 4]
movzx eax, byte [rax + rdi + 5]
shl ecx, 8
add ecx, eax
jmp 0x18009863c
mov ecx, 0xffff
mov dword [rbx + 0x14], ecx
mov r9d, r13d
or dword [rbx + 0x34], 0xffffffff
movzx eax, byte [r12 + rdi + 2]
movzx r10d, byte [r12 + rdi + 3]
shl eax, 8
mov dword [rbx + 0x38], r13d
add r10d, eax
je 0x1800986cf
lea eax, [r12 + 4]
lea eax, [rax + r9*8]
movzx edx, byte [rax + rdi + 1]
mov r8d, eax
movzx eax, byte [rax + rdi]
shl eax, 8
add edx, eax
je 0x18009869a
cmp edx, 3
jne 0x1800986c7
movzx ecx, byte [r8 + rdi + 2]
movzx eax, byte [r8 + rdi + 3]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x18009869a
cmp ecx, 9
jne 0x1800986c7
movzx eax, byte [r8 + rdi + 4]
movzx edx, byte [r8 + rdi + 5]
movzx ecx, byte [r8 + rdi + 7]
shl eax, 8
add edx, eax
movzx eax, byte [r8 + rdi + 6]
shl edx, 8
add eax, edx
shl eax, 8
add eax, r12d
add ecx, eax
mov dword [rbx + 0x38], ecx
add r9d, r14d
cmp r9d, r10d
jl 0x18009865e
cmp dword [rbx + 0x38], r13d
je 0x180098337
movsxd rcx, dword [rbx + 0x1c]
mov eax, r14d
movzx edx, byte [rcx + rdi + 0x32]
movzx ecx, byte [rcx + rdi + 0x33]
shl edx, 8
add edx, ecx
mov dword [rbx + 0x3c], edx
jmp 0x180098339