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

Disassembly:
mov rax, rsp
push rbx
push r12
sub rsp, 0xd8
mov rbx, qword [0x1401697b0]
xor r12d, r12d
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rsp + 0x60], xmm11
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x78], xmm10
xorps xmm10, xmm10
mov byte [rbx + 0x39b], 0
mov qword [rbx + 0x1ee8], r12
mov dword [rbx + 0x1ef0], r12d
movzx r15d, byte [rbx + 8]
and r15b, 1
movaps xmmword [rsp + 0x50], xmm12
test byte [rbx + 8], 2
movaps xmmword [rsp + 0x40], xmm13
je 0x140046687
test byte [rbx + 0xc], 1
je 0x140046687
cmp dword [rbx + 0x1dfc], 3
lea r14, [rbx + 0x1dfc]
mov dil, 1
je 0x140046691
movss xmm0, dword [rbx + 0x344]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x34c]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x348]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x350]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x354]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x358]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x35c]
comiss xmm0, xmm10
ja 0x14004667b
movss xmm0, dword [rbx + 0x360]
lea r14, [rbx + 0x1dfc]
comiss xmm0, xmm10
jbe 0x140046691
mov dword [rbx + 0x1dfc], 3
jmp 0x14004668a
xor dil, dil
lea r14, [rbx + 0x1dfc]
test r15b, r15b
je 0x1400467ce
movsxd rax, dword [rbx + 0x6c]
test eax, eax
js 0x1400466bd
cmp byte [rax + rbx + 0x144], r12b
je 0x1400466bd
mov dword [rbx + 0x344], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x70]
test eax, eax
js 0x1400466e0
cmp byte [rax + rbx + 0x144], r12b
je 0x1400466e0
mov dword [rbx + 0x34c], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x74]
test eax, eax
js 0x140046703
cmp byte [rax + rbx + 0x144], r12b
je 0x140046703
mov dword [rbx + 0x348], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x40]
test eax, eax
js 0x140046726
cmp byte [rax + rbx + 0x144], r12b
je 0x140046726
mov dword [rbx + 0x388], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x44]
test eax, eax
js 0x140046749
cmp byte [rax + rbx + 0x144], r12b
je 0x140046749
mov dword [rbx + 0x38c], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x48]
test eax, eax
js 0x14004676c
cmp byte [rax + rbx + 0x144], r12b
je 0x14004676c
mov dword [rbx + 0x390], 0x3f800000
mov dword [r14], 2
movsxd rax, dword [rbx + 0x4c]
test eax, eax
js 0x14004678f
cmp byte [rax + rbx + 0x144], r12b
je 0x14004678f
mov dword [rbx + 0x394], 0x3f800000
mov dword [r14], 2
movzx eax, byte [rbx + 0x140]
test al, al
je 0x1400467a4
mov dword [rbx + 0x37c], 0x3f800000
cmp byte [rbx + 0x141], r12b
je 0x1400467b7
mov dword [rbx + 0x380], 0x3f800000
cmp byte [rbx + 0x142], r12b
je 0x1400467ce
test al, al
jne 0x1400467ce
mov dword [rbx + 0x384], 0x3f800000
movups xmm0, xmmword [rbx + 0x14a0]
mov eax, dword [rbx + 0x14f0]
mov r9d, r12d
movups xmm1, xmmword [rbx + 0x14b0]
lea rdx, [rbx + 0x18]
mov rcx, r12
movss xmm13, dword [0x14011c804]
movups xmmword [rbx + 0x14f4], xmm0
movups xmm0, xmmword [rbx + 0x14c0]
movups xmmword [rbx + 0x1504], xmm1
movups xmm1, xmmword [rbx + 0x14d0]
movups xmmword [rbx + 0x1514], xmm0
movups xmm0, xmmword [rbx + 0x14e0]
movups xmmword [rbx + 0x1524], xmm1
movups xmmword [rbx + 0x1534], xmm0
mov dword [rbx + 0x1544], eax
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rbx + rcx*4 + 0x344]
comiss xmm0, xmm10
jbe 0x14004686e
movss xmm0, dword [rbx + rcx*4 + 0x14a0]
lea rdx, [rbx + 0x18]
comiss xmm10, xmm0
jbe 0x140046868
movaps xmm0, xmm10
jmp 0x140046872
addss xmm0, dword [rdx]
jmp 0x140046872
movaps xmm0, xmm13
mov r8d, 0x526
mov rax, rcx
add rax, r8
mov rbp, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x348]
comiss xmm0, xmm10
jbe 0x1400468b1
movss xmm0, dword [rbx + rcx*4 + 0x14a4]
comiss xmm10, xmm0
jbe 0x1400468ab
movaps xmm0, xmm10
jmp 0x1400468b5
addss xmm0, dword [rdx]
jmp 0x1400468b5
movaps xmm0, xmm13
mov edx, 0x527
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x34c]
comiss xmm0, xmm10
jbe 0x1400468f1
movss xmm0, dword [rbx + rcx*4 + 0x14a8]
comiss xmm10, xmm0
jbe 0x1400468ea
movaps xmm0, xmm10
jmp 0x1400468f5
addss xmm0, dword [rbp]
jmp 0x1400468f5
movaps xmm0, xmm13
mov edx, 0x528
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x350]
comiss xmm0, xmm10
jbe 0x140046931
movss xmm0, dword [rbx + rcx*4 + 0x14ac]
comiss xmm10, xmm0
jbe 0x14004692a
movaps xmm0, xmm10
jmp 0x140046935
addss xmm0, dword [rbp]
jmp 0x140046935
movaps xmm0, xmm13
mov edx, 0x529
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x354]
comiss xmm0, xmm10
jbe 0x140046971
movss xmm0, dword [rbx + rcx*4 + 0x14b0]
comiss xmm10, xmm0
jbe 0x14004696a
movaps xmm0, xmm10
jmp 0x140046975
addss xmm0, dword [rbp]
jmp 0x140046975
movaps xmm0, xmm13
mov edx, 0x52a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x358]
comiss xmm0, xmm10
jbe 0x1400469b1
movss xmm0, dword [rbx + rcx*4 + 0x14b4]
comiss xmm10, xmm0
jbe 0x1400469aa
movaps xmm0, xmm10
jmp 0x1400469b5
addss xmm0, dword [rbp]
jmp 0x1400469b5
movaps xmm0, xmm13
mov edx, 0x52b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x35c]
comiss xmm0, xmm10
jbe 0x1400469f1
movss xmm0, dword [rbx + rcx*4 + 0x14b8]
comiss xmm10, xmm0
jbe 0x1400469ea
movaps xmm0, xmm10
jmp 0x1400469f5
addss xmm0, dword [rbp]
jmp 0x1400469f5
movaps xmm0, xmm13
mov edx, 0x52c
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x360]
comiss xmm0, xmm10
jbe 0x140046a31
movss xmm0, dword [rbx + rcx*4 + 0x14bc]
comiss xmm10, xmm0
jbe 0x140046a2a
movaps xmm0, xmm10
jmp 0x140046a35
addss xmm0, dword [rbp]
jmp 0x140046a35
movaps xmm0, xmm13
mov edx, 0x52d
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x364]
comiss xmm0, xmm10
jbe 0x140046a71
movss xmm0, dword [rbx + rcx*4 + 0x14c0]
comiss xmm10, xmm0
jbe 0x140046a6a
movaps xmm0, xmm10
jmp 0x140046a75
addss xmm0, dword [rbp]
jmp 0x140046a75
movaps xmm0, xmm13
mov edx, 0x52e
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x368]
comiss xmm0, xmm10
jbe 0x140046ab1
movss xmm0, dword [rbx + rcx*4 + 0x14c4]
comiss xmm10, xmm0
jbe 0x140046aaa
movaps xmm0, xmm10
jmp 0x140046ab5
addss xmm0, dword [rbp]
jmp 0x140046ab5
movaps xmm0, xmm13
mov edx, 0x52f
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x36c]
comiss xmm0, xmm10
jbe 0x140046af1
movss xmm0, dword [rbx + rcx*4 + 0x14c8]
comiss xmm10, xmm0
jbe 0x140046aea
movaps xmm0, xmm10
jmp 0x140046af5
addss xmm0, dword [rbp]
jmp 0x140046af5
movaps xmm0, xmm13
mov edx, 0x530
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x370]
comiss xmm0, xmm10
jbe 0x140046b31
movss xmm0, dword [rbx + rcx*4 + 0x14cc]
comiss xmm10, xmm0
jbe 0x140046b2a
movaps xmm0, xmm10
jmp 0x140046b35
addss xmm0, dword [rbp]
jmp 0x140046b35
movaps xmm0, xmm13
mov edx, 0x531
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x374]
comiss xmm0, xmm10
jbe 0x140046b71
movss xmm0, dword [rbx + rcx*4 + 0x14d0]
comiss xmm10, xmm0
jbe 0x140046b6a
movaps xmm0, xmm10
jmp 0x140046b75
addss xmm0, dword [rbp]
jmp 0x140046b75
movaps xmm0, xmm13
mov edx, 0x532
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x378]
comiss xmm0, xmm10
jbe 0x140046bb1
movss xmm0, dword [rbx + rcx*4 + 0x14d4]
comiss xmm10, xmm0
jbe 0x140046baa
movaps xmm0, xmm10
jmp 0x140046bb5
addss xmm0, dword [rbp]
jmp 0x140046bb5
movaps xmm0, xmm13
mov edx, 0x533
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x37c]
comiss xmm0, xmm10
jbe 0x140046bf1
movss xmm0, dword [rbx + rcx*4 + 0x14d8]
comiss xmm10, xmm0
jbe 0x140046bea
movaps xmm0, xmm10
jmp 0x140046bf5
addss xmm0, dword [rbp]
jmp 0x140046bf5
movaps xmm0, xmm13
mov edx, 0x534
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x380]
comiss xmm0, xmm10
jbe 0x140046c31
movss xmm0, dword [rbx + rcx*4 + 0x14dc]
comiss xmm10, xmm0
jbe 0x140046c2a
movaps xmm0, xmm10
jmp 0x140046c35
addss xmm0, dword [rbp]
jmp 0x140046c35
movaps xmm0, xmm13
mov edx, 0x535
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x384]
comiss xmm0, xmm10
jbe 0x140046c71
movss xmm0, dword [rbx + rcx*4 + 0x14e0]
comiss xmm10, xmm0
jbe 0x140046c6a
movaps xmm0, xmm10
jmp 0x140046c75
addss xmm0, dword [rbp]
jmp 0x140046c75
movaps xmm0, xmm13
mov edx, 0x536
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x388]
comiss xmm0, xmm10
jbe 0x140046cb1
movss xmm0, dword [rbx + rcx*4 + 0x14e4]
comiss xmm10, xmm0
jbe 0x140046caa
movaps xmm0, xmm10
jmp 0x140046cb5
addss xmm0, dword [rbp]
jmp 0x140046cb5
movaps xmm0, xmm13
mov edx, 0x537
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x38c]
comiss xmm0, xmm10
jbe 0x140046cf1
movss xmm0, dword [rbx + rcx*4 + 0x14e8]
comiss xmm10, xmm0
jbe 0x140046cea
movaps xmm0, xmm10
jmp 0x140046cf5
addss xmm0, dword [rbp]
jmp 0x140046cf5
movaps xmm0, xmm13
mov edx, 0x538
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x390]
comiss xmm0, xmm10
jbe 0x140046d31
movss xmm0, dword [rbx + rcx*4 + 0x14ec]
comiss xmm10, xmm0
jbe 0x140046d2a
movaps xmm0, xmm10
jmp 0x140046d35
addss xmm0, dword [rbp]
jmp 0x140046d35
movaps xmm0, xmm13
mov edx, 0x539
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x394]
comiss xmm0, xmm10
jbe 0x140046d74
movss xmm0, dword [rbx + rcx*4 + 0x14f0]
comiss xmm10, xmm0
jbe 0x140046d6a
movaps xmm0, xmm10
jmp 0x140046d78
addss xmm0, dword [rbp]
mov rdx, rbp
jmp 0x140046d7c
movaps xmm0, xmm13
lea rdx, [rbx + 0x18]
mov rax, rcx
mov r8d, 0x53a
add rax, r8
add r9d, 0x15
add rcx, 0x15
movss dword [rbx + rax*4 + 8], xmm0
cmp r9d, 0x15
jl 0x140046840
mov edx, dword [rbx + 0x1e24]
test edx, edx
je 0x140046e0d
mov r8, qword [rbx + 0x1dc8]
test r8, r8
je 0x140046e0d
movsxd rax, dword [rbx + 0x1e14]
mov dword [rbx + 0x1e14], eax
mov rcx, rax
mov dword [rbx + 0x1dd0], edx
add rcx, rcx
mov dword [rbx + 0x1dd4], r12d
mov dword [r8 + rax*4 + 0x3c0], edx
mov rax, qword [rbx + 0x1dc8]
movups xmm0, xmmword [rbx + 0x1e28]
movups xmmword [rax + rcx*8 + 0x3c8], xmm0
cmp byte [rbx + 0x1e22], r12b
je 0x140046e0d
mov word [rbx + 0x1e1d], 1
mov byte [rbx + 0x1e1f], 1
mov word [rbx + 0x1e21], r12w
mov dword [rbx + 0x1e24], r12d
mov dword [rbx + 0x1dec], r12d
cmp byte [rbx + 0x1e38], r12b
je 0x140046e31
call fcn.140047ac0
cmp dword [rbx + 0x1e40], 2
jne 0x140046e5a
cmp dword [rbx + 0x1e60], r12d
jne 0x140046e53
cmp dword [rbx + 0x1ec0], r12d
jne 0x140046e53
mov byte [rbx + 0x1e1e], r12b
mov dword [rbx + 0x1e40], r12d
cmp byte [rbx + 0x1e1d], r12b
je 0x140046ed7
cmp byte [rbx + 0x1e1c], r12b
je 0x140046ed7
test byte [rbx + 8], 4
je 0x140046ed0
test byte [rbx + 0xc], 4
je 0x140046ed0
cmp byte [rbx + 0x1e1e], r12b
jne 0x140046ed0
cmp byte [rbx + 0x1e1f], r12b
je 0x140046ed0
cmp qword [rbx + 0x1dc8], r12
je 0x140046ed0
lea rcx, [rsp + 0xf0]
call fcn.140046070
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x3c4], xmm0
movss dword [rbx + 0x3c8], xmm1
movss dword [rbx + 0x128], xmm0
movss dword [rbx + 0x12c], xmm1
mov byte [rbx + 0x39b], 1
mov byte [rbx + 0x1e1d], r12b
mov rcx, qword [rbx + 0x1dc8]
mov byte [rbx + 0x1e1c], r12b
mov dword [rbx + 0x1de8], r12d
test rcx, rcx
je 0x140046f20
mov rax, rcx
cmp qword [rax + 0x3a0], rax
je 0x140046f14
test dword [rax + 0x1c], 0x14000000
jne 0x140046f14
mov rax, qword [rax + 0x398]
test rax, rax
jne 0x140046ef4
jmp 0x140046f20
cmp rax, rcx
je 0x140046f20
mov qword [rax + 0x3b8], rcx
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140046f45
cmp qword [rax + 0x3b8], r12
je 0x140046f45
cmp dword [rbx + 0x1e14], r12d
jne 0x140046f45
mov qword [rax + 0x3b8], r12
call fcn.140048640
test r15b, r15b
jne 0x140046f58
test dil, dil
je 0x140047050
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140047050
test dword [rax + 0x1c], 0x40000
jne 0x140047050
mov byte [rbx + 0x39d], 1
cmp dword [rbx + 0x1dd0], r12d
je 0x140047057
cmp byte [rbx + 0x1e1e], r12b
jne 0x140047057
mov al, 1
mov edx, 1
movaps xmmword [rsp + 0xb0], xmm6
mov ecx, edx
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x80], xmm9
mov byte [rbx + 0x39e], al
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x14004723b
cmp dword [rbx + 0x1c58], r12d
je 0x14004706b
mov rdi, qword [0x1401697b0]
mov eax, dword [rdi + 0x1c70]
shr eax, 1
test dl, al
jne 0x140047242
mov ecx, dword [rdi + 0x1c58]
test ecx, ecx
setne al
mov byte [rdi + 0x1c64], al
test ecx, ecx
je 0x14004701f
mov dword [rdi + 0x1c60], r12d
mov word [rdi + 0x1c67], r12w
mov dword [rdi + 0x1c94], 0xffffffff
mov dword [rdi + 0x1c58], r12d
mov word [rdi + 0x1c65], r12w
mov qword [rdi + 0x1c88], r12
mov word [rdi + 0x1c69], r12w
mov qword [rdi + 0x1c6c], r12
mov qword [rdi + 0x1c78], r12
jmp 0x140047242
mov byte [rbx + 0x39d], r12b
cmp qword [rbx + 0x1ef8], r12
jne 0x140046f96
xor al, al
jmp 0x140046f98
mov rdi, qword [rbx + 0x1dc8]
test rdi, rdi
je 0x140047151
cmp rdi, qword [rdi + 0x3a0]
je 0x140047151
test dword [rdi + 0x1c], 0x4000000
jne 0x140047151
mov rsi, qword [rdi + 0x398]
test rsi, rsi
je 0x140047151
movss xmm9, dword [rdi + 0x20]
mov rcx, rsi
movss xmm8, dword [rdi + 0x24]
movss xmm6, dword [rdi + 0x28]
movss xmm7, dword [rdi + 0x2c]
call fcn.140042ae0
mov ecx, dword [rdi + 0x68]
movaps xmm3, xmm9
subss xmm9, dword [rsi + 0x20]
mov rdi, qword [0x1401697b0]
addss xmm3, xmm6
movaps xmm2, xmm8
subss xmm8, dword [rsi + 0x24]
addss xmm2, xmm7
mov rax, qword [rdi + 0x1dc8]
subss xmm3, dword [rsi + 0x20]
shufps xmm9, xmm9, 0xe1
movss xmm9, xmm8
subss xmm2, dword [rsi + 0x24]
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm3
mov dword [rdi + 0x1dd0], ecx
mov dword [rdi + 0x1e14], r12d
mov dword [rdi + 0x1dd4], r12d
shufps xmm9, xmm9, 0x27
mov dword [rax + 0x3c0], ecx
movss xmm9, xmm2
mov rax, qword [rdi + 0x1dc8]
shufps xmm9, xmm9, 0x39
movups xmmword [rsp + 0x30], xmm9
movups xmmword [rax + 0x3c8], xmm9
jmp 0x140047242
movsxd rdx, dword [rbx + 0x1d98]
test edx, edx
jle 0x14004718b
mov rax, qword [rbx + 0x1da0]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
test dword [rcx + 0x1c], 0x8000000
jne 0x14004723b
lea ecx, [rdx - 1]
mov dl, 1
call fcn.140044ae0
jmp 0x14004723b
cmp dword [rbx + 0x1e14], r12d
je 0x140047219
mov rdi, qword [0x1401697b0]
mov rax, qword [rdi + 0x1dc8]
mov rcx, qword [rax + 0x3b8]
test rcx, rcx
je 0x1400471bb
cmp byte [rcx + 0x9f], r12b
jne 0x1400471be
mov rcx, rax
mov qword [rdi + 0x1dc8], rcx
mov eax, dword [rcx + 0x3c0]
mov dword [rdi + 0x1e14], r12d
test eax, eax
je 0x140047210
mov dword [rdi + 0x1dd0], eax
mov dword [rdi + 0x1dd4], r12d
mov dword [rcx + 0x3c0], eax
movups xmm0, xmmword [rcx + 0x3c8]
mov rax, qword [rdi + 0x1dc8]
movups xmmword [rax + 0x3c8], xmm0
mov word [rdi + 0x1e1d], 1
mov byte [rdi + 0x1e1f], 1
jmp 0x140047242
mov dl, 1
call fcn.140045fa0
jmp 0x140047242
test rdi, rdi
je 0x140047234
mov eax, dword [rdi + 0x1c]
bt eax, 0x1a
jb 0x14004722d
bt eax, 0x18
jb 0x140047234
mov dword [rdi + 0x3c0], r12d
mov qword [rbx + 0x1dd0], r12
mov rdi, qword [0x1401697b0]
mov r9d, dword [rbx + 0x1dd0]
mov qword [rbx + 0x1de0], r12
mov qword [rbx + 0x1dd8], r12
test r9d, r9d
je 0x140047324
cmp byte [rbx + 0x1e1e], r12b
jne 0x140047324
cmp qword [rbx + 0x1ef8], r12
jne 0x140047324
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140047324
test dword [rax + 0x1c], 0x40000
jne 0x140047324
movss xmm0, dword [rdi + 0x344]
comiss xmm0, xmm10
seta r10b
test r10b, r10b
je 0x1400472c3
mov edx, 1
xor ecx, ecx
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x1400472c3
movzx ecx, dl
jmp 0x1400472c5
xor cl, cl
mov eax, dword [rbx + 0x1c58]
test eax, eax
jne 0x1400472dc
test cl, cl
je 0x1400472e1
mov dword [rbx + 0x1dd8], r9d
jmp 0x1400472e1
cmp eax, r9d
jne 0x140047324
test r10b, r10b
je 0x1400472ed
mov dword [rbx + 0x1ddc], r9d
test eax, eax
je 0x1400472f6
cmp eax, r9d
jne 0x140047324
test cl, cl
je 0x140047301
mov dword [rbx + 0x1de0], r9d
test eax, eax
je 0x14004730a
cmp eax, r9d
jne 0x140047324
mov edx, 1
lea ecx, [rdx + 1]
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x140047324
mov dword [rbx + 0x1de4], r9d
mov rcx, qword [rbx + 0x1dc8]
test rcx, rcx
je 0x140047340
test dword [rcx + 0x1c], 0x40000
je 0x140047340
mov byte [rbx + 0x1e1e], 1
mov eax, dword [rbx + 0x1df8]
mov byte [rbx + 0x1e38], r12b
test eax, eax
je 0x140047369
mov dword [rbx + 0x1de4], eax
mov dword [rbx + 0x1de0], eax
mov dword [rbx + 0x1ddc], eax
mov dword [rbx + 0x1dd8], eax
mov dword [rbx + 0x1df8], r12d
cmp dword [rbx + 0x1e40], r12d
jne 0x1400474b3
mov dword [rbx + 0x1e48], 0xffffffff
mov r9d, 0xffffffff
mov dword [rbx + 0x1e3c], r12d
test rcx, rcx
je 0x1400474a3
cmp qword [rbx + 0x1ef8], r12
jne 0x1400474a3
test dword [rcx + 0x1c], 0x40000
jne 0x1400474a3
test byte [rdi + 0x1c6c], 1
jne 0x1400473ea
lea edx, [r9 + 4]
lea ecx, [rdx + 1]
call fcn.1400461e0
comiss xmm0, xmm10
ja 0x1400473e0
lea ecx, [rdx + 0xe]
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x1400473ea
mov dword [rbx + 0x1e48], r12d
mov r9d, r12d
mov eax, dword [rdi + 0x1c6c]
shr eax, 1
test al, 1
jne 0x140047427
mov edx, 3
lea ecx, [rdx + 2]
call fcn.1400461e0
comiss xmm0, xmm10
ja 0x140047417
lea ecx, [rdx + 0xf]
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x140047427
mov dword [rbx + 0x1e48], 1
mov r9d, 1
mov eax, dword [rdi + 0x1c6c]
shr eax, 2
test al, 1
jne 0x140047465
mov edx, 3
lea ecx, [rdx + 3]
call fcn.1400461e0
comiss xmm0, xmm10
ja 0x140047455
lea ecx, [rdx + 0x10]
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x140047465
mov dword [rbx + 0x1e48], 2
mov r9d, 2
mov eax, dword [rdi + 0x1c6c]
shr eax, 3
test al, 1
jne 0x1400474a3
mov edx, 3
lea ecx, [rdx + 4]
call fcn.1400461e0
comiss xmm0, xmm10
ja 0x140047493
lea ecx, [rdx + 0x11]
call fcn.1400461e0
comiss xmm0, xmm10
jbe 0x1400474a3
mov dword [rbx + 0x1e48], 3
mov r9d, 3
movzx eax, byte [rbx + 0x1e38]
mov dword [rbx + 0x1e50], r9d
jmp 0x1400474bf
mov dword [rbx + 0x1e40], 2
xor al, al
test r15b, r15b
movaps xmm11, xmm10
mov r15, qword [rsp + 0xc0]
je 0x1400474e0
call fcn.140047d70
movzx eax, byte [rbx + 0x1e38]
movaps xmm11, xmm0
mov ecx, dword [rbx + 0x1e48]
cmp ecx, 0xffffffff
je 0x140047506
mov byte [rbx + 0x1e38], 1
mov eax, dword [rbx + 0x3c0]
mov dword [rbx + 0x1e44], eax
mov dword [rbx + 0x1e4c], ecx
jmp 0x14004750a
test al, al
je 0x14004752a
cmp dword [rbx + 0x1dd0], r12d
jne 0x14004752a
mov word [rbx + 0x1e21], 0x101
mov dword [rbx + 0x1e24], r12d
mov byte [rbx + 0x1e1e], r12b
cmp byte [rdi + 0x1e38], r12b
jne 0x140047540
cmp byte [rdi + 0x1e21], r12b
jne 0x140047540
xor al, al
jmp 0x140047542
mov al, 1
movss xmm12, dword [0x14011c540]
movss xmm8, dword [0x14011c5ec]
mov byte [rdi + 0x1e20], al
mov rsi, qword [rbx + 0x1dc8]
test rsi, rsi
je 0x140047713
test dword [rsi + 0x1c], 0x40000
jne 0x140047713
cmp qword [rbx + 0x1ef8], r12
jne 0x140047713
mov rax, qword [rsi + 0x398]
movss xmm0, dword [rdi + 0x1984]
mulss xmm0, dword [rsi + 0x2c0]
test rax, rax
je 0x1400475a8
mulss xmm0, dword [rax + 0x2c0]
mulss xmm0, dword [0x14011c714]
mulss xmm0, dword [rbp]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp dword [rsi + 0x160], r12d
jne 0x14004766d
cmp byte [rsi + 0x16d], r12b
je 0x14004766d
cmp byte [rbx + 0x1e38], r12b
je 0x14004766d
mov eax, dword [rbx + 0x1e48]
test eax, eax
je 0x140047601
cmp eax, 1
jne 0x14004762c
movaps xmm0, xmm8
jmp 0x140047605
movaps xmm0, xmm13
mulss xmm0, xmm6
mov dword [rsi + 0x84], r12d
mov dword [rsi + 0x8c], r12d
addss xmm0, dword [rsi + 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x7c], xmm0
mov eax, dword [rbx + 0x1e48]
cmp eax, 2
je 0x140047640
cmp eax, 3
jne 0x14004766d
movaps xmm13, xmm8
mulss xmm13, xmm6
mov dword [rsi + 0x88], r12d
mov dword [rsi + 0x90], r12d
addss xmm13, dword [rsi + 0x70]
cvttss2si eax, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
movss xmm0, dword [0x14011c6b8]
lea rcx, [rsp + 0xf0]
movss xmm3, dword [0x14011c4c8]
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
lea edx, [r8 + 4]
call fcn.140046360
movss xmm0, dword [rsp + 0xf0]
ucomiss xmm0, xmm10
jp 0x1400476a8
je 0x1400476d8
cmp byte [rsi + 0x9c], r12b
je 0x1400476d8
mulss xmm0, xmm6
mov dword [rsi + 0x84], r12d
mov dword [rsi + 0x8c], r12d
addss xmm0, dword [rsi + 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x7c], xmm0
movss xmm0, dword [rsp + 0xf4]
ucomiss xmm0, xmm10
jp 0x1400476e9
je 0x140047713
mulss xmm0, xmm6
mov dword [rsi + 0x88], r12d
mov dword [rsi + 0x90], r12d
addss xmm0, dword [rsi + 0x70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
mov qword [rbx + 0x1e58], r12
mov qword [rbx + 0x1e60], r12
mov dword [rbx + 0x1e70], 0x7f7fffff
mov dword [rbx + 0x1e6c], 0x7f7fffff
mov dword [rbx + 0x1e68], 0x7f7fffff
mov qword [rbx + 0x1e74], r12
mov qword [rbx + 0x1e7c], r12
mov qword [rbx + 0x1e88], r12
mov qword [rbx + 0x1e90], r12
mov dword [rbx + 0x1ea0], 0x7f7fffff
mov dword [rbx + 0x1e9c], 0x7f7fffff
mov dword [rbx + 0x1e98], 0x7f7fffff
mov qword [rbx + 0x1ea4], r12
mov qword [rbx + 0x1eac], r12
mov qword [rbx + 0x1eb8], r12
mov qword [rbx + 0x1ec0], r12
mov dword [rbx + 0x1ed0], 0x7f7fffff
mov dword [rbx + 0x1ecc], 0x7f7fffff
mov dword [rbx + 0x1ec8], 0x7f7fffff
mov qword [rbx + 0x1ed4], r12
mov qword [rbx + 0x1edc], r12
movaps xmm13, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x70]
mov rsi, qword [rsp + 0x100]
mov rbp, qword [rsp + 0xf8]
cmp byte [rbx + 0x1e38], r12b
je 0x14004795a
cmp dword [r14], 3
jne 0x14004795a
cmp dword [rbx + 0x1e14], r12d
jne 0x14004795a
mov rax, qword [rbx + 0x1dc8]
movss xmm3, dword [rax + 0x228]
subss xmm3, dword [rax + 0x20]
movss xmm6, dword [rax + 0x230]
movss xmm5, dword [rax + 0x234]
movss xmm4, dword [rax + 0x22c]
subss xmm6, dword [rax + 0x20]
subss xmm5, dword [rax + 0x24]
subss xmm4, dword [rax + 0x24]
movss xmm9, dword [rax + 0x3c8]
subss xmm3, xmm8
addss xmm6, xmm8
addss xmm5, xmm8
subss xmm4, xmm8
comiss xmm9, xmm3
jb 0x140047882
movss xmm0, dword [rax + 0x3cc]
comiss xmm0, xmm4
jb 0x140047882
comiss xmm6, dword [rax + 0x3d0]
jb 0x140047882
comiss xmm5, dword [rax + 0x3d4]
jae 0x14004795a
mov rcx, qword [rax + 0x398]
movss xmm7, dword [rdi + 0x1984]
mulss xmm7, dword [rax + 0x2c0]
test rcx, rcx
je 0x1400478a6
mulss xmm7, dword [rcx + 0x2c0]
movss xmm0, dword [rax + 0x3cc]
movaps xmm2, xmm5
subss xmm2, xmm4
mulss xmm7, xmm12
movaps xmm1, xmm6
subss xmm1, xmm3
minss xmm2, xmm7
minss xmm1, xmm7
xorps xmm2, xmmword [0x14011cb00]
subss xmm4, xmm2
addss xmm5, xmm2
xorps xmm1, xmmword [0x14011cb00]
subss xmm3, xmm1
addss xmm6, xmm1
comiss xmm4, xmm0
jbe 0x1400478f1
movaps xmm1, xmm4
jmp 0x1400478f8
movaps xmm1, xmm5
minss xmm1, xmm0
comiss xmm3, xmm9
jbe 0x140047903
movaps xmm0, xmm3
jmp 0x14004790b
movaps xmm0, xmm6
minss xmm0, xmm9
movss dword [rax + 0x3c8], xmm0
movss dword [rax + 0x3cc], xmm1
movss xmm0, dword [rax + 0x3d4]
comiss xmm4, xmm0
ja 0x14004792f
movaps xmm4, xmm5
minss xmm4, xmm0
movss xmm0, dword [rax + 0x3d0]
comiss xmm3, xmm0
ja 0x140047943
movaps xmm3, xmm6
minss xmm3, xmm0
movss dword [rax + 0x3d0], xmm3
movss dword [rax + 0x3d4], xmm4
mov qword [rbx + 0x1dd0], r12
mov rax, qword [rbx + 0x1dc8]
movaps xmm12, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r14, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
test rax, rax
je 0x1400479dc
movsxd rcx, dword [rbx + 0x1e14]
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3c8]
comiss xmm0, dword [rax + rcx*8 + 0x3d0]
ja 0x1400479dc
movss xmm0, dword [rax + rcx*8 + 0x3cc]
comiss xmm0, dword [rax + rcx*8 + 0x3d4]
ja 0x1400479dc
movups xmm0, xmmword [rax + rcx*8 + 0x3c8]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
jmp 0x1400479f1
lea rcx, [rsp + 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
test rax, rax
je 0x140047a34
movaps xmm4, xmm5
movaps xmm3, xmm5
shufps xmm4, xmm5, 0xaa
movaps xmm0, xmm5
addss xmm4, dword [rax + 0x20]
addss xmm0, dword [rax + 0x20]
shufps xmm3, xmm5, 0xff
addss xmm3, dword [rax + 0x24]
shufps xmm5, xmm5, 0x55
addss xmm5, dword [rax + 0x24]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x34], xmm5
jmp 0x140047a39
movups xmmword [rsp + 0x30], xmm0
movaps xmm1, xmm11
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x1e00], xmm0
addss xmm11, dword [rbx + 0x1e0c]
addss xmm1, dword [rbx + 0x1e04]
movss dword [rbx + 0x1e0c], xmm11
movaps xmm11, xmmword [rsp + 0x60]
movss dword [rbx + 0x1e04], xmm1
movss xmm0, dword [rbx + 0x1e00]
addss xmm0, xmm8
mov dword [rbx + 0x1e10], r12d
movaps xmm8, xmmword [rsp + 0x90]
minss xmm0, dword [rbx + 0x1e08]
movss dword [rbx + 0x1e00], xmm0
movss dword [rbx + 0x1e08], xmm0
add rsp, 0xd8
pop r12
pop rbx
ret