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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rdi
sub rsp, 0xa0
mov rbx, qword [0x180076be8]
xor ebp, ebp
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov qword [rax + 0x10], rsi
movaps xmmword [rax - 0x18], xmm6
xorps xmm6, xmm6
mov byte [rbx + 0x3e3], 0
mov qword [rbx + 0x1e08], rbp
mov dword [rbx + 0x1e10], ebp
movzx esi, byte [rbx + 0x50]
and sil, 1
movaps xmmword [rax - 0x58], xmm10
test byte [rbx + 0x50], 2
movaps xmmword [rax - 0x68], xmm11
je 0x18001e5ad
test byte [rbx + 0x54], 1
je 0x18001e5ad
cmp dword [rbx + 0x1d1c], 4
lea rcx, [rbx + 0x1d1c]
mov dil, 1
je 0x18001e5b7
movss xmm0, dword [rbx + 0x38c]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x394]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x390]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x398]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x39c]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x3a0]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x3a4]
comiss xmm0, xmm6
ja 0x18001e5a1
movss xmm0, dword [rbx + 0x3a8]
lea rcx, [rbx + 0x1d1c]
comiss xmm0, xmm6
jbe 0x18001e5b7
mov dword [rbx + 0x1d1c], 4
jmp 0x18001e5b0
xor dil, dil
lea rcx, [rbx + 0x1d1c]
test sil, sil
je 0x18001e702
movsxd rax, dword [rbx + 0xb4]
test eax, eax
js 0x18001e5e5
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e5e5
mov dword [rbx + 0x38c], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0xb8]
test eax, eax
js 0x18001e60a
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e60a
mov dword [rbx + 0x394], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0xbc]
test eax, eax
js 0x18001e62f
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e62f
mov dword [rbx + 0x390], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x88]
test eax, eax
js 0x18001e654
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e654
mov dword [rbx + 0x3d0], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x8c]
test eax, eax
js 0x18001e679
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e679
mov dword [rbx + 0x3d4], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x90]
test eax, eax
js 0x18001e69e
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e69e
mov dword [rbx + 0x3d8], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x94]
test eax, eax
js 0x18001e6c3
cmp byte [rax + rbx + 0x18c], bpl
je 0x18001e6c3
mov dword [rbx + 0x3dc], 0x3f800000
mov dword [rcx], 3
movzx eax, byte [rbx + 0x188]
test al, al
je 0x18001e6d8
mov dword [rbx + 0x3c4], 0x3f800000
cmp byte [rbx + 0x189], bpl
je 0x18001e6eb
mov dword [rbx + 0x3c8], 0x3f800000
cmp byte [rbx + 0x18a], bpl
je 0x18001e702
test al, al
jne 0x18001e702
mov dword [rbx + 0x3cc], 0x3f800000
movups xmm0, xmmword [rbx + 0x14e8]
mov eax, dword [rbx + 0x1538]
mov r9d, ebp
movups xmm1, xmmword [rbx + 0x14f8]
lea r8, [rbx + 0x60]
mov rcx, rbp
movss xmm10, dword [0x180070300]
movups xmmword [rbx + 0x153c], xmm0
movups xmm0, xmmword [rbx + 0x1508]
movups xmmword [rbx + 0x154c], xmm1
movups xmm1, xmmword [rbx + 0x1518]
movups xmmword [rbx + 0x155c], xmm0
movups xmm0, xmmword [rbx + 0x1528]
movups xmmword [rbx + 0x156c], xmm1
movups xmmword [rbx + 0x157c], xmm0
mov dword [rbx + 0x158c], eax
nop word [rax + rax]
movss xmm0, dword [rbx + rcx*4 + 0x38c]
comiss xmm0, xmm6
jbe 0x18001e79c
movss xmm0, dword [rbx + rcx*4 + 0x14e8]
lea r8, [rbx + 0x60]
comiss xmm6, xmm0
jbe 0x18001e795
movaps xmm0, xmm6
jmp 0x18001e7a0
addss xmm0, dword [r8]
jmp 0x18001e7a0
movaps xmm0, xmm10
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, xmm6
jbe 0x18001e7d9
movss xmm0, dword [rbx + rcx*4 + 0x14ec]
comiss xmm6, xmm0
jbe 0x18001e7d2
movaps xmm0, xmm6
jmp 0x18001e7dd
addss xmm0, dword [r8]
jmp 0x18001e7dd
movaps xmm0, xmm10
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, xmm6
jbe 0x18001e816
movss xmm0, dword [rbx + rcx*4 + 0x14f0]
comiss xmm6, xmm0
jbe 0x18001e80f
movaps xmm0, xmm6
jmp 0x18001e81a
addss xmm0, dword [r8]
jmp 0x18001e81a
movaps xmm0, xmm10
mov edx, 0x53a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x398]
comiss xmm0, xmm6
jbe 0x18001e853
movss xmm0, dword [rbx + rcx*4 + 0x14f4]
comiss xmm6, xmm0
jbe 0x18001e84c
movaps xmm0, xmm6
jmp 0x18001e857
addss xmm0, dword [r8]
jmp 0x18001e857
movaps xmm0, xmm10
mov edx, 0x53b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x39c]
comiss xmm0, xmm6
jbe 0x18001e890
movss xmm0, dword [rbx + rcx*4 + 0x14f8]
comiss xmm6, xmm0
jbe 0x18001e889
movaps xmm0, xmm6
jmp 0x18001e894
addss xmm0, dword [r8]
jmp 0x18001e894
movaps xmm0, xmm10
mov edx, 0x53c
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a0]
comiss xmm0, xmm6
jbe 0x18001e8cd
movss xmm0, dword [rbx + rcx*4 + 0x14fc]
comiss xmm6, xmm0
jbe 0x18001e8c6
movaps xmm0, xmm6
jmp 0x18001e8d1
addss xmm0, dword [r8]
jmp 0x18001e8d1
movaps xmm0, xmm10
mov edx, 0x53d
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a4]
comiss xmm0, xmm6
jbe 0x18001e90a
movss xmm0, dword [rbx + rcx*4 + 0x1500]
comiss xmm6, xmm0
jbe 0x18001e903
movaps xmm0, xmm6
jmp 0x18001e90e
addss xmm0, dword [r8]
jmp 0x18001e90e
movaps xmm0, xmm10
mov edx, 0x53e
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a8]
comiss xmm0, xmm6
jbe 0x18001e947
movss xmm0, dword [rbx + rcx*4 + 0x1504]
comiss xmm6, xmm0
jbe 0x18001e940
movaps xmm0, xmm6
jmp 0x18001e94b
addss xmm0, dword [r8]
jmp 0x18001e94b
movaps xmm0, xmm10
mov edx, 0x53f
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3ac]
comiss xmm0, xmm6
jbe 0x18001e984
movss xmm0, dword [rbx + rcx*4 + 0x1508]
comiss xmm6, xmm0
jbe 0x18001e97d
movaps xmm0, xmm6
jmp 0x18001e988
addss xmm0, dword [r8]
jmp 0x18001e988
movaps xmm0, xmm10
mov edx, 0x540
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b0]
comiss xmm0, xmm6
jbe 0x18001e9c1
movss xmm0, dword [rbx + rcx*4 + 0x150c]
comiss xmm6, xmm0
jbe 0x18001e9ba
movaps xmm0, xmm6
jmp 0x18001e9c5
addss xmm0, dword [r8]
jmp 0x18001e9c5
movaps xmm0, xmm10
mov edx, 0x541
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b4]
comiss xmm0, xmm6
jbe 0x18001e9fe
movss xmm0, dword [rbx + rcx*4 + 0x1510]
comiss xmm6, xmm0
jbe 0x18001e9f7
movaps xmm0, xmm6
jmp 0x18001ea02
addss xmm0, dword [r8]
jmp 0x18001ea02
movaps xmm0, xmm10
mov edx, 0x542
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b8]
comiss xmm0, xmm6
jbe 0x18001ea3b
movss xmm0, dword [rbx + rcx*4 + 0x1514]
comiss xmm6, xmm0
jbe 0x18001ea34
movaps xmm0, xmm6
jmp 0x18001ea3f
addss xmm0, dword [r8]
jmp 0x18001ea3f
movaps xmm0, xmm10
mov edx, 0x543
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3bc]
comiss xmm0, xmm6
jbe 0x18001ea78
movss xmm0, dword [rbx + rcx*4 + 0x1518]
comiss xmm6, xmm0
jbe 0x18001ea71
movaps xmm0, xmm6
jmp 0x18001ea7c
addss xmm0, dword [r8]
jmp 0x18001ea7c
movaps xmm0, xmm10
mov edx, 0x544
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c0]
comiss xmm0, xmm6
jbe 0x18001eab5
movss xmm0, dword [rbx + rcx*4 + 0x151c]
comiss xmm6, xmm0
jbe 0x18001eaae
movaps xmm0, xmm6
jmp 0x18001eab9
addss xmm0, dword [r8]
jmp 0x18001eab9
movaps xmm0, xmm10
mov edx, 0x545
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c4]
comiss xmm0, xmm6
jbe 0x18001eaf2
movss xmm0, dword [rbx + rcx*4 + 0x1520]
comiss xmm6, xmm0
jbe 0x18001eaeb
movaps xmm0, xmm6
jmp 0x18001eaf6
addss xmm0, dword [r8]
jmp 0x18001eaf6
movaps xmm0, xmm10
mov edx, 0x546
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c8]
comiss xmm0, xmm6
jbe 0x18001eb2f
movss xmm0, dword [rbx + rcx*4 + 0x1524]
comiss xmm6, xmm0
jbe 0x18001eb28
movaps xmm0, xmm6
jmp 0x18001eb33
addss xmm0, dword [r8]
jmp 0x18001eb33
movaps xmm0, xmm10
mov edx, 0x547
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3cc]
comiss xmm0, xmm6
jbe 0x18001eb6c
movss xmm0, dword [rbx + rcx*4 + 0x1528]
comiss xmm6, xmm0
jbe 0x18001eb65
movaps xmm0, xmm6
jmp 0x18001eb70
addss xmm0, dword [r8]
jmp 0x18001eb70
movaps xmm0, xmm10
mov edx, 0x548
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d0]
comiss xmm0, xmm6
jbe 0x18001eba9
movss xmm0, dword [rbx + rcx*4 + 0x152c]
comiss xmm6, xmm0
jbe 0x18001eba2
movaps xmm0, xmm6
jmp 0x18001ebad
addss xmm0, dword [r8]
jmp 0x18001ebad
movaps xmm0, xmm10
mov edx, 0x549
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d4]
comiss xmm0, xmm6
jbe 0x18001ebe6
movss xmm0, dword [rbx + rcx*4 + 0x1530]
comiss xmm6, xmm0
jbe 0x18001ebdf
movaps xmm0, xmm6
jmp 0x18001ebea
addss xmm0, dword [r8]
jmp 0x18001ebea
movaps xmm0, xmm10
mov edx, 0x54a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d8]
comiss xmm0, xmm6
jbe 0x18001ec23
movss xmm0, dword [rbx + rcx*4 + 0x1534]
comiss xmm6, xmm0
jbe 0x18001ec1c
movaps xmm0, xmm6
jmp 0x18001ec27
addss xmm0, dword [r8]
jmp 0x18001ec27
movaps xmm0, xmm10
mov edx, 0x54b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3dc]
comiss xmm0, xmm6
jbe 0x18001ec60
movss xmm0, dword [rbx + rcx*4 + 0x1538]
comiss xmm6, xmm0
jbe 0x18001ec59
movaps xmm0, xmm6
jmp 0x18001ec64
addss xmm0, dword [r8]
jmp 0x18001ec68
movaps xmm0, xmm10
lea r8, [rbx + 0x60]
mov rax, rcx
mov edx, 0x54c
add rax, rdx
add r9d, 0x15
add rcx, 0x15
movss dword [rbx + rax*4 + 8], xmm0
cmp r9d, 0x15
jl 0x18001e770
mov edx, dword [rbx + 0x1d44]
test edx, edx
je 0x18001ed28
cmp byte [rbx + 0x1d3e], bpl
je 0x18001ecab
cmp byte [rbx + 0x1d42], bpl
je 0x18001ed28
mov r9, qword [rbx + 0x1ce8]
test r9, r9
je 0x18001ed28
movsxd rax, dword [rbx + 0x1d34]
mov dword [rbx + 0x1cf4], ebp
mov r8, rax
cmp byte [rbx + 0x1d42], bpl
mov dword [rbx + 0x1cf0], edx
mov dword [r9 + rax*4 + 0x3b0], edx
je 0x18001ed08
mov rax, qword [rbx + 0x1ce8]
add r8, r8
movups xmm0, xmmword [rbx + 0x1d48]
movups xmmword [rax + r8*8 + 0x3b8], xmm0
mov word [rbx + 0x1d3d], 1
mov byte [rbx + 0x1d3f], 1
movsxd rcx, dword [rbx + 0x1d34]
mov rax, qword [rbx + 0x1ce8]
add rcx, rcx
movups xmm0, xmmword [rbx + 0x1d48]
movups xmmword [rax + rcx*8 + 0x3b8], xmm0
mov word [rbx + 0x1d41], bp
mov dword [rbx + 0x1d44], ebp
mov dword [rbx + 0x1d0c], ebp
cmp byte [rbx + 0x1d58], bpl
je 0x18001ed49
call fcn.18001f930
cmp dword [rbx + 0x1d60], 2
jne 0x18001ed6f
cmp dword [rbx + 0x1d80], ebp
jne 0x18001ed69
cmp dword [rbx + 0x1de0], ebp
jne 0x18001ed69
mov byte [rbx + 0x1d3e], bpl
mov dword [rbx + 0x1d60], ebp
cmp byte [rbx + 0x1d3d], bpl
je 0x18001edec
cmp byte [rbx + 0x1d3c], bpl
je 0x18001edec
test byte [rbx + 0x50], 4
je 0x18001ede5
test byte [rbx + 0x54], 4
je 0x18001ede5
cmp byte [rbx + 0x1d3e], bpl
jne 0x18001ede5
cmp byte [rbx + 0x1d3f], bpl
je 0x18001ede5
cmp qword [rbx + 0x1ce8], rbp
je 0x18001ede5
lea rcx, [rsp + 0xb0]
call fcn.18001dff0
movss xmm4, dword [rax]
movss xmm5, dword [rax + 4]
movss dword [rbx + 0x40c], xmm4
movss dword [rbx + 0x410], xmm5
movss dword [rbx + 0x170], xmm4
movss dword [rbx + 0x174], xmm5
mov byte [rbx + 0x3e3], 1
mov byte [rbx + 0x1d3d], bpl
mov rdx, qword [rbx + 0x1ce8]
mov byte [rbx + 0x1d3c], bpl
mov dword [rbx + 0x1d08], ebp
test rdx, rdx
je 0x18001ee39
mov rcx, rdx
nop dword [rax + rax]
mov eax, dword [rcx + 0xc]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x18001ee2d
mov rcx, qword [rcx + 0x388]
test rcx, rcx
jne 0x18001ee10
jmp 0x18001ee39
cmp rcx, rdx
je 0x18001ee39
mov qword [rcx + 0x3a8], rdx
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x18001ee5d
cmp qword [rax + 0x3a8], rbp
je 0x18001ee5d
cmp dword [rbx + 0x1d34], ebp
jne 0x18001ee5d
mov qword [rax + 0x3a8], rbp
call fcn.180020510
test sil, sil
jne 0x18001ee70
test dil, dil
je 0x18001ef3d
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x18001ef3d
test dword [rax + 0xc], 0x40000
jne 0x18001ef3d
mov byte [rbx + 0x3e5], 1
cmp dword [rbx + 0x1cf0], ebp
je 0x18001ef44
cmp byte [rbx + 0x1d3e], bpl
jne 0x18001ef44
mov al, 1
mov edx, 1
mov byte [rbx + 0x3e6], al
mov ecx, edx
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f10d
cmp dword [rbx + 0x1b88], ebp
je 0x18001ef58
mov rdi, qword [0x180076be8]
mov eax, dword [rdi + 0x1ba0]
shr eax, 1
test dl, al
jne 0x18001f114
mov ecx, dword [rdi + 0x1b88]
test ecx, ecx
setne al
mov byte [rdi + 0x1b94], al
test ecx, ecx
je 0x18001ef0f
mov dword [rdi + 0x1b90], ebp
mov word [rdi + 0x1b97], bp
mov dword [rdi + 0x1b88], ebp
mov word [rdi + 0x1b95], bp
mov qword [rdi + 0x1bb8], rbp
mov word [rdi + 0x1b99], bp
mov qword [rdi + 0x1b9c], rbp
mov qword [rdi + 0x1ba8], rbp
jmp 0x18001f114
mov byte [rbx + 0x3e5], bpl
cmp qword [rbx + 0x1e18], rbp
jne 0x18001eead
xor al, al
jmp 0x18001eeaf
mov rdi, qword [rbx + 0x1ce8]
test rdi, rdi
je 0x18001efc7
mov eax, dword [rdi + 0xc]
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x18001efc7
mov rcx, qword [rdi + 0x388]
test rcx, rcx
je 0x18001efc7
call fcn.18001b830
mov ecx, dword [rdi + 0x58]
mov rdi, qword [0x180076be8]
mov rax, qword [rdi + 0x1ce8]
mov dword [rdi + 0x1cf0], ecx
mov dword [rdi + 0x1cf4], ebp
mov dword [rax + 0x3b0], ecx
mov byte [rbx + 0x1d3c], bpl
cmp byte [rbx + 0x1d3f], bpl
je 0x18001f114
mov byte [rbx + 0x1d3d], 1
jmp 0x18001f114
movsxd rdx, dword [rbx + 0x1cc8]
test edx, edx
jle 0x18001f001
mov rax, qword [rbx + 0x1cd0]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
test dword [rcx + 0xc], 0x8000000
jne 0x18001f10d
lea ecx, [rdx - 1]
mov dl, 1
call fcn.18001d010
jmp 0x18001f10d
cmp dword [rbx + 0x1d34], ebp
je 0x18001f0ec
mov rdi, qword [0x180076be8]
mov rax, qword [rdi + 0x1ce8]
mov dword [rdi + 0x1d34], ebp
mov rcx, qword [rax + 0x3a8]
test rcx, rcx
je 0x18001f036
cmp byte [rcx + 0x8f], bpl
jne 0x18001f039
mov rcx, rax
mov qword [rdi + 0x1ce8], rcx
mov edx, dword [rcx + 0x3b0]
test edx, edx
je 0x18001f086
mov dword [rdi + 0x1cf0], edx
mov dword [rdi + 0x1cf4], ebp
mov dword [rcx + 0x3b0], edx
movups xmm0, xmmword [rcx + 0x3b8]
mov rax, qword [rdi + 0x1ce8]
movups xmmword [rax + 0x3b8], xmm0
mov word [rdi + 0x1d3d], 1
mov byte [rdi + 0x1d3f], 1
jmp 0x18001f114
mov eax, dword [rcx + 0xc]
mov dword [rdi + 0x1cf4], ebp
bt eax, 0x12
jb 0x18001f0e4
mov dword [rdi + 0x1cf0], ebp
mov dword [rcx + 0x3b0], ebp
mov word [rdi + 0x1d41], 1
mov qword [rdi + 0x1d44], rbp
mov qword [rdi + 0x1d4c], rbp
mov dword [rdi + 0x1d54], ebp
cmp byte [rdi + 0x1d58], bpl
jne 0x18001f0da
cmp byte [rdi + 0x1d41], bpl
jne 0x18001f0da
xor al, al
mov byte [rdi + 0x1d40], al
jmp 0x18001f114
mov al, 1
mov byte [rdi + 0x1d40], al
jmp 0x18001f114
mov dword [rdi + 0x1cf0], edx
jmp 0x18001f114
test rdi, rdi
je 0x18001f106
mov eax, dword [rdi + 0xc]
bt eax, 0x1a
jb 0x18001f100
bt eax, 0x18
jb 0x18001f106
mov dword [rdi + 0x3b0], ebp
mov qword [rbx + 0x1cf0], rbp
mov rdi, qword [0x180076be8]
mov r9d, dword [rbx + 0x1cf0]
mov qword [rbx + 0x1d00], rbp
mov qword [rbx + 0x1cf8], rbp
test r9d, r9d
je 0x18001f203
cmp byte [rbx + 0x1d3e], bpl
jne 0x18001f203
cmp qword [rbx + 0x1e18], rbp
jne 0x18001f203
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x18001f203
test dword [rax + 0xc], 0x40000
jne 0x18001f203
movss xmm0, dword [rdi + 0x38c]
comiss xmm0, xmm6
seta r10b
test r10b, r10b
je 0x18001f18e
mov edx, 1
xor ecx, ecx
call fcn.18001e120
comiss xmm0, xmm6
ja 0x18001f190
xor dl, dl
mov ecx, dword [rbx + 0x1b88]
test ecx, ecx
jne 0x18001f1a7
test dl, dl
je 0x18001f1ac
mov dword [rbx + 0x1cf8], r9d
jmp 0x18001f1ac
cmp ecx, r9d
jne 0x18001f1c1
test r10b, r10b
je 0x18001f1bd
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1cfc], eax
test ecx, ecx
je 0x18001f1c9
cmp ecx, dword [rbx + 0x1cf0]
jne 0x18001f203
test dl, dl
je 0x18001f1d9
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1d00], eax
test ecx, ecx
je 0x18001f1e5
cmp ecx, dword [rbx + 0x1cf0]
jne 0x18001f203
mov edx, 1
lea ecx, [rdx + 1]
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f203
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1d04], eax
mov rcx, qword [rbx + 0x1ce8]
test rcx, rcx
je 0x18001f21f
test dword [rcx + 0xc], 0x40000
je 0x18001f21f
mov byte [rbx + 0x1d3e], 1
mov eax, dword [rbx + 0x1d18]
mov byte [rbx + 0x1d58], bpl
test eax, eax
je 0x18001f248
mov dword [rbx + 0x1d04], eax
mov dword [rbx + 0x1d00], eax
mov dword [rbx + 0x1cfc], eax
mov dword [rbx + 0x1cf8], eax
mov dword [rbx + 0x1d18], ebp
cmp dword [rbx + 0x1d60], ebp
jne 0x18001f37f
mov dword [rbx + 0x1d68], 0xffffffff
mov r9d, 0xffffffff
mov dword [rbx + 0x1d5c], ebp
test rcx, rcx
je 0x18001f376
cmp qword [rbx + 0x1e18], rbp
jne 0x18001f376
test dword [rcx + 0xc], 0x40000
jne 0x18001f376
test byte [rdi + 0x1b9c], 1
jne 0x18001f2c3
lea edx, [r9 + 4]
lea ecx, [rdx + 1]
call fcn.18001e120
comiss xmm0, xmm6
ja 0x18001f2ba
lea ecx, [rdx + 0xe]
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f2c3
mov dword [rbx + 0x1d68], ebp
mov r9d, ebp
mov eax, dword [rdi + 0x1b9c]
shr eax, 1
test al, 1
jne 0x18001f2fe
mov edx, 3
lea ecx, [rdx + 2]
call fcn.18001e120
comiss xmm0, xmm6
ja 0x18001f2ee
lea ecx, [rdx + 0xf]
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f2fe
mov dword [rbx + 0x1d68], 1
mov r9d, 1
mov eax, dword [rdi + 0x1b9c]
shr eax, 2
test al, 1
jne 0x18001f33a
mov edx, 3
lea ecx, [rdx + 3]
call fcn.18001e120
comiss xmm0, xmm6
ja 0x18001f32a
lea ecx, [rdx + 0x10]
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f33a
mov dword [rbx + 0x1d68], 2
mov r9d, 2
mov eax, dword [rdi + 0x1b9c]
shr eax, 3
test al, 1
jne 0x18001f376
mov edx, 3
lea ecx, [rdx + 4]
call fcn.18001e120
comiss xmm0, xmm6
ja 0x18001f366
lea ecx, [rdx + 0x11]
call fcn.18001e120
comiss xmm0, xmm6
jbe 0x18001f376
mov dword [rbx + 0x1d68], 3
mov r9d, 3
mov dword [rbx + 0x1d70], r9d
jmp 0x18001f389
mov dword [rbx + 0x1d60], 2
movaps xmm9, xmm6
test sil, sil
je 0x18001f39b
call fcn.18001fbc0
movaps xmm9, xmm0
mov ecx, dword [rbx + 0x1d68]
cmp ecx, 0xffffffff
je 0x18001f3bf
mov byte [rbx + 0x1d58], 1
mov eax, dword [rbx + 0x408]
mov dword [rbx + 0x1d64], eax
mov dword [rbx + 0x1d6c], ecx
cmp byte [rbx + 0x1d58], bpl
je 0x18001f3e6
cmp dword [rbx + 0x1cf0], ebp
jne 0x18001f3e6
mov word [rbx + 0x1d41], 0x101
mov dword [rbx + 0x1d44], ebp
mov byte [rbx + 0x1d3e], bpl
cmp byte [rdi + 0x1d58], bpl
jne 0x18001f3fc
cmp byte [rdi + 0x1d41], bpl
jne 0x18001f3fc
xor al, al
jmp 0x18001f3fe
mov al, 1
movss xmm11, dword [0x1800701bc]
movss xmm8, dword [0x1800701f4]
mov byte [rdi + 0x1d40], al
mov rsi, qword [rbx + 0x1ce8]
movaps xmmword [rsp + 0x80], xmm7
test rsi, rsi
je 0x18001f5ac
test dword [rsi + 0xc], 0x40000
jne 0x18001f5ac
cmp qword [rbx + 0x1e18], rbp
jne 0x18001f5ac
mov rax, qword [rsi + 0x388]
movss xmm0, dword [rdi + 0x19dc]
mulss xmm0, dword [rsi + 0x2b0]
test rax, rax
je 0x18001f46c
mulss xmm0, dword [rax + 0x2b0]
mulss xmm0, dword [0x18007029c]
mulss xmm0, dword [rbx + 0x60]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cmp dword [rsi + 0x150], ebp
jne 0x18001f518
cmp byte [rsi + 0x15d], bpl
je 0x18001f518
cmp byte [rbx + 0x1d58], bpl
je 0x18001f518
mov eax, dword [rbx + 0x1d68]
test eax, eax
je 0x18001f4bc
cmp eax, 1
jne 0x18001f4df
movaps xmm0, xmm8
jmp 0x18001f4c0
movaps xmm0, xmm10
mulss xmm0, xmm7
mov dword [rsi + 0x74], ebp
mov dword [rsi + 0x7c], ebp
addss xmm0, dword [rsi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x6c], xmm0
mov eax, dword [rbx + 0x1d68]
cmp eax, 2
je 0x18001f4f3
cmp eax, 3
jne 0x18001f518
movaps xmm10, xmm8
mulss xmm10, xmm7
mov dword [rsi + 0x78], ebp
mov dword [rsi + 0x80], ebp
addss xmm10, dword [rsi + 0x60]
cvttss2si eax, xmm10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x70], xmm0
movss xmm0, dword [0x180070244]
lea rcx, [rsp + 0xb0]
movss xmm3, dword [0x180070194]
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
lea edx, [r8 + 4]
call fcn.18001e2a0
movss xmm0, dword [rsp + 0xb0]
ucomiss xmm0, xmm6
jp 0x18001f552
je 0x18001f57a
cmp byte [rsi + 0x8c], bpl
je 0x18001f57a
mulss xmm0, xmm7
mov dword [rsi + 0x74], ebp
mov dword [rsi + 0x7c], ebp
addss xmm0, dword [rsi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x6c], xmm0
movss xmm0, dword [rsp + 0xb4]
ucomiss xmm0, xmm6
jp 0x18001f58a
je 0x18001f5ac
mulss xmm0, xmm7
mov dword [rsi + 0x78], ebp
mov dword [rsi + 0x80], ebp
addss xmm0, dword [rsi + 0x60]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x70], xmm0
mov qword [rbx + 0x1d78], rbp
mov qword [rbx + 0x1d80], rbp
mov dword [rbx + 0x1d90], 0x7f7fffff
mov dword [rbx + 0x1d8c], 0x7f7fffff
mov dword [rbx + 0x1d88], 0x7f7fffff
mov qword [rbx + 0x1d94], rbp
mov qword [rbx + 0x1d9c], rbp
mov qword [rbx + 0x1da8], rbp
mov qword [rbx + 0x1db0], rbp
mov dword [rbx + 0x1dc0], 0x7f7fffff
mov dword [rbx + 0x1dbc], 0x7f7fffff
mov dword [rbx + 0x1db8], 0x7f7fffff
mov qword [rbx + 0x1dc4], rbp
mov qword [rbx + 0x1dcc], rbp
mov qword [rbx + 0x1dd8], rbp
mov qword [rbx + 0x1de0], rbp
mov dword [rbx + 0x1df0], 0x7f7fffff
mov dword [rbx + 0x1dec], 0x7f7fffff
mov dword [rbx + 0x1de8], 0x7f7fffff
mov qword [rbx + 0x1df4], rbp
mov qword [rbx + 0x1dfc], rbp
mov rsi, qword [rsp + 0xb8]
cmp byte [rbx + 0x1d58], bpl
je 0x18001f7fd
cmp dword [rbx + 0x1d1c], 4
jne 0x18001f7fd
movsxd rdx, dword [rbx + 0x1d34]
test edx, edx
jne 0x18001f7fd
mov rax, qword [rbx + 0x1ce8]
movss xmm2, dword [rax + 0x218]
subss xmm2, dword [rax + 0x10]
movss xmm3, dword [rax + 0x21c]
movss xmm4, dword [rax + 0x220]
movss xmm5, dword [rax + 0x224]
subss xmm3, dword [rax + 0x14]
subss xmm4, dword [rax + 0x10]
subss xmm5, dword [rax + 0x14]
movss xmm10, dword [rax + 0x3b8]
subss xmm2, xmm8
subss xmm3, xmm8
addss xmm4, xmm8
addss xmm5, xmm8
comiss xmm10, xmm2
jb 0x18001f70c
movss xmm0, dword [rax + 0x3bc]
comiss xmm0, xmm3
jb 0x18001f70c
comiss xmm4, dword [rax + 0x3c0]
jb 0x18001f70c
comiss xmm5, dword [rax + 0x3c4]
jae 0x18001f7fd
mov rcx, qword [rax + 0x388]
movss xmm1, dword [rdi + 0x19dc]
mulss xmm1, dword [rax + 0x2b0]
test rcx, rcx
je 0x18001f730
mulss xmm1, dword [rcx + 0x2b0]
mulss xmm1, xmm11
movaps xmm6, xmm5
mov rcx, rdx
subss xmm6, xmm3
movaps xmm7, xmm4
subss xmm7, xmm2
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3bc]
minss xmm6, xmm1
minss xmm7, xmm1
xorps xmm6, xmmword [0x1800704d0]
xorps xmm7, xmmword [0x1800704d0]
subss xmm3, xmm6
subss xmm2, xmm7
addss xmm7, xmm4
addss xmm6, xmm5
comiss xmm3, xmm0
movaps xmm1, xmm3
jbe 0x18001f785
movaps xmm5, xmm3
jmp 0x18001f78c
movaps xmm5, xmm6
minss xmm5, xmm0
comiss xmm2, xmm10
movaps xmm0, xmm2
jbe 0x18001f79a
movaps xmm4, xmm2
jmp 0x18001f7a5
movaps xmm4, xmm7
movaps xmm1, xmm3
minss xmm4, xmm10
movss dword [rax + rcx*8 + 0x3b8], xmm4
movss dword [rax + rcx*8 + 0x3bc], xmm5
movss xmm3, dword [rax + rcx*8 + 0x3c4]
comiss xmm1, xmm3
ja 0x18001f7cf
movaps xmm1, xmm6
movaps xmm0, xmm2
minss xmm1, xmm3
movss xmm2, dword [rax + rcx*8 + 0x3c0]
comiss xmm0, xmm2
ja 0x18001f7e4
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [rax + rcx*8 + 0x3c0], xmm0
movss dword [rax + rcx*8 + 0x3c4], xmm1
mov qword [rbx + 0x1cf0], rbp
mov rcx, qword [rbx + 0x1ce8]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
test rcx, rcx
je 0x18001f887
movsxd rax, dword [rbx + 0x1d34]
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x3b8]
lea rax, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rax]
movaps xmm4, xmm5
movaps xmm3, xmm5
shufps xmm4, xmm5, 0xaa
movaps xmm0, xmm5
addss xmm4, dword [rcx + 0x10]
addss xmm0, dword [rcx + 0x10]
shufps xmm3, xmm5, 0xff
addss xmm3, dword [rcx + 0x14]
shufps xmm5, xmm5, 0x55
addss xmm5, dword [rcx + 0x14]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x34], xmm5
jmp 0x18001f8a2
movss xmm0, dword [rdi + 0x58]
movss xmm1, dword [rdi + 0x5c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
mov qword [rsp + 0x30], rbp
lea r11, [rsp + 0xa0]
movaps xmm1, xmm9
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x1d20], xmm0
addss xmm9, dword [rbx + 0x1d2c]
addss xmm1, dword [rbx + 0x1d24]
movss dword [rbx + 0x1d2c], xmm9
movaps xmm9, xmmword [r11 - 0x40]
movss dword [rbx + 0x1d24], xmm1
movss xmm0, dword [rbx + 0x1d20]
addss xmm0, xmm8
mov dword [rbx + 0x1d30], ebp
mov rbp, qword [r11 + 0x28]
movaps xmm8, xmmword [r11 - 0x30]
minss xmm0, dword [rbx + 0x1d28]
movss dword [rbx + 0x1d20], xmm0
movss dword [rbx + 0x1d28], xmm0
mov rbx, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret