Function at 0x1802d4ed0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
sub rsp, 0x110
lea rdi, [rcx + 0x330]
mov eax, edx
mov qword [rsp + 0x28], rdi
mov rsi, rcx
test edx, edx
jne 0x1802d4f7e
mov rcx, qword [rcx + 0x8a8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov eax, eax
xorps xmm0, xmm0
lea rbx, [rsi + 0x318]
cvtsi2sd xmm0, rax
movsd qword [rsi + 0x898], xmm0
cmp rdi, rbx
je 0x1802d4f48
mov rdx, qword [rbx]
mov rcx, rdi
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 3
call fcn.1800c9450
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x1802d4f55
mov qword [rbx + 8], rax
mov rcx, qword [rsi + 0x8a8]
mov dword [rsi + 0x884], 0
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [rsp + 0x138]
movzx r8d, byte [rsp + 0x140]
jmp 0x1802d4f83
mov qword [rsp + 0x28], rdi
mov rcx, qword [rdi]
cmp rcx, qword [rdi + 8]
je 0x1802d55ac
mov qword [rsp + 0x108], rbp
lea rbp, [0x18067b540]
mov qword [rsp + 0x100], r12
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xe8], r15
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
movss xmm7, dword [0x1805ca28c]
movaps xmmword [rsp + 0xb0], xmm8
xorps xmm8, xmm8
movaps xmmword [rsp + 0xa0], xmm9
movsd xmm9, qword [0x1805ca0a0]
movaps xmmword [rsp + 0x90], xmm10
movsd xmm10, qword [0x1805ca0c8]
movaps xmmword [rsp + 0x80], xmm11
movsd xmm11, qword [0x1805c9f40]
movaps xmmword [rsp + 0x70], xmm12
movss xmm12, dword [0x1805ca4e4]
movaps xmmword [rsp + 0x60], xmm13
movss xmm13, dword [0x1805c9b70]
movaps xmmword [rsp + 0x50], xmm14
movss xmm14, dword [0x1805c9dec]
movaps xmmword [rsp + 0x40], xmm15
movss xmm15, dword [0x1805ca210]
nop word [rax + rax]
movsxd rbx, dword [rsi + 0x884]
cmp dword [rcx + rbx*8 + 4], eax
jbe 0x1802d5076
test r8b, r8b
je 0x1802d5538
mov rbx, qword [rcx + rbx*8]
movzx r12d, bl
mov qword [rsp + 0x20], rbx
movzx r13d, bl
and r12b, 0xf0
and r13b, 0xf
mov byte [rsp + 0x130], r13b
cmp r12b, 0xb0
jne 0x1802d50b5
mov rcx, rbx
mov rax, rbx
shr rcx, 0x10
shr rax, 8
movzx eax, al
mov byte [rax + rsi + 0x800], cl
mov rdx, rbx
mov rcx, rsi
call fcn.1802d4c20
mov rcx, qword [rsi + 0x348]
xor r14d, r14d
mov rax, qword [rsi + 0x350]
movzx r15d, byte [rsp + 0x22]
sub rax, rcx
sar rax, 3
mov dword [rsp + 0x148], r14d
test eax, eax
jle 0x1802d524c
xor r13d, r13d
mov rbp, qword [rcx + r13]
cmp r12b, 0x90
jne 0x1802d513f
test r15b, r15b
je 0x1802d5149
cmp dword [rbp + 0x40], 0
jne 0x1802d5114
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.1802d4500
movzx edi, byte [rsp + 0x21]
mov byte [rdi + rsi + 0x380], r15b
call qword [sym.imp.WINMM.dll_timeGetTime]
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd qword [rsi + rdi*8 + 0x400], xmm0
jmp 0x1802d520a
cmp r12b, 0x80
jne 0x1802d520a
cmp dword [rbp + 0x40], 0
je 0x1802d520a
cmp byte [rsi + 0x891], 0
jne 0x1802d520a
mov rax, rbx
mov qword [rsp + 0x30], rbx
shr rax, 8
movzx r14d, al
mov rax, rbx
shr rax, 8
movzx eax, al
movzx edi, byte [rax + rsi + 0x380]
mov byte [rsp + 0x32], dil
test dil, dil
jne 0x1802d5194
mov byte [rsp + 0x32], 0x7f
mov dil, 0x7f
movss xmm0, dword [rbp + 0x44]
comiss xmm0, xmm8
jbe 0x1802d51f2
call qword [sym.imp.WINMM.dll_timeGetTime]
movss xmm1, dword [rbp + 0x44]
xorps xmm0, xmm0
mov eax, eax
cvtps2pd xmm1, xmm1
cvtsi2sd xmm0, rax
subsd xmm0, qword [rsi + r14*8 + 0x400]
comisd xmm1, xmm0
jbe 0x1802d51ed
divsd xmm0, xmm1
movzx eax, dil
movaps xmm1, xmm11
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov byte [rsp + 0x32], al
jmp 0x1802d51f2
mov byte [rsp + 0x32], 0
mov r8, qword [rsp + 0x30]
mov rdx, rbp
mov rcx, rsi
call fcn.1802d4500
mov r14d, dword [rsp + 0x148]
mov rcx, qword [rsi + 0x348]
inc r14d
mov rax, qword [rsi + 0x350]
add r13, 8
sub rax, rcx
mov dword [rsp + 0x148], r14d
sar rax, 3
cmp r14d, eax
jl 0x1802d50f1
movzx r13d, byte [rsp + 0x130]
lea rbp, [0x18067b540]
mov rdi, qword [rsp + 0x28]
cmp r12b, 0x80
je 0x1802d5265
cmp r12b, 0x90
jne 0x1802d5379
test r15b, r15b
jne 0x1802d54f2
movzx ebp, byte [rsp + 0x21]
inc r13b
nop dword [rax]
xor edi, edi
cmp dword [rsi + 0x20], edi
jle 0x1802d54ed
xor ebx, ebx
nop dword [rax]
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
je 0x1802d5903
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x28]
test al, al
jne 0x1802d5903
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp dword [rax + 0x14], 1
je 0x1802d5934
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp al, bpl
jne 0x1802d5934
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x60]
test al, al
je 0x1802d5316
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp al, r13b
jne 0x1802d5934
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rax + 0x288]
cmp dword [rcx + 0x40], 0
jne 0x1802d5934
cmp byte [rsi + 0x891], 0
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
je 0x1802d5948
mov rax, qword [rcx]
call qword [rax + 0x78]
test al, al
jne 0x1802d5934
mov rax, qword [rsi + 0x378]
mov dl, 1
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x80]
jmp 0x1802d5934
cmp r12b, 0xe0
jne 0x1802d5415
movzx eax, byte [rsp + 0x21]
mov ecx, r15d
shl ecx, 7
or ecx, eax
cmp ecx, 0x2000
je 0x1802d53ab
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
subss xmm0, xmm14
jmp 0x1802d53af
movaps xmm0, xmm8
movd xmm1, dword [rsi + 0x2f350]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
comiss xmm15, xmm1
jb 0x1802d53f3
comiss xmm1, xmm12
jb 0x1802d53f3
mulss xmm1, dword [0x1805ca4f8]
mov ecx, 0x960
cvttss2si eax, xmm1
sub ecx, eax
movsxd rax, ecx
movss xmm0, dword [rbp + rax*4]
movss dword [rsi + 0x2f344], xmm0
jmp 0x1802d54f2
divss xmm1, dword [0x1805ca1d8]
movss xmm0, dword [0x1805c9fb8]
call fcn.18037b220
movss dword [rsi + 0x2f344], xmm0
jmp 0x1802d54f2
cmp r12b, 0xa0
jne 0x1802d5424
cmp dword [rsi + 0x48], 2
jmp 0x1802d5659
cmp r12b, 0xc0
jne 0x1802d543a
movzx eax, byte [rsp + 0x21]
mov byte [rsi + 0x880], al
jmp 0x1802d54f2
cmp r12b, 0xb0
jne 0x1802d54f2
movzx ecx, byte [rsp + 0x21]
cmp cl, 0x7b
je 0x1802d5892
cmp cl, 0x78
je 0x1802d5892
cmp cl, 0x40
jne 0x1802d55b7
cmp r15b, cl
jb 0x1802d5475
mov byte [rsi + 0x891], 1
jmp 0x1802d54f2
cmp byte [rsi + 0x890], 0
mov byte [rsi + 0x891], 0
jne 0x1802d54f2
mov rcx, qword [rsi + 0x300]
xor ebp, ebp
mov rax, qword [rsi + 0x308]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x1802d54f2
xor edi, edi
mov rbx, qword [rcx + rdi]
test rbx, rbx
je 0x1802d54ce
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
test al, al
je 0x1802d54ce
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
test al, al
je 0x1802d54ce
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, qword [rsi + 0x300]
inc ebp
mov rax, qword [rsi + 0x308]
add rdi, 8
sub rax, rcx
sar rax, 3
cmp ebp, eax
jl 0x1802d54a2
mov rdi, qword [rsp + 0x28]
inc dword [rsi + 0x884]
lea rbp, [0x18067b540]
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi]
mov rax, rdx
movzx r8d, byte [rsp + 0x140]
sub rax, rcx
sar rax, 3
cmp dword [rsi + 0x884], eax
mov eax, dword [rsp + 0x138]
jl 0x1802d5060
cmp rcx, rdx
je 0x1802d5538
mov qword [rsi + 0x338], rcx
movaps xmm14, xmmword [rsp + 0x50]
movaps xmm13, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov r15, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x108]
movaps xmm15, xmmword [rsp + 0x40]
add rsp, 0x110
pop rdi
pop rsi
pop rbx
ret
cmp cl, 7
jne 0x1802d55e9
mov ecx, 0x7f
sub ecx, r15d
movd xmm0, ecx
mov rcx, rsi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
mulss xmm0, dword [0x1805ca4f4]
movss dword [rsi + 0x38], xmm0
call fcn.1802d6ae0
jmp 0x1802d54f2
lea eax, [rcx - 8]
test al, 0xfd
je 0x1802d586d
cmp cl, 0xb
jne 0x1802d5636
movss xmm0, dword [0x1805ca1b0]
mov ecx, 0x7f
sub ecx, r15d
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm7
mulss xmm1, dword [0x1805ca4f0]
divss xmm1, dword [0x1805ca200]
call fcn.18037b220
movss dword [rsi + 0x2f360], xmm0
jmp 0x1802d54f2
cmp cl, 6
jne 0x1802d5650
test r15b, r15b
je 0x1802d54f2
mov dword [rsi + 0x2f350], r15d
jmp 0x1802d54f2
cmp cl, 1
jne 0x1802d5675
cmp dword [rsi + 0x48], 1
jne 0x1802d54f2
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
movss dword [rsi + 0x50], xmm0
jmp 0x1802d54f2
cmp cl, 5
je 0x1802d54f2
cmp cl, 0x44
je 0x1802d54f2
cmp cl, 0x79
jne 0x1802d5699
mov rcx, rsi
call fcn.1802d42a0
jmp 0x1802d54f2
lea eax, [rcx - 0x7e]
cmp al, 1
jbe 0x1802d54f2
cmp cl, 0x5b
jne 0x1802d56cd
movd xmm0, r15d
mov rcx, rsi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm10
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x54], xmm0
call fcn.1802d6ae0
jmp 0x1802d54f2
cmp cl, 0x49
jne 0x1802d5723
mov rdi, qword [rsi + 0x2f0]
mov rbx, qword [rsi + 0x2e8]
cmp rbx, rdi
je 0x1802d5816
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm9
cvtpd2ps xmm6, xmm0
nop dword [rax + rax]
mov rcx, qword [rbx]
movss dword [rcx + 0x20], xmm6
call fcn.1802eba10
add rbx, 8
cmp rbx, rdi
jne 0x1802d5700
mov rcx, rsi
call fcn.1802d6ae0
jmp 0x1802d54ed
cmp cl, 0x4b
jne 0x1802d5774
mov rdi, qword [rsi + 0x2f0]
mov rbx, qword [rsi + 0x2e8]
cmp rbx, rdi
je 0x1802d5816
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm9
cvtpd2ps xmm6, xmm0
mov rcx, qword [rbx]
movss dword [rcx + 0x24], xmm6
call fcn.1802eba10
add rbx, 8
cmp rbx, rdi
jne 0x1802d5751
mov rcx, rsi
call fcn.1802d6ae0
jmp 0x1802d54ed
cmp cl, 0x4c
jne 0x1802d57d3
mov rdi, qword [rsi + 0x2f0]
mov rbx, qword [rsi + 0x2e8]
cmp rbx, rdi
je 0x1802d5816
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm10
addsd xmm0, xmm0
cvtpd2ps xmm6, xmm0
nop word [rax + rax]
mov rcx, qword [rbx]
movss dword [rcx + 0x28], xmm6
call fcn.1802eba10
add rbx, 8
cmp rbx, rdi
jne 0x1802d57b0
mov rcx, rsi
call fcn.1802d6ae0
jmp 0x1802d54ed
cmp cl, 0x48
jne 0x1802d5823
mov rdi, qword [rsi + 0x2f0]
mov rbx, qword [rsi + 0x2e8]
cmp rbx, rdi
je 0x1802d5816
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm9
cvtpd2ps xmm6, xmm0
nop dword [rax]
mov rcx, qword [rbx]
movss dword [rcx + 0x2c], xmm6
call fcn.1802eba10
add rbx, 8
cmp rbx, rdi
jne 0x1802d5800
mov rcx, rsi
call fcn.1802d6ae0
jmp 0x1802d54ed
cmp cl, 0x4a
jne 0x1802d54f2
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm10
cvtpd2ps xmm0, xmm0
call fcn.180379780
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x1805c9e88]
call fcn.1803787e0
xorps xmm1, xmm1
mov rcx, rsi
cvtsd2ss xmm1, xmm0
movss dword [rsi + 0x68], xmm1
call fcn.1802d6ae0
jmp 0x1802d54f2
lea eax, [r15 - 0x40]
mov rcx, rsi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1805c9ba8]
movss dword [rsi + 0x3c], xmm0
call fcn.1802d6ae0
jmp 0x1802d54f2
cmp byte [rsi + 0x890], 0
jne 0x1802d54f2
mov rcx, qword [rsi + 0x300]
xor ebp, ebp
mov rax, qword [rsi + 0x308]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x1802d54f2
xor edi, edi
mov rbx, qword [rcx + rdi]
test rbx, rbx
je 0x1802d58df
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
test al, al
je 0x1802d58df
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
mov rcx, qword [rsi + 0x300]
inc ebp
mov rax, qword [rsi + 0x308]
add rdi, 8
sub rax, rcx
sar rax, 3
cmp ebp, eax
jl 0x1802d58c0
jmp 0x1802d54ed
mov rax, qword [rsi + 0x378]
movzx r8d, r13b
movzx edx, bpl
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x88]
test al, al
je 0x1802d5934
mov rax, qword [rsi + 0x378]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
call qword [rax + 0x50]
inc edi
add rbx, 8
cmp edi, dword [rsi + 0x20]
jl 0x1802d5280
jmp 0x1802d54ed
test rcx, rcx
je 0x1802d54ed
mov rax, qword [rcx]
call qword [rax + 0x30]
jmp 0x1802d5270