Function at 0x14003b110
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
mov rsi, qword [0x140063008]
lea r13, [rbp + 0x5f]
movabs rax, 0x7a5db90d33787107
mov qword [rbp - 9], rax
mov qword [rbp - 1], r13
mov rdi, qword [r13]
mov r12, rdi
xor r12, rax
mov qword [rbp - 0x11], r12
mov qword [r13], 0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov r14d, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
test rsi, rsi
jne 0x14003b1a3
mov qword [r13], rdi
jmp 0x14003b492
lea r13, [rbp + 0x5f]
mov rbx, qword [r13]
mov qword [r13], 0
lea rcx, [rsi + 0x360]
call fcn.140044e40
movaps xmm6, xmm0
lea rcx, [rsi + 0x368]
call fcn.140044e40
addss xmm0, dword [0x14004f184]
comiss xmm0, xmm6
mov qword [r13], rbx
jae 0x14003b1eb
lea rax, [rbp + 0x5f]
mov qword [rax], rdi
jmp 0x14003b492
mov r8d, 0x6d
mov rdx, rsi
lea rcx, [rbp - 0x29]
call fcn.1400395d0
movups xmm0, xmmword [rbp - 0x29]
movaps xmmword [rbp + 7], xmm0
movsd xmm1, qword [rbp - 0x19]
movsd qword [rbp + 0x17], xmm1
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x29]
call fcn.140039360
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm3, xmm3
movss xmm5, dword [0x140057070]
movsd xmm6, qword [0x14004f8b0]
movsd xmm2, qword [rbp - 0x29]
ucomisd xmm2, xmm3
jp 0x14003b243
je 0x14003b2a8
movd xmm4, r14d
cvtdq2pd xmm4, xmm4
comisd xmm2, xmm4
jbe 0x14003b283
movaps xmm1, xmm4
subsd xmm1, xmm2
xorps xmm1, xmm6
cvtps2pd xmm0, xmm5
divsd xmm1, xmm0
movsd qword [rbp - 0x39], xmm1
addsd xmm1, xmm4
lea eax, [r14 + r14]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x14003b283
movsd qword [rbp - 0x39], xmm3
comisd xmm4, xmm2
jbe 0x14003b2a8
subsd xmm2, xmm4
cvtps2pd xmm0, xmm5
divsd xmm2, xmm0
movsd qword [rbp - 0x39], xmm2
addsd xmm2, xmm4
comisd xmm3, xmm2
jbe 0x14003b2a8
movsd qword [rbp - 0x39], xmm3
movsd xmm2, qword [rbp - 0x21]
ucomisd xmm2, xmm3
jp 0x14003b2b5
je 0x14003b31a
movd xmm4, r15d
cvtdq2pd xmm4, xmm4
comisd xmm2, xmm4
jbe 0x14003b2f5
movaps xmm1, xmm4
subsd xmm1, xmm2
xorps xmm1, xmm6
cvtps2pd xmm0, xmm5
divsd xmm1, xmm0
movsd qword [rbp - 0x31], xmm1
addsd xmm1, xmm4
lea eax, [r15 + r15]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x14003b2f5
movsd qword [rbp - 0x31], xmm3
comisd xmm4, xmm2
jbe 0x14003b31a
subsd xmm2, xmm4
cvtps2pd xmm0, xmm5
divsd xmm2, xmm0
movsd qword [rbp - 0x31], xmm2
addsd xmm2, xmm4
comisd xmm3, xmm2
jbe 0x14003b31a
movsd qword [rbp - 0x31], xmm3
lea r14, [rbp + 0x5f]
movabs r15, 0x7a5db90d33787107
mov qword [rbp + 0xf], r15
mov qword [rbp + 0x17], r14
mov rbx, qword [r14]
xor rbx, r15
mov qword [rbp + 7], rbx
mov qword [r14], 0
xor ecx, ecx
lea rsi, [0x140044f80]
lea rdi, [0x140000000]
mov rax, qword [0x14005bb80]
test rax, rax
je 0x14003b389
xor edx, edx
nop
cmp rax, rsi
je 0x14003b378
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x5bb80]
test rax, rax
jne 0x14003b360
jmp 0x14003b389
mov r9, qword [rdi + rdx*8 + 0x59f30]
test r9, r9
jne 0x14003b46f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
je 0x14003b44e
mov rax, rsi
mov rcx, r9
mov edx, 3
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14003b3c0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140059f20]
mov qword [rdi + rax*8 + 0x5bb80], rsi
mov qword [rdi + rax*8 + 0x59f30], r9
inc rax
mov qword [0x140059f20], rax
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x39]
lea rcx, [0x14003af00]
call r9
nop
xor rbx, r15
mov qword [r14], rbx
xor r12, r15
lea rax, [rbp + 0x5f]
mov qword [rax], r12
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret