Function at 0x1400316e0
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
movdqa xmm0, xmmword [0x14004c1b0]
xor ebx, ebx
movdqu xmmword [rbp + 0xf], xmm0
mov ecx, ebx
mov byte [rbp + 0x1f], 1
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0xf], al
inc rcx
cmp rcx, 0xf
jb 0x140031710
mov byte [rbp + 0x1f], bl
mov rcx, rbx
mov dword [rbp + 0x67], 0xcf95938e
mov dword [rbp + 0x6b], 0x1008bcf
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0x67], al
inc rcx
cmp rcx, 6
jb 0x140031740
lea rcx, [rbp + 0x67]
mov byte [rbp + 0x6e], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x140031886
movdqa xmm0, xmmword [0x14004c1b0]
mov rcx, rbx
movdqu xmmword [rbp + 0x27], xmm0
mov byte [rbp + 0x37], 1
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0x27], al
inc rcx
cmp rcx, 0xf
jb 0x140031790
mov byte [rbp + 0x37], bl
mov rcx, rbx
mov dword [rbp + 0x6f], 0x8e9e898c
mov dword [rbp + 0x73], 0x100ccce
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0x6f], al
inc rcx
cmp rcx, 6
jb 0x1400317c0
lea rcx, [rbp + 0x6f]
mov byte [rbp + 0x76], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x140031886
mov dword [rbp - 0x49], 0x98959faa
mov rcx, rbx
mov dword [rbp - 0x45], 0x758f90b4
mov word [rbp - 0x41], 0x75
mov byte [rbp - 0x3f], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x49], al
inc rcx
cmp rcx, 9
jb 0x140031820
mov byte [rbp - 0x3f], bl
mov rcx, rbx
mov dword [rbp + 0x77], 0x8e9e898c
mov dword [rbp + 0x7b], 0x100ccce
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0x77], al
inc rcx
cmp rcx, 6
jb 0x140031850
lea rcx, [rbp + 0x77]
mov byte [rbp + 0x7e], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x140031a23
movdqa xmm0, xmmword [0x14004d570]
mov rcx, rbx
movdqu xmmword [rbp - 0x39], xmm0
mov dword [rbp - 0x29], 0x6d7f5970
mov dword [rbp - 0x25], 0x1006b79
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x39], al
inc rcx
cmp rcx, 0x16
jb 0x1400318b0
mov byte [rbp - 0x22], bl
mov rcx, rbx
mov dword [rbp + 0x7f], 0xcf95938e
mov dword [rbp + 0x83], 0x1008bcf
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx + 0x7f], al
inc rcx
cmp rcx, 6
jb 0x1400318e0
lea rcx, [rbp + 0x7f]
mov byte [rbp + 0x86], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x140031a30
movdqa xmm0, xmmword [0x14004d570]
mov rcx, rbx
movdqu xmmword [rbp - 0x21], xmm0
mov dword [rbp - 0x11], 0x6d7f5970
mov dword [rbp - 0xd], 0x1006b79
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x21], al
inc rcx
cmp rcx, 0x16
jb 0x140031940
mov byte [rbp - 0xa], bl
mov rcx, rbx
mov dword [rbp - 0x59], 0x8e9e898c
mov dword [rbp - 0x55], 0x100ccce
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 6
jb 0x140031970
lea rcx, [rbp - 0x59]
mov byte [rbp - 0x52], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x140031a30
movdqa xmm0, xmmword [0x14004d590]
mov rcx, rbx
movdqu xmmword [rbp - 9], xmm0
mov word [rbp + 7], 0x100
nop dword [rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 0x10
jb 0x1400319c0
mov byte [rbp + 8], bl
mov dword [rbp - 0x51], 0x8e9e898c
mov dword [rbp - 0x4d], 0x100ccce
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx - 7]
xor byte [rbp + rbx - 0x51], al
inc rbx
cmp rbx, 6
jb 0x1400319f0
lea rcx, [rbp - 0x51]
mov byte [rbp - 0x4a], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x140031a30
xor al, al
add rsp, 0xc0
pop rdi
pop rbx
pop rbp
ret
movups xmm0, xmmword [rdi]
movups xmmword [0x14015ee40], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [0x14015ee50], xmm1
mov eax, dword [rdi + 0x18]
mov dword [0x14015ee58], eax
movzx eax, word [rdi + 0x1c]
mov word [0x14015ee5c], ax
movups xmm0, xmmword [rcx]
movups xmmword [0x14015ee60], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [0x14015ee70], xmm1
mov eax, dword [rcx + 0x18]
mov dword [0x14015ee78], eax
movzx eax, word [rcx + 0x1c]
mov word [0x14015ee7c], ax
mov al, 1
add rsp, 0xc0
pop rdi
pop rbx
pop rbp
ret