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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x248]
sub rsp, 0x348
movdqa xmm1, xmmword [0x1801273e0]
lea rax, [rbp + 0x80]
movdqa xmm0, xmmword [0x1801273d0]
mov rsi, rcx
movzx r14d, byte [rdx]
movzx ecx, byte [rdx + 4]
shl ecx, 8
movups xmmword [rbp + 0x40], xmm0
shl r14d, 8
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rax], xmm1
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm1
movups xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm1
movups xmmword [rax + 0x80], xmm1
movups xmmword [rax + 0x90], xmm1
movups xmmword [rax + 0xa0], xmm1
movups xmmword [rax + 0xb0], xmm1
movzx eax, byte [rdx + 1]
or r14d, eax
movzx eax, byte [rdx + 2]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 3]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 5]
or ecx, eax
mov dword [rsp + 0x30], r14d
movzx eax, byte [rdx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 9]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xd]
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x11]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x15]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x19]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x4c], ecx
movzx ecx, byte [rdx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x22]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x50], ecx
movzx ecx, byte [rdx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rdx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rdx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x5c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x32]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x35]
lea rdi, [rsp + 0x30]
mov dword [rsp + 0x60], ecx
mov r15d, select
movzx ecx, byte [rdx + 0x34]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x36]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x39]
mov dword [rsp + 0x64], ecx
movzx ecx, byte [rdx + 0x38]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3d]
mov dword [rsp + 0x68], ecx
movzx ecx, byte [rdx + 0x3c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3f]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x6c], ecx
nop word [rax + rax]
mov ecx, dword [rdi + 0x34]
mov r11d, dword [rdi + 0xc]
lea rdi, [rdi + 0x10]
rol ecx, 0xf
xor ecx, dword [rdi + 0xc]
xor ecx, r14d
rol r11d, 7
mov eax, ecx
rol eax, 0xf
xor r11d, eax
mov eax, ecx
ror eax, 9
xor r11d, eax
xor r11d, dword [rdi + 0x18]
xor r11d, ecx
mov dword [rdi + 0x30], r11d
mov edx, dword [rdi + 0x28]
mov r14d, dword [rdi]
mov ecx, r14d
rol ecx, 7
rol edx, 0xf
xor edx, dword [rdi + 0x10]
xor edx, dword [rdi - 0xc]
mov eax, edx
rol r11d, 0xf
xor r11d, dword [rdi + 0x18]
xor r11d, dword [rdi - 4]
rol eax, 0xf
xor ecx, eax
mov eax, edx
ror eax, 9
xor ecx, eax
xor ecx, dword [rdi + 0x1c]
xor ecx, edx
mov dword [rdi + 0x34], ecx
mov edx, dword [rdi + 0x2c]
mov ecx, dword [rdi + 4]
rol ecx, 7
rol edx, 0xf
xor edx, dword [rdi + 0x14]
xor edx, dword [rdi - 8]
mov eax, edx
rol eax, 0xf
xor ecx, eax
mov eax, edx
ror eax, 9
xor ecx, eax
mov eax, r11d
xor ecx, dword [rdi + 0x20]
xor ecx, edx
rol eax, 0xf
mov dword [rdi + 0x38], ecx
mov ecx, dword [rdi + 8]
rol ecx, 7
xor ecx, eax
mov eax, r11d
ror eax, 9
xor ecx, eax
xor ecx, dword [rdi + 0x24]
xor ecx, r11d
mov dword [rdi + 0x3c], ecx
sub r15, 1
jne 0x180080710
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov eax, r12d
nop word [rax + rax]
movdqu xmm2, xmmword [rsp + rax + 0x40]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm3, xmmword [rsp + rax + 0x50]
movdqa xmm1, xmm2
pxor xmm1, xmm0
pxor xmm2, xmm3
movdqu xmmword [rbp + rax + 0x140], xmm1
movdqu xmm1, xmmword [rsp + rax + 0x70]
movdqu xmmword [rbp + rax + 0x150], xmm2
movdqu xmm2, xmmword [rsp + rax + 0x60]
movdqa xmm0, xmm2
pxor xmm1, xmm2
pxor xmm0, xmm3
movdqu xmmword [rbp + rax + 0x160], xmm0
movdqu xmmword [rbp + rax + 0x170], xmm1
add rax, 0x40
cmp rax, 0x100
jl 0x1800807e0
mov eax, dword [rsi + 8]
mov r10d, r12d
mov r14d, dword [rsi + 0x10]
mov r13d, eax
mov r15d, dword [rsi + 0x14]
mov r9d, 0xfffffffd
mov r11d, dword [rsi + 0x18]
mov ebx, dword [rsi + 0x1c]
mov rcx, qword [rbp + 0x290]
mov dword [rsp + 4], eax
mov eax, dword [rsi + 0xc]
mov esi, dword [rsi + 0x20]
mov edi, dword [rcx + 0x24]
mov dword [rbp + 0x298], r12d
mov r12d, r10d
mov dword [rsp + 0x20], edi
mov dword [rsp + 8], eax
mov dword [rsp + 0xc], r14d
mov dword [rsp + 0x10], r15d
mov dword [rsp + 0x14], r11d
mov dword [rsp + 0x18], ebx
mov dword [rsp + 0x1c], esi
mov dword [rsp], r9d
jmp 0x1800808b7
mov r10d, dword [rbp + 0x298]
mov edx, dword [rbp + r12 + 0x40]
lea ecx, [r9 + 3]
and ecx, 0x1f
mov r9d, edx
shr r9d, cl
mov r8d, r13d
rol r8d, 0xc
mov ecx, r10d
and ecx, 0x1f
shl edx, cl
mov ecx, r14d
xor ecx, eax
or r9d, edx
xor ecx, r13d
rol eax, 9
add r9d, r8d
mov dword [rbp + 0x2a0], eax
add r9d, r11d
rol r9d, 7
xor r8d, r9d
add ecx, r8d
add ecx, dword [rbp + r12 + 0x140]
add r15d, ecx
mov ecx, esi
xor ecx, ebx
mov edx, r15d
xor ecx, r11d
ror ebx, 0xd
add ecx, dword [rsp + r12 + 0x30]
add ecx, r9d
rol edx, 0xc
mov r9d, dword [rbp + r12 + 0x44]
add ecx, edi
mov edi, ecx
mov eax, ecx
ror edi, 0xf
rol eax, 9
xor edi, eax
lea eax, [r10 + 2]
xor edi, ecx
mov dword [rbp + 0x2a8], eax
dec eax
and eax, 0x8000001f
jge 0x18008094e
dec eax
or eax, 0xffffffe0
inc eax
movzx ecx, al
mov r8d, r9d
shl r8d, cl
mov eax, r15d
xor eax, dword [rbp + 0x2a0]
mov ecx, r10d
mov r10d, dword [rbp + r12 + 0x48]
not ecx
and ecx, 0x1f
xor eax, r13d
shr r9d, cl
or r8d, r9d
rol r13d, 9
mov r9d, dword [rsp]
add r8d, edx
add r8d, edi
rol r8d, 7
xor edx, r8d
add eax, edx
mov edx, ebx
add eax, dword [rbp + r12 + 0x144]
xor edx, r11d
xor edx, edi
ror r11d, 0xd
add edx, dword [rsp + r12 + 0x34]
add eax, r14d
add edx, r8d
mov r14d, eax
add edx, esi
mov r8d, r10d
mov esi, edx
mov ecx, edx
rol ecx, 9
ror esi, 0xf
xor esi, ecx
lea ecx, [r9 + 1]
and ecx, 0x1f
xor esi, edx
shr r8d, cl
mov edx, eax
mov ecx, dword [rbp + 0x2a8]
rol edx, 0xc
and ecx, 0x8000001f
jge 0x1800809e5
dec ecx
or ecx, 0xffffffe0
inc ecx
shl r10d, cl
xor eax, r13d
or r8d, r10d
xor eax, r15d
mov r10d, dword [rbp + r12 + 0x4c]
add r8d, edx
add r8d, esi
rol r15d, 9
rol r8d, 7
xor edx, r8d
add eax, edx
mov edx, r11d
add eax, dword [rbp + r12 + 0x148]
xor edx, edi
add eax, dword [rbp + 0x2a0]
xor edx, esi
add edx, dword [rsp + r12 + 0x38]
add edx, r8d
ror edi, 0xd
add edx, ebx
mov ebx, edx
mov ecx, edx
ror ebx, 0xf
rol ecx, 9
xor ebx, ecx
mov ecx, dword [rbp + 0x2a8]
xor ebx, edx
mov edx, eax
rol edx, 0xc
inc ecx
and ecx, 0x8000001f
jge 0x180080a55
dec ecx
or ecx, 0xffffffe0
inc ecx
add dword [rbp + 0x298], 4
mov r8d, r10d
shl r8d, cl
mov ecx, r9d
and ecx, 0x1f
sub r9d, 4
shr r10d, cl
or r8d, r10d
mov dword [rsp], r9d
add r8d, edx
mov r10d, eax
xor r10d, r15d
add r8d, ebx
xor r10d, r14d
rol r8d, 7
xor edx, r8d
rol r14d, 9
add r10d, edx
mov edx, edi
add r10d, dword [rbp + r12 + 0x14c]
xor edx, esi
xor edx, ebx
ror esi, 0xd
add edx, dword [rsp + r12 + 0x3c]
add r10d, r13d
add edx, r8d
add r12, 0x10
add edx, r11d
mov r13d, r10d
mov r11d, edx
mov ecx, edx
ror r11d, 0xf
rol ecx, 9
xor r11d, ecx
xor r11d, edx
cmp r9d, 0xffffffed
jg 0x1800808b0
mov r12, qword [rsp + 0x28]
mov r9d, 0xffffffed
mov dword [rbp + 0x2a8], r9d
mov dword [rbp + 0x298], select
mov edx, dword [rbp + r12 + 0x80]
lea ecx, [r9 + 3]
and ecx, 0x1f
mov dword [rsp], r14d
mov r9d, edx
mov r8d, r10d
shr r9d, cl
mov ecx, dword [rbp + 0x298]
and ecx, 0x1f
rol r8d, 0xc
shl edx, cl
mov ecx, r10d
or r9d, edx
or ecx, eax
and ecx, r14d
add r9d, r8d
and r10d, eax
add r9d, r11d
or ecx, r10d
rol r9d, 7
mov r10d, dword [rbp + r12 + 0x84]
xor r8d, r9d
add ecx, r8d
rol eax, 9
add ecx, dword [rbp + r12 + 0x180]
mov edx, r11d
add r15d, ecx
not edx
and edx, esi
mov ecx, ebx
and ecx, r11d
ror ebx, 0xd
or edx, ecx
add edx, dword [rsp + r12 + 0x70]
add edx, r9d
mov r9d, dword [rbp + 0x298]
add edx, edi
mov edi, edx
mov ecx, edx
ror edi, 0xf
rol ecx, 9
xor edi, ecx
lea ecx, [r9 + 2]
xor edi, edx
mov dword [rbp + 0x2a0], ecx
mov edx, r15d
rol edx, 0xc
dec ecx
and ecx, 0x8000001f
jge 0x180080ba4
dec ecx
or ecx, 0xffffffe0
inc ecx
mov r8d, r10d
mov r14d, r15d
shl r8d, cl
or r14d, r13d
and r14d, eax
mov ecx, r9d
mov r9d, dword [rbp + 0x2a8]
not ecx
and ecx, 0x1f
shr r10d, cl
mov ecx, r15d
or r8d, r10d
and ecx, r13d
mov r10d, dword [rbp + r12 + 0x88]
add r8d, edx
or r14d, ecx
rol r13d, 9
add r8d, edi
mov ecx, r11d
rol r8d, 7
and ecx, edi
xor edx, r8d
ror r11d, 0xd
add r14d, edx
mov edx, edi
add r14d, dword [rbp + r12 + 0x184]
not edx
add r14d, dword [rsp]
and edx, ebx
or edx, ecx
mov dword [rsp], eax
add edx, dword [rsp + r12 + 0x74]
lea ecx, [r9 + 1]
add edx, r8d
and ecx, 0x1f
add edx, esi
mov r8d, r10d
mov esi, edx
shr r8d, cl
mov eax, edx
ror esi, 0xf
rol eax, 9
xor esi, eax
mov eax, dword [rbp + 0x2a0]
xor esi, edx
mov edx, r14d
rol edx, 0xc
and eax, 0x8000001f
jge 0x180080c4c
dec eax
or eax, 0xffffffe0
inc eax
movzx ecx, al
mov eax, r14d
shl r10d, cl
or eax, r15d
or r8d, r10d
and eax, r13d
mov r10d, dword [rbp + r12 + 0x8c]
add r8d, edx
add r8d, esi
mov ecx, r14d
and ecx, r15d
rol r8d, 7
xor edx, r8d
rol r15d, 9
or eax, ecx
mov ecx, edi
add eax, edx
ror edi, 0xd
add eax, dword [rbp + r12 + 0x188]
and ecx, esi
add eax, dword [rsp]
mov edx, esi
not edx
and edx, r11d
or edx, ecx
add edx, dword [rsp + r12 + 0x78]
add edx, r8d
add edx, ebx
mov ebx, edx
mov ecx, edx
ror ebx, 0xf
rol ecx, 9
xor ebx, ecx
mov ecx, dword [rbp + 0x2a0]
xor ebx, edx
mov edx, eax
rol edx, 0xc
inc ecx
and ecx, 0x8000001f
jge 0x180080cd0
dec ecx
or ecx, 0xffffffe0
inc ecx
add dword [rbp + 0x298], 4
mov r8d, r10d
shl r8d, cl
mov ecx, r9d
and ecx, 0x1f
sub r9d, 4
shr r10d, cl
mov ecx, eax
or r8d, r10d
mov dword [rbp + 0x2a8], r9d
add r8d, edx
and ecx, r14d
add r8d, ebx
mov r10d, eax
or r10d, r14d
rol r8d, 7
xor edx, r8d
rol r14d, 9
and r10d, r15d
or r10d, ecx
mov ecx, esi
add r10d, edx
ror esi, 0xd
add r10d, dword [rbp + r12 + 0x18c]
and ecx, ebx
add r10d, r13d
mov edx, ebx
not edx
mov r13d, r10d
and edx, edi
or edx, ecx
add edx, dword [rsp + r12 + 0x7c]
add r12, 0x10
add edx, r8d
add edx, r11d
mov r11d, edx
mov ecx, edx
ror r11d, 0xf
rol ecx, 9
xor r11d, ecx
xor r11d, edx
cmp r9d, 0xffffffbd
jg 0x180080af1
mov rcx, qword [rbp + 0x290]
mov edx, dword [rsp + 4]
xor edx, r10d
mov dword [rcx + 8], edx
mov edx, dword [rsp + 8]
xor edx, eax
mov eax, dword [rsp + 0xc]
xor eax, r14d
mov dword [rcx + 0xc], edx
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x10]
xor eax, r15d
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x14]
xor eax, r11d
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x18]
xor eax, ebx
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x1c]
xor eax, esi
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x20]
xor eax, edi
mov dword [rcx + 0x24], eax
add rsp, 0x348
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret