Function at 0x14000bfa0
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov byte [0x140045e78], 0
mov rdx, qword [0x140045e40]
add rdx, 0x1912578
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [0x140045ef0], rax
test rax, rax
je 0x14000c5f3
lea rdx, [rax + 0x7e4]
mov rcx, qword [0x140045e30]
call fcn.14000c860
mov dword [0x140045f00], eax
test eax, eax
je 0x14000c5f3
mov rdx, qword [0x140045e40]
add rdx, 0x18c2d58
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [0x140045ee8], rax
mov edx, dword [0x140045f00]
shr edx, 9
and edx, 0x3f
shl edx, 3
add rdx, 0x10
add rdx, rax
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [0x140045f08], rax
mov edx, dword [0x140045f00]
and edx, 0x1ff
imul edx, edx, 0x78
add rdx, rax
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [0x140045ef8], rax
test rax, rax
je 0x14000c5f3
mov rsi, qword [0x140045e30]
mov rdi, qword [0x140045e40]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov r9d, 0x40
lea r8, [rsp + 0x40]
lea rdx, [rdi + 0x19241a0]
mov rcx, qword [rsi + 8]
call rbx
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [0x140045ea8], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [0x140045eb8], xmm1
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [0x140045ec8], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [0x140045ed8], xmm1
mov rdx, qword [0x140045ef0]
add rdx, 0x3cb
mov rcx, qword [0x140045e30]
call fcn.14000c860
mov dword [0x140045e88], eax
mov rsi, qword [0x140045e30]
mov rdi, qword [0x140045ef8]
xorps xmm6, xmm6
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], r15d
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rsp + 0x30]
lea rdx, [rdi + 0x127c]
mov rcx, qword [rsi + 8]
call rbx
movsd xmm0, qword [rsp + 0x30]
movsd qword [0x140045e7c], xmm0
mov eax, dword [rsp + 0x38]
mov dword [0x140045e84], eax
mov byte [0x140045e78], 1
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rbp - 0x70], r15
xor edx, edx
mov r8d, 0xb0
lea rcx, [rbp - 0x60]
call fcn.140030120
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], r15b
mov qword [rbp - 8], r15
movaps xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov ecx, 0x50
call fcn.14000f208
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movdqa xmm1, xmmword [0x14003e040]
movdqa xmmword [rbp + 0x40], xmm1
mov byte [rbp + 0x30], r15b
mov r14d, 1
mov rdx, qword [0x140045ee8]
add rdx, 0x10
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
test rax, rax
je 0x14000c503
movss xmm7, dword [0x14003e034]
nop
mov ecx, r14d
and ecx, 0x1ff
imul edx, ecx, 0x78
add rdx, rax
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14000c4ce
lea rdx, [rax + 0x3cb]
mov rcx, qword [0x140045e30]
call fcn.14000c860
mov dword [rbp - 0x58], eax
cmp byte [0x140048358], 0
je 0x14000c303
cmp eax, dword [0x140045e88]
je 0x14000c4ce
mov rdx, qword [rbp - 0x60]
add rdx, 0x7e4
mov rcx, qword [0x140045e30]
call fcn.14000c860
mov ebx, eax
mov edx, eax
shr rdx, 9
and edx, 0x3f
mov rax, qword [0x140045ee8]
add rax, 0x10
lea rdx, [rax + rdx*8]
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
test rax, rax
je 0x14000c4ce
and ebx, 0x1ff
imul rdx, rbx, 0x78
add rdx, rax
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14000c4ce
lea rdx, [rax + 0x334]
mov rcx, qword [0x140045e30]
call fcn.14000c860
mov dword [rbp - 0x30], eax
dec eax
cmp eax, 0x63
ja 0x14000c4ce
mov rdx, qword [rbp - 0x50]
cmp byte [0x140048358], 0
je 0x14000c3aa
cmp rdx, qword [0x140045ef0]
je 0x14000c4ce
add rdx, 0x318
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
mov qword [rbp - 0x48], rax
mov rsi, qword [0x140045e30]
mov rdi, qword [rbp - 0x50]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rsp + 0x30]
lea rdx, [rdi + 0x127c]
mov rcx, qword [rsi + 8]
call rbx
movsd xmm0, qword [rsp + 0x30]
movsd qword [rbp - 8], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rbp], eax
movd xmm3, eax
movaps xmm0, xmm3
addss xmm0, xmm7
movss xmm2, dword [rsp + 0x30]
movss dword [rbp + 4], xmm2
movss xmm1, dword [rsp + 0x34]
movss dword [rbp + 8], xmm1
movss dword [rbp + 0xc], xmm0
ucomiss xmm2, dword [0x140045e7c]
jp 0x14000c490
jne 0x14000c490
ucomiss xmm1, dword [0x140045e80]
jp 0x14000c490
jne 0x14000c490
ucomiss xmm3, dword [0x140045e84]
jp 0x14000c490
je 0x14000c4ce
ucomiss xmm2, xmm6
jp 0x14000c49e
jne 0x14000c49e
ucomiss xmm1, xmm6
jp 0x14000c49e
je 0x14000c4ce
mov rax, qword [rbp - 0x78]
cmp rax, qword [rbp - 0x70]
je 0x14000c4be
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.14000db50
add qword [rbp - 0x78], 0xb0
jmp 0x14000c4ce
lea r8, [rbp - 0x60]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14000cbc0
inc r14d
mov edx, r14d
and edx, 0x7fff
shl edx, 3
sar edx, 9
mov rax, qword [0x140045ee8]
add rax, 0x10
add rdx, rax
mov rcx, qword [0x140045e30]
call fcn.14000c7b0
test rax, rax
jne 0x14000c2b0
mov rbx, qword [0x140045e90]
mov rdi, qword [0x140045e98]
cmp rbx, rdi
je 0x14000c538
mov rcx, rbx
call fcn.14000af20
add rbx, 0xb0
cmp rbx, rdi
jne 0x14000c516
mov rax, qword [0x140045e90]
mov qword [0x140045e98], rax
mov rcx, qword [rbp - 0x78]
sub rcx, qword [rbp - 0x80]
movabs rsi, 0x2e8ba2e8ba2e8ba3
mov rax, rsi
imul rcx
sar rdx, 5
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rbp - 0x80]
lea rcx, [0x140045e90]
call fcn.14000c940
nop
lea rcx, [rbp - 0x60]
call fcn.14000af20
nop
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x14000c5f3
mov rdi, qword [rbp - 0x78]
cmp rbx, rdi
je 0x14000c5a8
nop dword [rax + rax]
mov rcx, rbx
call fcn.14000af20
add rbx, 0xb0
cmp rbx, rdi
jne 0x14000c590
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
sub rcx, rbx
mov rax, rsi
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0xb0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000c5eb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c626
mov rcx, rbx
call fcn.14000f200
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14000f1e0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140019920
int3