Function at 0x18004f810
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rsi, rcx
movzx edi, dl
mov rcx, qword [0x1801170c0]
mov rax, qword [rcx]
mov r8, qword [rax + 0x60]
call r8
mov rcx, qword [0x1801170d8]
mov edx, eax
mov r8, qword [rcx]
mov r9, qword [r8 + 0x18]
call r9
mov edx, dword [0x180116f4c]
mov rbx, rax
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov edx, dword [rax + rcx]
cmp dword [0x18011d41c], edx
jle 0x18004f89e
lea rcx, [0x18011d41c]
call fcn.1800dc2e0
cmp dword [0x18011d41c], 0xffffffff
jne 0x18004f89e
mov rax, qword [rbx + 0x3618]
lea rcx, [0x18011d41c]
mov qword [0x18011d428], rax
call fcn.1800dc274
mov rax, qword [rbx + 0x3618]
cmp rax, qword [0x18011d428]
mov qword [rsp + 0x70], rbp
je 0x18004f902
mov rcx, qword [0x18011d180]
xor ebp, ebp
test rcx, rcx
je 0x18004f8d0
mov rax, qword [rcx]
mov rdx, qword [rax]
call rdx
mov qword [0x18011d180], rbp
mov rcx, qword [0x18011d420]
test rcx, rcx
je 0x18004f8ed
mov edx, 0x10
call fcn.1800dbec0
mov qword [0x18011d420], rbp
mov rax, qword [rbx + 0x3618]
mov qword [0x18011d428], rax
mov byte [0x180117164], 1
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x408]
call rdx
test al, al
je 0x18004fc28
cmp byte [rbx + 0x1fa], 0
jne 0x18004fc28
mov rcx, qword [0x18011d180]
test rcx, rcx
movaps xmmword [rsp + 0x50], xmm6
sete al
cmp byte [0x180117164], 0
jne 0x18004f945
test al, al
je 0x18004f997
test al, al
je 0x18004f95b
mov rcx, rbx
call fcn.18004f220
mov rcx, rax
mov qword [0x18011d180], rax
mov r8, qword [0x18011d420]
test r8, r8
jne 0x18004f987
lea ecx, [r8 + 0x10]
call fcn.1800dc358
mov rcx, qword [0x18011d180]
xorps xmm0, xmm0
mov r8, rax
mov qword [0x18011d420], rax
movups xmmword [rax], xmm0
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x60]
mov byte [0x180117164], 0
mov rcx, qword [0x1801170e0]
mov eax, dword [rcx + 0x1c]
movss xmm6, dword [rcx + 0x10]
mov dword [rcx + 0x10], eax
mov rcx, rbx
mov rax, qword [rbx]
mov rdx, qword [rax + 0x460]
call rdx
mov rcx, rbx
movsd xmm0, qword [rax]
mov ebp, dword [rax + 8]
mov rax, qword [rbx]
movsd qword [rsp + 0x40], xmm0
mov rdx, qword [rax + 0x460]
call rdx
mov ecx, dword [rsi + 8]
mov byte [0x18011715c], 1
mov dword [rax], ecx
mov ecx, dword [rsi + 0xc]
mov dword [rax + 4], ecx
mov ecx, dword [rsi + 0x10]
mov dword [rax + 8], ecx
mov rcx, qword [0x18011d180]
movss xmm2, dword [rsi + 8]
movss xmm1, dword [rsi + 0xc]
mov rax, qword [rcx]
call qword [rax + 0x20]
test dil, dil
je 0x18004fbe0
mov rcx, rbx
call fcn.18004f730
mov rcx, rbx
call fcn.18004ae50
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call rdx
mov rcx, qword [0x1801170e0]
lea rdx, [0x18011a180]
mov edi, 0x100
mov r9d, 0x7ff00
mov r8d, edi
movss xmm0, dword [rcx + 0xc]
mov rcx, qword [rax]
movss dword [rsp + 0x20], xmm0
mov r10, qword [rcx + 0x80]
mov rcx, rax
call r10
test al, al
je 0x18004fad9
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x48]
call rdx
mov ecx, edi
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x30], xmm0
movss xmm3, dword [rsp + 0x34]
movss xmm4, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
lea rax, [0x18011a19c]
movss xmm2, dword [rsp + 0x38]
nop dword [rax + rax]
movss xmm0, dword [rax - 0x10]
movss xmm1, dword [rax]
subss xmm0, xmm4
subss xmm1, xmm3
movss dword [rax - 0x10], xmm0
movss xmm0, dword [rax + 0x10]
subss xmm0, xmm2
movss dword [rax], xmm1
movss dword [rax + 0x10], xmm0
add rax, 0x30
sub rcx, 1
jne 0x18004faa0
mov byte [0x18011a171], 1
mov rcx, rbx
call fcn.18004f730
mov rax, qword [0x1801170e0]
movd xmm2, dword [0x180117160]
cvtdq2ps xmm2, xmm2
mov byte [0x18011715c], 1
mulss xmm2, dword [rax + 0x1c]
movss dword [rax + 0x10], xmm2
mov rcx, qword [rbx + 0x3618]
movss xmm2, dword [rsi + 8]
movss xmm1, dword [rsi + 0xc]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rbx
call fcn.18004ae50
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call rdx
mov rcx, qword [0x1801170e0]
lea rdx, [0x180117170]
mov r9d, 0x7ff00
mov r8d, edi
movss xmm0, dword [rcx + 0xc]
mov rcx, qword [rax]
movss dword [rsp + 0x20], xmm0
mov r10, qword [rcx + 0x80]
mov rcx, rax
call r10
test al, al
je 0x18004fbd9
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x48]
call rdx
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x30], xmm0
movss xmm3, dword [rsp + 0x34]
movss xmm4, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
lea rax, [0x18011718c]
movss xmm2, dword [rsp + 0x38]
nop dword [rax + rax]
movss xmm0, dword [rax - 0x10]
movss xmm1, dword [rax]
subss xmm0, xmm4
subss xmm1, xmm3
movss dword [rax - 0x10], xmm0
movss xmm0, dword [rax + 0x10]
subss xmm0, xmm2
movss dword [rax], xmm1
movss dword [rax + 0x10], xmm0
add rax, 0x30
sub rdi, 1
jne 0x18004fba0
mov byte [0x18011a170], 1
mov eax, 1
jmp 0x18004fbe8
mov eax, dword [0x180117160]
inc eax
mov dword [0x180117160], eax
mov rcx, rbx
mov rax, qword [rbx]
mov rdx, qword [rax + 0x460]
call rdx
movss xmm0, dword [rsp + 0x40]
movss xmm1, dword [rsp + 0x44]
movss dword [rax], xmm0
movss dword [rax + 4], xmm1
mov dword [rax + 8], ebp
mov rax, qword [0x1801170e0]
movss dword [rax + 0x10], xmm6
movaps xmm6, xmmword [rsp + 0x50]
jmp 0x18004fc36
mov byte [0x18011a171], 0
mov byte [0x18011a170], 0
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret