Function at 0x18004ef80
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 [0x180118460]
mov rax, qword [rcx]
mov r8, qword [rax + 0x60]
call r8
mov rcx, qword [0x180118478]
mov edx, eax
mov r8, qword [rcx]
mov r9, qword [r8 + 0x18]
call r9
mov edx, dword [0x18011817c]
mov rbx, rax
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov edx, dword [rax + rcx]
cmp dword [0x18011e8dc], edx
jle 0x18004f00e
lea rcx, [0x18011e8dc]
call fcn.1800dc1f0
cmp dword [0x18011e8dc], 0xffffffff
jne 0x18004f00e
mov rax, qword [rbx + 0x3618]
lea rcx, [0x18011e8dc]
mov qword [0x18011e8e8], rax
call fcn.1800dc184
mov rax, qword [rbx + 0x3618]
cmp rax, qword [0x18011e8e8]
mov qword [rsp + 0x70], rbp
je 0x18004f072
mov rcx, qword [0x18011e530]
xor ebp, ebp
test rcx, rcx
je 0x18004f040
mov rax, qword [rcx]
mov rdx, qword [rax]
call rdx
mov qword [0x18011e530], rbp
mov rcx, qword [0x18011e8e0]
test rcx, rcx
je 0x18004f05d
mov edx, 0x10
call fcn.1800dbdd0
mov qword [0x18011e8e0], rbp
mov rax, qword [rbx + 0x3618]
mov qword [0x18011e8e8], rax
mov byte [0x18011851c], 1
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x408]
call rdx
test al, al
je 0x18004f398
cmp byte [rbx + 0x1fa], 0
jne 0x18004f398
mov rcx, qword [0x18011e530]
test rcx, rcx
movaps xmmword [rsp + 0x50], xmm6
sete al
cmp byte [0x18011851c], 0
jne 0x18004f0b5
test al, al
je 0x18004f107
test al, al
je 0x18004f0cb
mov rcx, rbx
call fcn.18004e990
mov rcx, rax
mov qword [0x18011e530], rax
mov r8, qword [0x18011e8e0]
test r8, r8
jne 0x18004f0f7
lea ecx, [r8 + 0x10]
call fcn.1800dc268
mov rcx, qword [0x18011e530]
xorps xmm0, xmm0
mov r8, rax
mov qword [0x18011e8e0], rax
movups xmmword [rax], xmm0
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x60]
mov byte [0x18011851c], 0
mov rcx, qword [0x180118480]
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 [0x180118514], 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 [0x18011e530]
movss xmm2, dword [rsi + 8]
movss xmm1, dword [rsi + 0xc]
mov rax, qword [rcx]
call qword [rax + 0x20]
test dil, dil
je 0x18004f350
mov rcx, rbx
call fcn.18004eea0
mov rcx, rbx
call fcn.180049930
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call rdx
mov rcx, qword [0x180118480]
lea rdx, [0x18011b530]
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 0x18004f249
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, [0x18011b54c]
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 0x18004f210
mov byte [0x18011b521], 1
mov rcx, rbx
call fcn.18004eea0
mov rax, qword [0x180118480]
movd xmm2, dword [0x180118518]
cvtdq2ps xmm2, xmm2
mov byte [0x180118514], 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.180049930
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call rdx
mov rcx, qword [0x180118480]
lea rdx, [0x180118520]
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 0x18004f349
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, [0x18011853c]
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 0x18004f310
mov byte [0x18011b520], 1
mov eax, 1
jmp 0x18004f358
mov eax, dword [0x180118518]
inc eax
mov dword [0x180118518], 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 [0x180118480]
movss dword [rax + 0x10], xmm6
movaps xmm6, xmmword [rsp + 0x50]
jmp 0x18004f3a6
mov byte [0x18011b521], 0
mov byte [0x18011b520], 0
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret