Function at 0x140031bb0
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 [0x140048070]
xor ebx, ebx
movdqu xmmword [rbp + 0xf], xmm0
mov ecx, ebx
mov byte [rbp + 0x1f], 1
nop word [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0xf], al
inc rcx
cmp rcx, 0xf
jb 0x140031be0
mov byte [rbp + 0x1f], bl
mov rcx, rbx
mov dword [rbp + 0x67], 0x8fd5d3ce
mov dword [rbp + 0x6b], 0x100cb8f
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0x67], al
inc rcx
cmp rcx, 6
jb 0x140031c10
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 0x140031d56
movdqa xmm0, xmmword [0x140048070]
mov rcx, rbx
movdqu xmmword [rbp + 0x27], xmm0
mov byte [rbp + 0x37], 1
nop word [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0x27], al
inc rcx
cmp rcx, 0xf
jb 0x140031c60
mov byte [rbp + 0x37], bl
mov rcx, rbx
mov dword [rbp + 0x6f], 0xcedec9cc
mov dword [rbp + 0x73], 0x1008c8e
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0x6f], al
inc rcx
cmp rcx, 6
jb 0x140031c90
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 0x140031d56
mov dword [rbp - 0x49], 0xd8d5dfea
mov rcx, rbx
mov dword [rbp - 0x45], 0xb5cfd0f4
mov word [rbp - 0x41], 0xb5
mov byte [rbp - 0x3f], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 0x49], al
inc rcx
cmp rcx, 9
jb 0x140031cf0
mov byte [rbp - 0x3f], bl
mov rcx, rbx
mov dword [rbp + 0x77], 0xcedec9cc
mov dword [rbp + 0x7b], 0x1008c8e
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0x77], al
inc rcx
cmp rcx, 6
jb 0x140031d20
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 0x140031ef3
movdqa xmm0, xmmword [0x140048b60]
mov rcx, rbx
movdqu xmmword [rbp - 0x39], xmm0
mov dword [rbp - 0x29], 0xadbf99b0
mov dword [rbp - 0x25], 0x100abb9
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 0x39], al
inc rcx
cmp rcx, 0x16
jb 0x140031d80
mov byte [rbp - 0x22], bl
mov rcx, rbx
mov dword [rbp + 0x7f], 0x8fd5d3ce
mov dword [rbp + 0x83], 0x100cb8f
nop word [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx + 0x7f], al
inc rcx
cmp rcx, 6
jb 0x140031db0
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 0x140031f00
movdqa xmm0, xmmword [0x140048b60]
mov rcx, rbx
movdqu xmmword [rbp - 0x21], xmm0
mov dword [rbp - 0x11], 0xadbf99b0
mov dword [rbp - 0xd], 0x100abb9
nop word [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 0x21], al
inc rcx
cmp rcx, 0x16
jb 0x140031e10
mov byte [rbp - 0xa], bl
mov rcx, rbx
mov dword [rbp - 0x59], 0xcedec9cc
mov dword [rbp - 0x55], 0x1008c8e
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 6
jb 0x140031e40
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 0x140031f00
movdqa xmm0, xmmword [0x140048b80]
mov rcx, rbx
movdqu xmmword [rbp - 9], xmm0
mov word [rbp + 7], 0x100
nop dword [rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 0x10
jb 0x140031e90
mov byte [rbp + 8], bl
mov dword [rbp - 0x51], 0xcedec9cc
mov dword [rbp - 0x4d], 0x1008c8e
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx - 0x47]
xor byte [rbp + rbx - 0x51], al
inc rbx
cmp rbx, 6
jb 0x140031ec0
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 0x140031f00
xor al, al
add rsp, 0xc0
pop rdi
pop rbx
pop rbp
ret
movups xmm0, xmmword [rdi]
movups xmmword [0x14021ee50], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [0x14021ee60], xmm1
mov eax, dword [rdi + 0x18]
mov dword [0x14021ee68], eax
movzx eax, word [rdi + 0x1c]
mov word [0x14021ee6c], ax
movups xmm0, xmmword [rcx]
movups xmmword [0x14021ee70], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [0x14021ee80], xmm1
mov eax, dword [rcx + 0x18]
mov dword [0x14021ee88], eax
movzx eax, word [rcx + 0x1c]
mov word [0x14021ee8c], ax
mov al, 1
add rsp, 0xc0
pop rdi
pop rbx
pop rbp
ret