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

Disassembly:
mov rax, rsp
push rbx
push r14
sub rsp, 0xc8
mov rbx, qword [0x1400f77e0]
xor r14d, r14d
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x78], xmm11
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 0x18], rdi
movaps xmmword [rax - 0x68], xmm10
xorps xmm10, xmm10
mov byte [rbx + 0x39b], 0
mov qword [rbx + 0x1ee8], r14
mov dword [rbx + 0x1ef0], r14d
movzx ebp, byte [rbx + 8]
and bpl, 1
movaps xmmword [rsp + 0x50], xmm12
test byte [rbx + 8], 2
movaps xmmword [rsp + 0x40], xmm13
je 0x1400403cd
test byte [rbx + 0xc], 1
je 0x1400403cd
cmp dword [rbx + 0x1dfc], 3
lea rcx, [rbx + 0x1dfc]
mov dil, 1
je 0x1400403d7
movss xmm0, dword [rbx + 0x344]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x34c]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x348]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x350]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x354]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x358]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x35c]
comiss xmm0, xmm10
ja 0x1400403c1
movss xmm0, dword [rbx + 0x360]
lea rcx, [rbx + 0x1dfc]
comiss xmm0, xmm10
jbe 0x1400403d7
mov dword [rbx + 0x1dfc], 3
jmp 0x1400403d0
xor dil, dil
lea rcx, [rbx + 0x1dfc]
test bpl, bpl
je 0x14004050d
movsxd rax, dword [rbx + 0x6c]
test eax, eax
js 0x140040402
cmp byte [rax + rbx + 0x144], r14b
je 0x140040402
mov dword [rbx + 0x344], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x70]
test eax, eax
js 0x140040424
cmp byte [rax + rbx + 0x144], r14b
je 0x140040424
mov dword [rbx + 0x34c], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x74]
test eax, eax
js 0x140040446
cmp byte [rax + rbx + 0x144], r14b
je 0x140040446
mov dword [rbx + 0x348], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x40]
test eax, eax
js 0x140040468
cmp byte [rax + rbx + 0x144], r14b
je 0x140040468
mov dword [rbx + 0x388], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x44]
test eax, eax
js 0x14004048a
cmp byte [rax + rbx + 0x144], r14b
je 0x14004048a
mov dword [rbx + 0x38c], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x48]
test eax, eax
js 0x1400404ac
cmp byte [rax + rbx + 0x144], r14b
je 0x1400404ac
mov dword [rbx + 0x390], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x4c]
test eax, eax
js 0x1400404ce
cmp byte [rax + rbx + 0x144], r14b
je 0x1400404ce
mov dword [rbx + 0x394], 0x3f800000
mov dword [rcx], 2
movzx eax, byte [rbx + 0x140]
test al, al
je 0x1400404e3
mov dword [rbx + 0x37c], 0x3f800000
cmp byte [rbx + 0x141], r14b
je 0x1400404f6
mov dword [rbx + 0x380], 0x3f800000
cmp byte [rbx + 0x142], r14b
je 0x14004050d
test al, al
jne 0x14004050d
mov dword [rbx + 0x384], 0x3f800000
movups xmm0, xmmword [rbx + 0x14a0]
mov eax, dword [rbx + 0x14f0]
mov r9d, r14d
movups xmm1, xmmword [rbx + 0x14b0]
lea r8, [rbx + 0x18]
mov rcx, r14
movss xmm13, dword [0x1400a5c4c]
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 0x1400405af
movss xmm0, dword [rbx + rcx*4 + 0x14a0]
lea r8, [rbx + 0x18]
comiss xmm10, xmm0
jbe 0x1400405a8
movaps xmm0, xmm10
jmp 0x1400405b3
addss xmm0, dword [r8]
jmp 0x1400405b3
movaps xmm0, xmm13
mov edx, 0x526
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x348]
comiss xmm0, xmm10
jbe 0x1400405ef
movss xmm0, dword [rbx + rcx*4 + 0x14a4]
comiss xmm10, xmm0
jbe 0x1400405e8
movaps xmm0, xmm10
jmp 0x1400405f3
addss xmm0, dword [r8]
jmp 0x1400405f3
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 0x14004062f
movss xmm0, dword [rbx + rcx*4 + 0x14a8]
comiss xmm10, xmm0
jbe 0x140040628
movaps xmm0, xmm10
jmp 0x140040633
addss xmm0, dword [r8]
jmp 0x140040633
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 0x14004066f
movss xmm0, dword [rbx + rcx*4 + 0x14ac]
comiss xmm10, xmm0
jbe 0x140040668
movaps xmm0, xmm10
jmp 0x140040673
addss xmm0, dword [r8]
jmp 0x140040673
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 0x1400406af
movss xmm0, dword [rbx + rcx*4 + 0x14b0]
comiss xmm10, xmm0
jbe 0x1400406a8
movaps xmm0, xmm10
jmp 0x1400406b3
addss xmm0, dword [r8]
jmp 0x1400406b3
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 0x1400406ef
movss xmm0, dword [rbx + rcx*4 + 0x14b4]
comiss xmm10, xmm0
jbe 0x1400406e8
movaps xmm0, xmm10
jmp 0x1400406f3
addss xmm0, dword [r8]
jmp 0x1400406f3
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 0x14004072f
movss xmm0, dword [rbx + rcx*4 + 0x14b8]
comiss xmm10, xmm0
jbe 0x140040728
movaps xmm0, xmm10
jmp 0x140040733
addss xmm0, dword [r8]
jmp 0x140040733
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 0x14004076f
movss xmm0, dword [rbx + rcx*4 + 0x14bc]
comiss xmm10, xmm0
jbe 0x140040768
movaps xmm0, xmm10
jmp 0x140040773
addss xmm0, dword [r8]
jmp 0x140040773
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 0x1400407af
movss xmm0, dword [rbx + rcx*4 + 0x14c0]
comiss xmm10, xmm0
jbe 0x1400407a8
movaps xmm0, xmm10
jmp 0x1400407b3
addss xmm0, dword [r8]
jmp 0x1400407b3
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 0x1400407ef
movss xmm0, dword [rbx + rcx*4 + 0x14c4]
comiss xmm10, xmm0
jbe 0x1400407e8
movaps xmm0, xmm10
jmp 0x1400407f3
addss xmm0, dword [r8]
jmp 0x1400407f3
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 0x14004082f
movss xmm0, dword [rbx + rcx*4 + 0x14c8]
comiss xmm10, xmm0
jbe 0x140040828
movaps xmm0, xmm10
jmp 0x140040833
addss xmm0, dword [r8]
jmp 0x140040833
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 0x14004086f
movss xmm0, dword [rbx + rcx*4 + 0x14cc]
comiss xmm10, xmm0
jbe 0x140040868
movaps xmm0, xmm10
jmp 0x140040873
addss xmm0, dword [r8]
jmp 0x140040873
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 0x1400408af
movss xmm0, dword [rbx + rcx*4 + 0x14d0]
comiss xmm10, xmm0
jbe 0x1400408a8
movaps xmm0, xmm10
jmp 0x1400408b3
addss xmm0, dword [r8]
jmp 0x1400408b3
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 0x1400408ef
movss xmm0, dword [rbx + rcx*4 + 0x14d4]
comiss xmm10, xmm0
jbe 0x1400408e8
movaps xmm0, xmm10
jmp 0x1400408f3
addss xmm0, dword [r8]
jmp 0x1400408f3
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 0x14004092f
movss xmm0, dword [rbx + rcx*4 + 0x14d8]
comiss xmm10, xmm0
jbe 0x140040928
movaps xmm0, xmm10
jmp 0x140040933
addss xmm0, dword [r8]
jmp 0x140040933
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 0x14004096f
movss xmm0, dword [rbx + rcx*4 + 0x14dc]
comiss xmm10, xmm0
jbe 0x140040968
movaps xmm0, xmm10
jmp 0x140040973
addss xmm0, dword [r8]
jmp 0x140040973
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 0x1400409af
movss xmm0, dword [rbx + rcx*4 + 0x14e0]
comiss xmm10, xmm0
jbe 0x1400409a8
movaps xmm0, xmm10
jmp 0x1400409b3
addss xmm0, dword [r8]
jmp 0x1400409b3
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 0x1400409ef
movss xmm0, dword [rbx + rcx*4 + 0x14e4]
comiss xmm10, xmm0
jbe 0x1400409e8
movaps xmm0, xmm10
jmp 0x1400409f3
addss xmm0, dword [r8]
jmp 0x1400409f3
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 0x140040a2f
movss xmm0, dword [rbx + rcx*4 + 0x14e8]
comiss xmm10, xmm0
jbe 0x140040a28
movaps xmm0, xmm10
jmp 0x140040a33
addss xmm0, dword [r8]
jmp 0x140040a33
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 0x140040a6f
movss xmm0, dword [rbx + rcx*4 + 0x14ec]
comiss xmm10, xmm0
jbe 0x140040a68
movaps xmm0, xmm10
jmp 0x140040a73
addss xmm0, dword [r8]
jmp 0x140040a73
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 0x140040aaf
movss xmm0, dword [rbx + rcx*4 + 0x14f0]
comiss xmm10, xmm0
jbe 0x140040aa8
movaps xmm0, xmm10
jmp 0x140040ab3
addss xmm0, dword [r8]
jmp 0x140040ab7
movaps xmm0, xmm13
lea r8, [rbx + 0x18]
mov rax, rcx
mov edx, 0x53a
add rax, rdx
add r9d, 0x15
add rcx, 0x15
movss dword [rbx + rax*4 + 8], xmm0
cmp r9d, 0x15
jl 0x140040580
mov edx, dword [rbx + 0x1e24]
test edx, edx
je 0x140040b47
mov r8, qword [rbx + 0x1dc8]
test r8, r8
je 0x140040b47
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], r14d
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], r14b
je 0x140040b47
mov word [rbx + 0x1e1d], 1
mov byte [rbx + 0x1e1f], 1
mov word [rbx + 0x1e21], r14w
mov dword [rbx + 0x1e24], r14d
mov dword [rbx + 0x1dec], r14d
cmp byte [rbx + 0x1e38], r14b
je 0x140040b6b
call fcn.140041800
cmp dword [rbx + 0x1e40], 2
jne 0x140040b94
cmp dword [rbx + 0x1e60], r14d
jne 0x140040b8d
cmp dword [rbx + 0x1ec0], r14d
jne 0x140040b8d
mov byte [rbx + 0x1e1e], r14b
mov dword [rbx + 0x1e40], r14d
cmp byte [rbx + 0x1e1d], r14b
je 0x140040c11
cmp byte [rbx + 0x1e1c], r14b
je 0x140040c11
test byte [rbx + 8], 4
je 0x140040c0a
test byte [rbx + 0xc], 4
je 0x140040c0a
cmp byte [rbx + 0x1e1e], r14b
jne 0x140040c0a
cmp byte [rbx + 0x1e1f], r14b
je 0x140040c0a
cmp qword [rbx + 0x1dc8], r14
je 0x140040c0a
lea rcx, [rsp + 0xe0]
call fcn.14003fdc0
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], r14b
mov rcx, qword [rbx + 0x1dc8]
mov byte [rbx + 0x1e1c], r14b
mov dword [rbx + 0x1de8], r14d
test rcx, rcx
je 0x140040c5c
mov rax, rcx
nop
cmp qword [rax + 0x3a0], rax
je 0x140040c50
test dword [rax + 0x1c], 0x14000000
jne 0x140040c50
mov rax, qword [rax + 0x398]
test rax, rax
jne 0x140040c30
jmp 0x140040c5c
cmp rax, rcx
je 0x140040c5c
mov qword [rax + 0x3b8], rcx
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140040c81
cmp qword [rax + 0x3b8], r14
je 0x140040c81
cmp dword [rbx + 0x1e14], r14d
jne 0x140040c81
mov qword [rax + 0x3b8], r14
call fcn.140042370
test bpl, bpl
jne 0x140040c94
test dil, dil
je 0x140040d8c
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140040d8c
test dword [rax + 0x1c], 0x40000
jne 0x140040d8c
mov byte [rbx + 0x39d], 1
cmp dword [rbx + 0x1dd0], r14d
je 0x140040d93
cmp byte [rbx + 0x1e1e], r14b
jne 0x140040d93
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.14003ff30
comiss xmm0, xmm10
jbe 0x140040f77
cmp dword [rbx + 0x1c58], r14d
je 0x140040da7
mov rdi, qword [0x1400f77e0]
mov eax, dword [rdi + 0x1c70]
shr eax, 1
test dl, al
jne 0x140040f7e
mov ecx, dword [rdi + 0x1c58]
test ecx, ecx
setne al
mov byte [rdi + 0x1c64], al
test ecx, ecx
je 0x140040d5b
mov dword [rdi + 0x1c60], r14d
mov word [rdi + 0x1c67], r14w
mov dword [rdi + 0x1c94], 0xffffffff
mov dword [rdi + 0x1c58], r14d
mov word [rdi + 0x1c65], r14w
mov qword [rdi + 0x1c88], r14
mov word [rdi + 0x1c69], r14w
mov qword [rdi + 0x1c6c], r14
mov qword [rdi + 0x1c78], r14
jmp 0x140040f7e
mov byte [rbx + 0x39d], r14b
cmp qword [rbx + 0x1ef8], r14
jne 0x140040cd2
xor al, al
jmp 0x140040cd4
mov rdi, qword [rbx + 0x1dc8]
test rdi, rdi
je 0x140040e8d
cmp rdi, qword [rdi + 0x3a0]
je 0x140040e8d
test dword [rdi + 0x1c], 0x4000000
jne 0x140040e8d
mov rsi, qword [rdi + 0x398]
test rsi, rsi
je 0x140040e8d
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.14003c7f0
mov ecx, dword [rdi + 0x68]
movaps xmm3, xmm9
subss xmm9, dword [rsi + 0x20]
mov rdi, qword [0x1400f77e0]
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], r14d
mov dword [rdi + 0x1dd4], r14d
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 0x140040f7e
movsxd rdx, dword [rbx + 0x1d98]
test edx, edx
jle 0x140040ec7
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 0x140040f77
lea ecx, [rdx - 1]
mov dl, 1
call fcn.14003e820
jmp 0x140040f77
cmp dword [rbx + 0x1e14], r14d
je 0x140040f55
mov rdi, qword [0x1400f77e0]
mov rax, qword [rdi + 0x1dc8]
mov rcx, qword [rax + 0x3b8]
test rcx, rcx
je 0x140040ef7
cmp byte [rcx + 0x9f], r14b
jne 0x140040efa
mov rcx, rax
mov qword [rdi + 0x1dc8], rcx
mov eax, dword [rcx + 0x3c0]
mov dword [rdi + 0x1e14], r14d
test eax, eax
je 0x140040f4c
mov dword [rdi + 0x1dd0], eax
mov dword [rdi + 0x1dd4], r14d
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 0x140040f7e
mov dl, 1
call fcn.14003fcf0
jmp 0x140040f7e
test rdi, rdi
je 0x140040f70
mov eax, dword [rdi + 0x1c]
bt eax, 0x1a
jb 0x140040f69
bt eax, 0x18
jb 0x140040f70
mov dword [rdi + 0x3c0], r14d
mov qword [rbx + 0x1dd0], r14
mov rdi, qword [0x1400f77e0]
mov r9d, dword [rbx + 0x1dd0]
mov qword [rbx + 0x1de0], r14
mov qword [rbx + 0x1dd8], r14
test r9d, r9d
je 0x140041070
cmp byte [rbx + 0x1e1e], r14b
jne 0x140041070
cmp qword [rbx + 0x1ef8], r14
jne 0x140041070
mov rax, qword [rbx + 0x1dc8]
test rax, rax
je 0x140041070
test dword [rax + 0x1c], 0x40000
jne 0x140041070
movss xmm0, dword [rdi + 0x344]
comiss xmm0, xmm10
seta r10b
test r10b, r10b
je 0x140040ffa
mov edx, 1
xor ecx, ecx
call fcn.14003ff30
comiss xmm0, xmm10
ja 0x140040ffc
xor dl, dl
mov ecx, dword [rbx + 0x1c58]
test ecx, ecx
jne 0x140041013
test dl, dl
je 0x140041018
mov dword [rbx + 0x1dd8], r9d
jmp 0x140041018
cmp ecx, r9d
jne 0x14004102d
test r10b, r10b
je 0x140041029
mov eax, dword [rbx + 0x1dd0]
mov dword [rbx + 0x1ddc], eax
test ecx, ecx
je 0x140041035
cmp ecx, dword [rbx + 0x1dd0]
jne 0x140041070
test dl, dl
je 0x140041045
mov eax, dword [rbx + 0x1dd0]
mov dword [rbx + 0x1de0], eax
test ecx, ecx
je 0x140041051
cmp ecx, dword [rbx + 0x1dd0]
jne 0x140041070
mov edx, 1
lea ecx, [rdx + 1]
call fcn.14003ff30
comiss xmm0, xmm10
jbe 0x140041070
mov eax, dword [rbx + 0x1dd0]
mov dword [rbx + 0x1de4], eax
mov rcx, qword [rbx + 0x1dc8]
test rcx, rcx
je 0x14004108c
test dword [rcx + 0x1c], 0x40000
je 0x14004108c
mov byte [rbx + 0x1e1e], 1
mov eax, dword [rbx + 0x1df8]
mov byte [rbx + 0x1e38], r14b
test eax, eax
je 0x1400410b5
mov dword [rbx + 0x1de4], eax
mov dword [rbx + 0x1de0], eax
mov dword [rbx + 0x1ddc], eax
mov dword [rbx + 0x1dd8], eax
mov dword [rbx + 0x1df8], r14d
cmp dword [rbx + 0x1e40], r14d
jne 0x1400411f8
mov dword [rbx + 0x1e48], 0xffffffff
mov r9d, 0xffffffff
mov dword [rbx + 0x1e3c], r14d
test rcx, rcx
je 0x1400411ef
cmp qword [rbx + 0x1ef8], r14
jne 0x1400411ef
test dword [rcx + 0x1c], 0x40000
jne 0x1400411ef
test byte [rdi + 0x1c6c], 1
jne 0x140041136
lea edx, [r9 + 4]
lea ecx, [rdx + 1]
call fcn.14003ff30
comiss xmm0, xmm10
ja 0x14004112c
lea ecx, [rdx + 0xe]
call fcn.14003ff30
comiss xmm0, xmm10
jbe 0x140041136
mov dword [rbx + 0x1e48], r14d
mov r9d, r14d
mov eax, dword [rdi + 0x1c6c]
shr eax, 1
test al, 1
jne 0x140041173
mov edx, 3
lea ecx, [rdx + 2]
call fcn.14003ff30
comiss xmm0, xmm10
ja 0x140041163
lea ecx, [rdx + 0xf]
call fcn.14003ff30
comiss xmm0, xmm10
jbe 0x140041173
mov dword [rbx + 0x1e48], 1
mov r9d, 1
mov eax, dword [rdi + 0x1c6c]
shr eax, 2
test al, 1
jne 0x1400411b1
mov edx, 3
lea ecx, [rdx + 3]
call fcn.14003ff30
comiss xmm0, xmm10
ja 0x1400411a1
lea ecx, [rdx + 0x10]
call fcn.14003ff30
comiss xmm0, xmm10
jbe 0x1400411b1
mov dword [rbx + 0x1e48], 2
mov r9d, 2
mov eax, dword [rdi + 0x1c6c]
shr eax, 3
test al, 1
jne 0x1400411ef
mov edx, 3
lea ecx, [rdx + 4]
call fcn.14003ff30
comiss xmm0, xmm10
ja 0x1400411df
lea ecx, [rdx + 0x11]
call fcn.14003ff30
comiss xmm0, xmm10
jbe 0x1400411ef
mov dword [rbx + 0x1e48], 3
mov r9d, 3
mov dword [rbx + 0x1e50], r9d
jmp 0x140041202
mov dword [rbx + 0x1e40], 2
test bpl, bpl
movaps xmm11, xmm10
mov rbp, qword [rsp + 0xe8]
je 0x14004121c
call fcn.140041aa0
movaps xmm11, xmm0
mov ecx, dword [rbx + 0x1e48]
cmp ecx, 0xffffffff
je 0x140041240
mov byte [rbx + 0x1e38], 1
mov eax, dword [rbx + 0x3c0]
mov dword [rbx + 0x1e44], eax
mov dword [rbx + 0x1e4c], ecx
cmp byte [rbx + 0x1e38], r14b
je 0x140041269
cmp dword [rbx + 0x1dd0], r14d
jne 0x140041269
mov word [rbx + 0x1e21], 0x101
mov dword [rbx + 0x1e24], r14d
mov byte [rbx + 0x1e1e], r14b
cmp byte [rdi + 0x1e38], r14b
jne 0x14004127f
cmp byte [rdi + 0x1e21], r14b
jne 0x14004127f
xor al, al
jmp 0x140041281
mov al, 1
movss xmm12, dword [0x1400a59a4]
movss xmm8, dword [0x1400a5a50]
mov byte [rdi + 0x1e20], al
mov rsi, qword [rbx + 0x1dc8]
test rsi, rsi
je 0x140041452
test dword [rsi + 0x1c], 0x40000
jne 0x140041452
cmp qword [rbx + 0x1ef8], r14
jne 0x140041452
mov rax, qword [rsi + 0x398]
movss xmm0, dword [rdi + 0x1984]
mulss xmm0, dword [rsi + 0x2c0]
test rax, rax
je 0x1400412e7
mulss xmm0, dword [rax + 0x2c0]
mulss xmm0, dword [0x1400a5b70]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp dword [rsi + 0x160], r14d
jne 0x1400413ac
cmp byte [rsi + 0x16d], r14b
je 0x1400413ac
cmp byte [rbx + 0x1e38], r14b
je 0x1400413ac
mov eax, dword [rbx + 0x1e48]
test eax, eax
je 0x140041340
cmp eax, 1
jne 0x14004136b
movaps xmm0, xmm8
jmp 0x140041344
movaps xmm0, xmm13
mulss xmm0, xmm6
mov dword [rsi + 0x84], r14d
mov dword [rsi + 0x8c], r14d
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 0x14004137f
cmp eax, 3
jne 0x1400413ac
movaps xmm13, xmm8
mulss xmm13, xmm6
mov dword [rsi + 0x88], r14d
mov dword [rsi + 0x90], r14d
addss xmm13, dword [rsi + 0x70]
cvttss2si eax, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
movss xmm0, dword [0x1400a5b14]
lea rcx, [rsp + 0xe0]
movss xmm3, dword [0x1400a592c]
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
lea edx, [r8 + 4]
call fcn.1400400b0
movss xmm0, dword [rsp + 0xe0]
ucomiss xmm0, xmm10
jp 0x1400413e7
je 0x140041417
cmp byte [rsi + 0x9c], r14b
je 0x140041417
mulss xmm0, xmm6
mov dword [rsi + 0x84], r14d
mov dword [rsi + 0x8c], r14d
addss xmm0, dword [rsi + 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x7c], xmm0
movss xmm0, dword [rsp + 0xe4]
ucomiss xmm0, xmm10
jp 0x140041428
je 0x140041452
mulss xmm0, xmm6
mov dword [rsi + 0x88], r14d
mov dword [rsi + 0x90], r14d
addss xmm0, dword [rsi + 0x70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
mov qword [rbx + 0x1e58], r14
mov qword [rbx + 0x1e60], r14
mov dword [rbx + 0x1e70], 0x7f7fffff
mov dword [rbx + 0x1e6c], 0x7f7fffff
mov dword [rbx + 0x1e68], 0x7f7fffff
mov qword [rbx + 0x1e74], r14
mov qword [rbx + 0x1e7c], r14
mov qword [rbx + 0x1e88], r14
mov qword [rbx + 0x1e90], r14
mov dword [rbx + 0x1ea0], 0x7f7fffff
mov dword [rbx + 0x1e9c], 0x7f7fffff
mov dword [rbx + 0x1e98], 0x7f7fffff
mov qword [rbx + 0x1ea4], r14
mov qword [rbx + 0x1eac], r14
mov qword [rbx + 0x1eb8], r14
mov qword [rbx + 0x1ec0], r14
mov dword [rbx + 0x1ed0], 0x7f7fffff
mov dword [rbx + 0x1ecc], 0x7f7fffff
mov dword [rbx + 0x1ec8], 0x7f7fffff
mov qword [rbx + 0x1ed4], r14
mov qword [rbx + 0x1edc], r14
movaps xmm13, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x70]
mov rsi, qword [rsp + 0xf0]
cmp byte [rbx + 0x1e38], r14b
je 0x1400416a3
cmp dword [rbx + 0x1dfc], 3
jne 0x1400416a3
movsxd rdx, dword [rbx + 0x1e14]
test edx, edx
jne 0x1400416a3
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 0x1400415be
movss xmm0, dword [rax + 0x3cc]
comiss xmm0, xmm4
jb 0x1400415be
comiss xmm6, dword [rax + 0x3d0]
jb 0x1400415be
comiss xmm5, dword [rax + 0x3d4]
jae 0x1400416a3
mov rcx, qword [rax + 0x398]
movss xmm7, dword [rdi + 0x1984]
mulss xmm7, dword [rax + 0x2c0]
test rcx, rcx
je 0x1400415e2
mulss xmm7, dword [rcx + 0x2c0]
movaps xmm2, xmm5
mulss xmm7, xmm12
mov rcx, rdx
subss xmm2, xmm4
movaps xmm1, xmm6
subss xmm1, xmm3
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3cc]
minss xmm2, xmm7
minss xmm1, xmm7
xorps xmm2, xmmword [0x1400a5ef0]
xorps xmm1, xmmword [0x1400a5ef0]
subss xmm4, xmm2
subss xmm3, xmm1
addss xmm6, xmm1
addss xmm5, xmm2
comiss xmm4, xmm0
jbe 0x140041634
movaps xmm1, xmm4
jmp 0x14004163b
movaps xmm1, xmm5
minss xmm1, xmm0
comiss xmm3, xmm9
jbe 0x140041646
movaps xmm0, xmm3
jmp 0x14004164e
movaps xmm0, xmm6
minss xmm0, xmm9
movss dword [rax + rcx*8 + 0x3c8], xmm0
movss dword [rax + rcx*8 + 0x3cc], xmm1
movss xmm0, dword [rax + rcx*8 + 0x3d4]
comiss xmm4, xmm0
ja 0x140041675
movaps xmm4, xmm5
minss xmm4, xmm0
movss xmm0, dword [rax + rcx*8 + 0x3d0]
comiss xmm3, xmm0
ja 0x14004168a
movaps xmm3, xmm6
minss xmm3, xmm0
movss dword [rax + rcx*8 + 0x3d0], xmm3
movss dword [rax + rcx*8 + 0x3d4], xmm4
mov qword [rbx + 0x1dd0], r14
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 rdi, qword [rsp + 0xc0]
test rax, rax
je 0x14004171d
movsxd rcx, dword [rbx + 0x1e14]
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3c8]
comiss xmm0, dword [rax + rcx*8 + 0x3d0]
ja 0x14004171d
movss xmm0, dword [rax + rcx*8 + 0x3cc]
comiss xmm0, dword [rax + rcx*8 + 0x3d4]
ja 0x14004171d
movups xmm0, xmmword [rax + rcx*8 + 0x3c8]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
jmp 0x140041732
lea rcx, [rsp + 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
test rax, rax
je 0x140041775
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 0x14004177a
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], r14d
movaps xmm8, xmmword [rsp + 0x90]
minss xmm0, dword [rbx + 0x1e08]
movss dword [rbx + 0x1e00], xmm0
movss dword [rbx + 0x1e08], xmm0
add rsp, 0xc8
pop r14
pop rbx
ret