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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
mov eax, dword [0x140005550]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005548]
xor ebx, ebx
mov dword [rbp - 0x10], eax
mov rdi, rcx
movzx eax, byte [0x140005554]
mov edx, ebx
mov byte [rbp - 0xc], al
mov esi, 0xfffffffd
mov dword [rcx + 0x50], 0x12efcdab
mov dword [rcx + 0x54], 0x17cfcdfb
mov dword [rcx + 0x58], 0x16efcdab
mov dword [rcx + 0x5c], 0x13cfcddb
mov dword [rcx + 0x60], 0x11efcdab
movsd qword [rbp - 0x18], xmm0
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001230
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x30]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x28], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0x24], al
movsd qword [rbp - 0x30], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001281
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsd xmm0, qword [0x140005470]
lea r8, [rbp - 0x30]
mov qword [rdi], rax
mov edx, ebx
mov eax, dword [0x140005478]
mov dword [rbp - 0x28], eax
movzx eax, word [0x14000547c]
mov word [rbp - 0x24], ax
movzx eax, byte [0x14000547e]
mov byte [rbp - 0x22], al
movsd qword [rbp - 0x30], xmm0
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xf
jl 0x140001300
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001351
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movups xmm0, xmmword [0x1400055a8]
mov qword [rdi + 8], rax
lea r8, [rbp - 0x30]
movzx eax, word [0x1400055b8]
mov edx, ebx
mov word [rbp - 0x20], ax
movzx eax, byte [0x1400055ba]
mov byte [rbp - 0x1e], al
movups xmmword [rbp - 0x30], xmm0
nop dword [rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0x13
jl 0x1400013c0
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001411
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsd xmm0, qword [0x140005580]
lea r8, [rbp - 0x30]
mov qword [rdi + 0x10], rax
mov edx, ebx
mov eax, dword [0x140005588]
mov dword [rbp - 0x28], eax
movzx eax, word [0x14000558c]
mov word [rbp - 0x24], ax
movzx eax, byte [0x14000558e]
mov byte [rbp - 0x22], al
movsd qword [rbp - 0x30], xmm0
nop dword [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xf
jl 0x140001490
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x1400014e1
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movups xmm0, xmmword [0x140005480]
mov qword [rdi + 0x18], rax
lea r8, [rbp - 0x30]
movzx eax, byte [0x140005490]
mov edx, ebx
movups xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x20], al
nop dword [rax]
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0x11
jl 0x140001550
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x1400015a1
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp byte [0x1400054b9], bl
movups xmm0, xmmword [0x1400054a8]
mov qword [rdi + 0x20], rax
movzx eax, word [0x1400054b8]
movups xmmword [rbp - 0x18], xmm0
mov word [rbp - 8], ax
je 0x14000163b
mov edx, ebx
lea r8, [rbp - 0x18]
nop dword [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0x12
jl 0x140001610
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x30]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x28], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0x24], al
movsd qword [rbp - 0x30], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001661
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movups xmm0, xmmword [0x1400055c0]
mov qword [rdi + 0x28], rax
lea r8, [rbp - 0x30]
movzx eax, word [0x1400055d0]
mov edx, ebx
mov word [rbp - 0x20], ax
movzx eax, byte [0x1400055d2]
mov byte [rbp - 0x1e], al
movups xmmword [rbp - 0x30], xmm0
nop dword [rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0x13
jl 0x1400016d0
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001721
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movups xmm0, xmmword [0x140005568]
mov qword [rdi + 0x30], rax
lea r8, [rbp - 0x30]
movzx eax, byte [0x140005578]
mov edx, ebx
movups xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x20], al
nop dword [rax]
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0x11
jl 0x140001790
mov eax, dword [0x1400054a0]
lea r8, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov edx, ebx
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x1400017e1
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsd xmm0, qword [0x140005598]
lea r8, [rbp - 0x30]
mov qword [rdi + 0x38], rax
mov edx, ebx
mov eax, dword [0x1400055a0]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x1400055a4]
mov byte [rbp - 0x24], al
movsd qword [rbp - 0x30], xmm0
nop dword [rax]
movsx eax, dl
lea r8, [r8 + 1]
imul ecx, eax, 0x64
movzx eax, dl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test dl, 1
cmove eax, esi
inc edx
xor cl, al
xor byte [r8 - 1], cl
cmp edx, 0xd
jl 0x140001850
mov eax, dword [0x1400054a0]
lea rdx, [rbp - 0x18]
movsd xmm0, qword [0x140005498]
mov dword [rbp - 0x10], eax
movzx eax, byte [0x1400054a4]
mov byte [rbp - 0xc], al
movsd qword [rbp - 0x18], xmm0
nop
movsx eax, bl
lea rdx, [rdx + 1]
imul ecx, eax, 0x64
movzx eax, bl
and al, 0x3f
sub al, 0x60
add cl, al
mov eax, 0xffffffd6
test bl, 1
cmove eax, esi
inc ebx
xor cl, al
xor byte [rdx - 1], cl
cmp ebx, 0xd
jl 0x1400018a0
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov qword [rdi + 0x40], rax
mov rax, rdi
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret