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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10d, dword [rsp + 0xa0]
mov esi, edx
mov rbx, qword [0x18022eb78]
mov r9d, r10d
or r9d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ec8]
cmovne r9d, r10d
mov ebp, r9d
or ebp, 0x20
test r9d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ec8]
cmovne ebp, r9d
mov rdi, qword [rbx + 0x3ed0]
mov qword [rsp + 0x20], r15
bt ebp, 0xb
jae 0x18006c5aa
test rdi, rdi
je 0x18006c5aa
cmp qword [rdi + 0x378], r15
jne 0x18006c5aa
mov r14b, 1
mov qword [rbx + 0x3ed0], r15
jmp 0x18006c5ad
xor r14b, r14b
xor r13b, r13b
call fcn.1800436d0
xor r12d, r12d
mov dword [rsp + 0xa0], eax
test al, al
je 0x18006c5eb
cmp byte [rbx + 0x4a4c], r12b
je 0x18006c764
cmp dword [rbx + 0x4a6c], esi
jne 0x18006c5f8
test byte [rbx + 0x4a50], 2
jne 0x18006c5f8
mov byte [rsp + 0xa0], r12b
jmp 0x18006c5f8
cmp byte [rbx + 0x4a4c], r12b
je 0x18006c764
bt ebp, 9
jae 0x18006c764
test byte [rbx + 0x4a50], 4
jne 0x18006c764
mov rcx, qword [0x18022eb78]
mov r9, qword [rcx + 0x3ec8]
cmp byte [rcx + 0x48e7], r12b
je 0x18006c65b
cmp byte [rcx + 0x48e6], r12b
jne 0x18006c65b
test byte [rcx + 0x4768], 4
jne 0x18006c764
mov eax, dword [rcx + 0x48b0]
cmp eax, dword [rcx + 0x4764]
jne 0x18006c764
test eax, eax
jne 0x18006c701
jmp 0x18006c764
mov eax, dword [rcx + 0x476c]
test al, 1
je 0x18006c764
cmp qword [rcx + 0x3ed0], r9
je 0x18006c67a
test al, al
jns 0x18006c764
mov rdx, qword [rcx + 0x48a8]
test rdx, rdx
je 0x18006c6e3
mov rdx, qword [rdx + 0x378]
test rdx, rdx
je 0x18006c6e3
cmp byte [rdx + 0xb7], r12b
je 0x18006c6e3
mov rax, qword [r9 + 0x378]
cmp rdx, rax
je 0x18006c6e3
mov r8d, dword [rdx + 0x14]
bt r8d, 0x1b
jb 0x18006c6b9
bt r8d, 0x1a
jae 0x18006c6e3
cmp qword [rax + 0x378], rdx
je 0x18006c6e3
cmp rax, rdx
je 0x18006c6e3
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x18006c6c2
test dword [rcx + 0x4768], 0x100
je 0x18006c764
test byte [rcx + 0x4768], 4
jne 0x18006c764
mov eax, dword [r9 + 0x7c]
cmp dword [rcx + 0x4764], eax
jne 0x18006c701
cmp byte [r9 + 0xb8], r12b
jne 0x18006c764
mov rax, qword [0x18022eb78]
mov dl, 1
mov dword [rsp + 0xa0], edx
mov dword [rax + 0x3f14], esi
mov byte [rax + 0x3f1c], r12b
test esi, esi
je 0x18006c731
cmp dword [rax + 0x3f18], esi
je 0x18006c731
mov qword [rax + 0x3f20], r12
movss xmm1, dword [rbx + 0x3f20]
movss xmm2, dword [0x1801fbe08]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x18006c76b
comiss xmm1, xmm2
jb 0x18006c76b
mov rcx, r15
mov dword [rbx + 0x4ac8], esi
mov r13b, 1
call fcn.18004bd50
mov edx, dword [rsp + 0xa0]
test r14b, r14b
je 0x18006c777
mov qword [rbx + 0x3ed0], rdi
mov r9d, 1
xorps xmm6, xmm6
test dl, dl
je 0x18006c7b1
bt ebp, 0xc
jae 0x18006c7b1
mov eax, dword [rbx + 0x3f18]
cmp eax, esi
je 0x18006c7b1
test eax, eax
je 0x18006c7b1
xor dl, dl
mov r15d, esi
bt ebp, 0x15
mov dword [rsp + 0xa0], edx
cmovb r15d, r12d
jmp 0x18006ca22
bt ebp, 0x15
mov r15d, esi
cmovb r15d, r12d
test dl, dl
je 0x18006ca22
mov edi, 0xffffffff
mov r14d, edi
test r9b, bpl
je 0x18006c807
xor r8d, r8d
mov edx, r15d
xor ecx, ecx
call fcn.18004d050
movzx edi, al
mov rax, qword [0x18022eb78]
dec edi
cmp byte [rax + 0x3766], r12b
je 0x18006c807
mov edx, r15d
mov ecx, 0x281
call fcn.18004eba0
test al, al
je 0x18006c807
mov r14d, r12d
test bpl, 2
je 0x18006c84f
xor r8d, r8d
mov edx, r15d
mov ecx, r9d
call fcn.18004d050
test al, al
je 0x18006c826
cmp edi, 0xffffffff
cmove edi, r9d
mov rax, qword [0x18022eb78]
cmp byte [rax + 0x3767], r12b
je 0x18006c84f
mov edx, r15d
mov ecx, 0x282
call fcn.18004eba0
test al, al
je 0x18006c84f
cmp r14d, 0xffffffff
cmove r14d, r9d
test bpl, 4
je 0x18006c8a3
mov r9d, 2
xor r8d, r8d
mov ecx, r9d
mov edx, r15d
call fcn.18004d050
test al, al
je 0x18006c874
cmp edi, 0xffffffff
cmove edi, r9d
mov rax, qword [0x18022eb78]
cmp byte [rax + 0x3768], r12b
je 0x18006c89d
mov edx, r15d
mov ecx, 0x283
call fcn.18004eba0
test al, al
je 0x18006c89d
cmp r14d, 0xffffffff
cmove r14d, r9d
mov r9d, 1
bt ebp, 0x10
jae 0x18006c8d0
cmp byte [rbx + 0xe20], r12b
jne 0x18006ca0f
cmp byte [rbx + 0xe21], r12b
jne 0x18006ca0f
cmp byte [rbx + 0xe22], r12b
jne 0x18006ca0f
cmp edi, 0xffffffff
je 0x18006c991
cmp dword [rbx + 0x3f28], esi
je 0x18006c991
bt ebp, 0x14
jb 0x18006c900
lea ecx, [rdi + 0x281]
call fcn.18003f3e0
mov dword [rax + 4], esi
mov dword [rax], esi
mov word [rax + 8], r12w
test bpl, 0x60
je 0x18006c934
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1800434a0
mov dword [rbx + 0x3f54], edi
bt ebp, 0x12
jb 0x18006c92a
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1800511a0
mov rcx, qword [rsp + 0x20]
call fcn.18004bd50
test bpl, 0x10
jne 0x18006c94e
bt ebp, 8
jae 0x18006c991
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x18006c991
mov r13b, 1
bt ebp, 0x11
jae 0x18006c95e
call fcn.1800435e0
jmp 0x18006c96a
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1800434a0
bt ebp, 0x12
jb 0x18006c97c
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.1800511a0
mov dword [rbx + 0x3f54], edi
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.18004bd50
jmp 0x18006c996
mov rdi, qword [rsp + 0x20]
test bpl, bpl
jns 0x18006c9d1
cmp r14d, 0xffffffff
je 0x18006c9d1
bt ebp, 0xa
jae 0x18006c9b9
movsxd rax, r14d
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x18006c9bc
mov r13b, 1
bt ebp, 0x12
jb 0x18006c9cc
mov rdx, rdi
mov ecx, esi
call fcn.1800511a0
call fcn.1800435e0
mov r9d, 1
cmp dword [rbx + 0x3f28], esi
jne 0x18006ca0f
bt ebp, 0xa
jae 0x18006ca0f
movsxd rcx, dword [rbx + 0x3f54]
movss xmm0, dword [rbx + rcx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x18006ca0f
mov r8d, r9d
mov edx, r15d
call fcn.18004d050
test al, al
je 0x18006ca0f
movzx r13d, r9b
jmp 0x18006ca14
test r13b, r13b
je 0x18006ca1b
mov byte [rbx + 0x48e6], 1
mov edx, dword [rsp + 0xa0]
cmp dword [rbx + 0x48b0], esi
jne 0x18006ca66
cmp byte [rbx + 0x48e6], r12b
jne 0x18006ca66
cmp byte [rbx + 0x48e7], r12b
je 0x18006ca66
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x18006ca54
cmp eax, esi
je 0x18006ca54
mov rcx, qword [rsp + 0x20]
cmp eax, dword [rcx + 0x7c]
jne 0x18006ca66
bt ebp, 0x13
movzx edx, dl
cmovae edx, r9d
mov dword [rsp + 0xa0], edx
cmp dword [rbx + 0x48bc], esi
jne 0x18006cb54
cmp dword [rbx + 0x48c0], esi
sete cl
je 0x18006cb1c
bt ebp, 0xa
jae 0x18006cb1c
mov rax, qword [0x18022eb78]
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
movss xmm0, dword [rax + 0x2eec]
maxss xmm0, dword [rax + 0x2efc]
maxss xmm0, dword [rax + 0x350c]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x18006cac8
jne 0x18006cac8
mov r12d, r9d
jmp 0x18006cb16
comiss xmm1, xmm0
jae 0x18006cb16
comiss xmm6, xmm3
jb 0x18006cae1
comiss xmm2, xmm1
jbe 0x18006cb16
comiss xmm0, xmm2
jb 0x18006cb16
mov r12d, r9d
jmp 0x18006cb16
comiss xmm2, xmm1
jbe 0x18006caed
mov eax, 0xffffffff
jmp 0x18006caf9
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x18006cb06
mov r12d, 0xffffffff
jmp 0x18006cb13
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r12d, xmm0
sub r12d, eax
test r12d, r12d
setg cl
cmp dword [rbx + 0x48b8], esi
je 0x18006cb28
test cl, cl
je 0x18006cb54
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r13b, 1
call fcn.1800434a0
mov dword [rbx + 0x3f50], 5
bt ebp, 0x12
jb 0x18006cb54
mov rdx, rdi
mov ecx, esi
call fcn.1800511a0
xor dil, dil
cmp dword [rbx + 0x3f28], esi
jne 0x18006ccaf
mov eax, dword [rbx + 0x3f50]
cmp eax, 1
jne 0x18006cc88
cmp byte [rbx + 0x3f34], dil
je 0x18006cbac
movss xmm1, dword [rbx + 0xe08]
movss xmm0, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0x80]
subss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rbx + 0x3f3c], xmm1
movss dword [rbx + 0x3f40], xmm0
movsxd r9, dword [rbx + 0x3f54]
mov rax, qword [0x18022eb78]
cmp byte [r9 + rax + 0xe10], dil
je 0x18006cbe6
lea ecx, [r9 + 0x281]
mov edx, r15d
call fcn.18004eba0
test al, al
je 0x18006cbe6
mov esi, dword [rsp + 0xa0]
mov dil, 1
jmp 0x18006cc79
mov esi, dword [rsp + 0xa0]
test sil, sil
je 0x18006cbf8
test bpl, 0x20
jne 0x18006cc01
mov eax, ebp
shr eax, 6
test al, 1
je 0x18006cc74
cmp byte [rbx + 0x4a4c], dil
jne 0x18006cc74
bt ebp, 8
jae 0x18006cc2b
cmp byte [r9 + rbx + 0x3766], dil
je 0x18006cc2b
cmp word [rbx + r9*2 + 0x375c], 2
jne 0x18006cc2b
mov r11b, 1
jmp 0x18006cc2e
xor r11b, r11b
bt ebp, 0xa
jae 0x18006cc49
movss xmm0, dword [rbx + r9*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x18006cc49
mov r10b, 1
jmp 0x18006cc4c
xor r10b, r10b
lea ecx, [r9 + 0x281]
mov edx, r15d
call fcn.18004eba0
test r11b, r11b
jne 0x18006cc74
test r10b, r10b
jne 0x18006cc74
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
call fcn.1800435e0
bt ebp, 0x12
jb 0x18006cca1
mov byte [rbx + 0x48e6], 1
jmp 0x18006cca1
cmp eax, 5
jne 0x18006cc9a
cmp dword [rbx + 0x48bc], esi
je 0x18006cc9a
call fcn.1800435e0
mov esi, dword [rsp + 0xa0]
test r13b, r13b
je 0x18006ccb6
mov byte [rbx + 0x3f37], 1
jmp 0x18006ccb6
mov esi, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x18006ccc6
mov byte [rax], sil
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18006ccd6
mov byte [rax], dil
mov rbx, qword [rsp + 0x88]
movzx eax, r13b
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret