Function at 0x18004fe70
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 edi, edx
mov rbx, qword [0x1800a96e8]
mov r8d, r10d
or r8d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ed0]
cmovne r8d, r10d
mov esi, r8d
or esi, 0x20
test r8d, 0x3f0
mov byte [rax + 0xb8], 1
mov r12, qword [rbx + 0x3ed0]
cmovne esi, r8d
mov rbp, qword [rbx + 0x3ed8]
mov qword [rsp + 0x20], r12
bt esi, 0xb
jae 0x18004ff0a
test rbp, rbp
je 0x18004ff0a
cmp qword [rbp + 0x378], r12
jne 0x18004ff0a
mov r14b, 1
mov qword [rbx + 0x3ed8], r12
jmp 0x18004ff0d
xor r14b, r14b
mov byte [rsp + 0xa0], 0
call fcn.180026800
xor r13d, r13d
movzx r15d, al
test al, al
je 0x18004ff48
cmp byte [rbx + 0x4a54], r13b
je 0x1800500c3
cmp dword [rbx + 0x4a74], edi
jne 0x18004ff55
test byte [rbx + 0x4a58], 2
jne 0x18004ff55
xor r15b, r15b
jmp 0x18004ff55
cmp byte [rbx + 0x4a54], r13b
je 0x1800500c3
bt esi, 9
jae 0x1800500c3
test byte [rbx + 0x4a58], 4
jne 0x1800500c3
mov r10, qword [0x1800a96e8]
mov r8, qword [r10 + 0x3ed0]
cmp byte [r10 + 0x48ef], r13b
je 0x18004ffbb
cmp byte [r10 + 0x48ee], r13b
jne 0x18004ffbb
test byte [r10 + 0x4770], 4
jne 0x1800500ca
mov eax, dword [r10 + 0x48b8]
cmp eax, dword [r10 + 0x476c]
jne 0x1800500ca
test eax, eax
je 0x1800500ca
jmp 0x180050066
mov eax, dword [r10 + 0x4774]
test al, 1
je 0x1800500ca
cmp qword [r10 + 0x3ed8], r8
je 0x18004ffdb
test al, al
jns 0x1800500ca
mov rcx, qword [r10 + 0x48b0]
test rcx, rcx
je 0x180050042
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x180050042
cmp byte [rcx + 0xb7], r13b
je 0x180050042
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x180050042
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x180050017
bt edx, 0x1a
jae 0x180050042
cmp qword [rax + 0x378], rcx
je 0x180050042
cmp rax, rcx
je 0x180050042
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x180050020
test dword [r10 + 0x4770], 0x100
je 0x1800500ca
test byte [r10 + 0x4770], 4
jne 0x1800500ca
mov eax, dword [r8 + 0x7c]
cmp dword [r10 + 0x476c], eax
jne 0x180050066
cmp byte [r8 + 0xb8], r13b
jne 0x1800500ca
mov dword [r10 + 0x3f1c], edi
mov r15b, 1
mov byte [r10 + 0x3f24], r13b
test edi, edi
je 0x18005008b
cmp dword [r10 + 0x3f20], edi
je 0x18005008b
mov qword [r10 + 0x3f28], r13
movss xmm1, dword [rbx + 0x3f28]
movss xmm2, dword [0x180075d70]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x1800500ca
comiss xmm1, xmm2
jb 0x1800500ca
mov rcx, r12
mov byte [rsp + 0xa0], r15b
mov dword [rbx + 0x4ad0], edi
call fcn.18002eb50
mov r10, qword [0x1800a96e8]
test r14b, r14b
je 0x1800500d6
mov qword [rbx + 0x3ed8], rbp
mov r11d, 1
xorps xmm6, xmm6
test r15b, r15b
je 0x18005010b
bt esi, 0xc
jae 0x18005010b
mov eax, dword [rbx + 0x3f20]
cmp eax, edi
je 0x18005010b
test eax, eax
je 0x18005010b
xor r15b, r15b
mov r14d, edi
bt esi, 0x15
cmovb r14d, r13d
jmp 0x180050424
bt esi, 0x15
mov r14d, edi
cmovb r14d, r13d
test r15b, r15b
je 0x180050424
mov ebp, 0xffffffff
mov r12d, ebp
test r11b, sil
je 0x18005017b
cmp byte [r10 + 0xe10], r13b
je 0x18005015e
movss xmm0, dword [r10 + 0x3778]
comiss xmm6, xmm0
ja 0x18005015e
ucomiss xmm0, xmm6
jp 0x18005015e
jne 0x18005015e
mov edx, r14d
mov ecx, 0x281
call fcn.1800319d0
test al, al
je 0x18005015e
mov ebp, r13d
cmp byte [r10 + 0x3766], r13b
je 0x18005017b
mov edx, r14d
mov ecx, 0x281
call fcn.1800319d0
test al, al
je 0x18005017b
mov r12d, r13d
test sil, 2
je 0x1800501da
cmp byte [r10 + 0xe11], r13b
je 0x1800501b7
movss xmm0, dword [r10 + 0x377c]
comiss xmm6, xmm0
ja 0x1800501b7
ucomiss xmm0, xmm6
jp 0x1800501b7
jne 0x1800501b7
mov edx, r14d
mov ecx, 0x282
call fcn.1800319d0
test al, al
je 0x1800501b7
cmp ebp, 0xffffffff
cmove ebp, r11d
cmp byte [r10 + 0x3767], r13b
je 0x1800501da
mov edx, r14d
mov ecx, 0x282
call fcn.1800319d0
test al, al
je 0x1800501da
cmp r12d, 0xffffffff
jne 0x1800501da
mov r12d, r11d
test sil, 4
je 0x180050240
cmp byte [r10 + 0xe12], r13b
je 0x18005021a
movss xmm0, dword [r10 + 0x3780]
comiss xmm6, xmm0
ja 0x18005021a
ucomiss xmm0, xmm6
jp 0x18005021a
jne 0x18005021a
mov edx, r14d
mov ecx, 0x283
call fcn.1800319d0
test al, al
je 0x18005021a
cmp ebp, 0xffffffff
mov eax, 2
cmove ebp, eax
cmp byte [r10 + 0x3768], r13b
je 0x180050240
mov edx, r14d
mov ecx, 0x283
call fcn.1800319d0
test al, al
je 0x180050240
cmp r12d, 0xffffffff
jne 0x180050240
mov r12d, 2
bt esi, 0x10
jae 0x18005026d
cmp byte [rbx + 0xe24], r13b
jne 0x180050408
cmp byte [rbx + 0xe25], r13b
jne 0x180050408
cmp byte [rbx + 0xe26], r13b
jne 0x180050408
cmp ebp, 0xffffffff
je 0x180050344
cmp dword [rbx + 0x3f30], edi
je 0x180050344
bt esi, 0x14
jb 0x1800502a0
lea edx, [rbp + 0x281]
mov rcx, r10
call fcn.1800219f0
mov dword [rax + 4], edi
mov dword [rax], edi
mov word [rax + 8], r13w
test sil, 0x60
je 0x1800502db
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.1800265a0
mov dword [rbx + 0x3f5c], ebp
bt esi, 0x12
jb 0x1800502ca
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.1800339d0
mov rcx, qword [rsp + 0x20]
call fcn.18002eb50
mov r10, qword [0x1800a96e8]
test sil, 0x10
jne 0x1800502f5
bt esi, 8
jae 0x180050344
movsxd rax, ebp
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x180050344
mov byte [rsp + 0xa0], 1
bt esi, 0x11
jae 0x18005030a
call fcn.180026700
jmp 0x180050316
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.1800265a0
bt esi, 0x12
jb 0x180050328
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.1800339d0
mov dword [rbx + 0x3f5c], ebp
mov rbp, qword [rsp + 0x20]
mov rcx, rbp
call fcn.18002eb50
mov r10, qword [0x1800a96e8]
jmp 0x180050349
mov rbp, qword [rsp + 0x20]
test sil, sil
jns 0x180050390
cmp r12d, 0xffffffff
je 0x180050390
bt esi, 0xa
jae 0x18005036c
movsxd rax, r12d
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x180050374
mov byte [rsp + 0xa0], 1
bt esi, 0x12
jb 0x180050384
mov rdx, rbp
mov ecx, edi
call fcn.1800339d0
call fcn.180026700
mov r10, qword [0x1800a96e8]
cmp dword [rbx + 0x3f30], edi
jne 0x180050408
bt esi, 0xa
jae 0x180050408
movsxd rdx, dword [rbx + 0x3f5c]
movss xmm0, dword [rbx + rdx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x180050408
cmp byte [rdx + r10 + 0xe10], r13b
je 0x180050408
movss xmm1, dword [r10 + rdx*4 + 0x3778]
comiss xmm6, xmm1
ja 0x180050408
ucomiss xmm1, xmm6
jp 0x1800503d7
je 0x18005050d
movss xmm2, dword [r10 + 0x3c]
comiss xmm1, xmm2
jbe 0x180050408
movss xmm3, dword [r10 + 0x40]
movaps xmm0, xmm1
subss xmm0, dword [r10 + 0x18]
comiss xmm0, xmm1
jae 0x180050408
comiss xmm6, xmm3
jb 0x1800504df
comiss xmm2, xmm0
ja 0x18005050d
cmp byte [rsp + 0xa0], r13b
je 0x180050419
mov byte [rbx + 0x48ee], 1
mov r12, qword [rsp + 0x20]
mov r11d, 1
cmp dword [rbx + 0x48b8], edi
jne 0x18005045f
cmp byte [rbx + 0x48ee], r13b
jne 0x18005045f
cmp byte [rbx + 0x48ef], r13b
je 0x18005045f
mov eax, dword [rbx + 0x3f30]
test eax, eax
je 0x180050453
cmp eax, edi
je 0x180050453
cmp eax, dword [r12 + 0x7c]
jne 0x18005045f
bt esi, 0x13
movzx r15d, r15b
cmovae r15d, r11d
cmp dword [rbx + 0x48c4], edi
jne 0x1800505c7
cmp dword [rbx + 0x48c8], edi
sete cl
je 0x180050584
bt esi, 0xa
jae 0x180050584
mov edx, 0x20c
mov rcx, r10
call fcn.18002f4c0
mov edx, 0x20d
mov rcx, r10
mov r9, rax
call fcn.18002f4c0
movss xmm0, dword [r9 + 4]
mov edx, 0x26e
mov rcx, r10
maxss xmm0, dword [rax + 4]
call fcn.18002f4c0
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
maxss xmm0, dword [rax + 4]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x180050530
jne 0x180050530
mov r13d, r11d
jmp 0x18005057e
comiss xmm2, xmm0
jbe 0x1800504eb
mov ecx, 0xffffffff
jmp 0x1800504f7
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si ecx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x180050408
lea ecx, [rdx + 0x281]
mov edx, r14d
call fcn.1800319d0
test al, al
je 0x180050408
mov byte [rsp + 0xa0], 1
jmp 0x180050412
comiss xmm1, xmm0
jae 0x18005057e
comiss xmm6, xmm3
jb 0x180050549
comiss xmm2, xmm1
jbe 0x18005057e
comiss xmm0, xmm2
jb 0x18005057e
mov r13d, r11d
jmp 0x18005057e
comiss xmm2, xmm1
jbe 0x180050555
mov eax, 0xffffffff
jmp 0x180050561
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x18005056e
mov r13d, 0xffffffff
jmp 0x18005057b
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r13d, xmm0
sub r13d, eax
test r13d, r13d
setg cl
cmp dword [rbx + 0x48c0], edi
je 0x180050590
test cl, cl
je 0x1800505c7
mov rbp, qword [rsp + 0x20]
mov ecx, edi
mov rdx, rbp
mov r12b, 1
call fcn.1800265a0
mov eax, dword [rbx + 0x48e4]
mov dword [rbx + 0x3f58], eax
bt esi, 0x12
jb 0x1800505be
mov rdx, rbp
mov ecx, edi
call fcn.1800339d0
mov r10, qword [0x1800a96e8]
jmp 0x1800505cf
mov r12d, dword [rsp + 0xa0]
xor bpl, bpl
cmp dword [rbx + 0x3f30], edi
jne 0x180050713
mov eax, dword [rbx + 0x3f58]
cmp eax, 1
jne 0x1800506f2
cmp byte [rbx + 0x3f3c], bpl
je 0x180050627
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 + 0x3f44], xmm1
movss dword [rbx + 0x3f48], xmm0
movsxd r9, dword [rbx + 0x3f5c]
cmp r9d, 0xffffffff
je 0x1800506de
cmp byte [r9 + r10 + 0xe10], bpl
je 0x18005065d
lea ecx, [r9 + 0x281]
mov edx, r14d
call fcn.1800319d0
test al, al
je 0x18005065d
mov bpl, 1
jmp 0x1800506e3
test r15b, r15b
je 0x180050668
test sil, 0x20
jne 0x180050671
mov eax, esi
shr eax, 6
test al, 1
je 0x1800506de
cmp byte [rbx + 0x4a54], bpl
jne 0x1800506de
bt esi, 8
jae 0x18005069a
cmp byte [r9 + rbx + 0x3766], bpl
je 0x18005069a
cmp word [rbx + r9*2 + 0x375c], 2
jne 0x18005069a
mov cl, 1
jmp 0x18005069c
xor cl, cl
bt esi, 0xa
jae 0x1800506b6
movss xmm0, dword [rbx + r9*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x1800506b6
mov al, 1
jmp 0x1800506b8
xor al, al
test cl, cl
jne 0x1800506de
test al, al
jne 0x1800506de
lea ecx, [r9 + 0x281]
mov edx, r14d
call fcn.1800319d0
test al, al
movzx r12d, r12b
mov eax, 1
cmovne r12d, eax
call fcn.180026700
bt esi, 0x12
jb 0x180050707
mov byte [rbx + 0x48ee], 1
jmp 0x180050707
add eax, 0xfffffffe
cmp eax, 1
ja 0x180050707
cmp dword [rbx + 0x48c4], edi
je 0x180050707
call fcn.180026700
test r12b, r12b
je 0x180050713
mov byte [rbx + 0x3f3f], 1
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180050723
mov byte [rax], r15b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180050733
mov byte [rax], bpl
mov rbx, qword [rsp + 0x88]
movzx eax, r12b
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret