Function at 0x180028840
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x210
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18025a080]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r12d, r8d
mov dword [rsp + 0x48], r8d
mov qword [rbp - 0x48], rdx
mov rbx, rcx
mov qword [rbp - 0x60], rcx
mov rsi, qword [0x180291348]
mov r10d, 0xffffffff
mov ecx, r10d
movzx r9d, byte [rbx]
lea r8, [rbx + 1]
test r9b, r9b
je 0x180028925
lea r11, [0x1800f10c0]
nop dword [rax]
cmp r9b, 0x23
jne 0x180028903
cmp byte [r8], r9b
jne 0x180028903
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
xor rdx, rax
shr ecx, 8
xor ecx, dword [r11 + rdx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1800288f0
not ecx
call fcn.1800300a0
mov qword ds:[rsp + 0x70], rax
mov rdi, rax
test rax, rax
sete dl
mov byte [rsp + 0x41], dl
test rax, rax
jne 0x180028958
mov edx, r12d
mov rcx, rbx
call fcn.18002d8c0
mov rdi, rax
movzx edx, byte [rsp + 0x41]
mov ecx, r12d
and ecx, 0xc0200
cmp ecx, 0xc0200
jne 0x180028972
or r12d, 6
mov dword [rsp + 0x48], r12d
mov ebx, dword [rsi + 0x3e48]
mov dword [rsp + 0x68], ebx
mov r9d, dword [rdi + 0x260]
mov dword [rsp + 0x58], r9d
cmp dword [rsi + 0x3e98], 0
jne 0x18002899e
cmp byte [rsi + 0x3e55], 0
je 0x18002899e
mov al, 1
jmp 0x1800289a0
xor al, al
mov byte [rdi + 0xbe], al
lea eax, [rbx - 1]
cmp r9d, eax
setl r8b
mov byte [rsp + 0x40], r8b
bt r12d, 0x1a
jae 0x1800289ea
movsxd rax, dword [rsi + 0x4880]
imul rax, rax, 0x38
add rax, qword [rsi + 0x4878]
cmp rdi, qword [rax + 8]
setne cl
mov eax, dword [rax]
cmp dword [rdi + 0xcc], eax
setne al
or cl, al
or r8b, cl
mov byte [rsp + 0x40], r8b
mov byte [rdi + 0xbc], r8b
test r8b, r8b
je 0x180028a0b
or byte [rdi + 0xdc], 8
or byte [rdi + 0xdd], 8
or byte [rdi + 0xde], 8
xor r15d, r15d
cmp r9d, ebx
je 0x180028a5f
mov r8d, r12d
mov rcx, rdi
call fcn.180042de0
mov dword [rdi + 0x14], r12d
mov dword [rdi + 0x260], ebx
vmovsd xmm0, qword [rsi + 0x3e40]
vcvtpd2ps xmm0, xmm0
vmovss dword [rdi + 0x264], xmm0
mov word [rdi + 0xc6], r15w
movzx eax, word [rsi + 0x3eb8]
inc dword [rsi + 0x3eb8]
mov word [rdi + 0xc8], ax
mov r9d, dword [rsp + 0x58]
jmp 0x180028a68
mov r12d, dword [rdi + 0x14]
mov dword [rsp + 0x48], r12d
movsxd rax, dword [rsi + 0x3e98]
test eax, eax
jne 0x180028a78
mov r14, r15
jmp 0x180028a88
imul rcx, rax, 0x58
mov rax, qword [rsi + 0x3ea0]
mov r14, qword [rcx + rax - 0x58]
cmp r9d, ebx
je 0x180028a9a
test r12d, 0x5000000
cmovne r15, r14
jmp 0x180028aa1
mov r15, qword [rdi + 0x368]
mov qword [rsp + 0x60], r15
lea rbx, [rdi + 0xf0]
mov r13d, 8
cmp dword [rbx], 0
jne 0x180028ad8
cmp dword [rbx + 4], 0
jne 0x180028ac9
mov edx, r13d
mov rcx, rbx
call fcn.1800448e0
movsxd rdx, dword [rbx]
mov rcx, qword [rbx + 8]
mov eax, dword [rdi + 0x10]
mov dword [rcx + rdx*4], eax
inc dword [rbx]
mov qword [rsi + 0x3ec8], rdi
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x14], xmm0
mov qword [rbp - 0x30], rdi
vmovups ymm0, ymmword [rsi + 0x4764]
vmovups ymmword [rbp - 0x28], ymm0
vmovups xmm1, xmmword [rsi + 0x4784]
vmovups xmmword [rbp - 8], xmm1
vmovsd xmm0, qword [rsi + 0x4794]
vmovsd qword [rbp + 8], xmm0
mov eax, dword [rsi + 0x479c]
mov dword [rbp + 0x10], eax
movzx eax, word [rbx]
mov word [rbp + 0x14], ax
movzx eax, word [rsi + 0x4810]
mov word [rbp + 0x16], ax
movzx eax, word [rsi + 0x4820]
mov word [rbp + 0x18], ax
movzx eax, word [rsi + 0x4830]
mov word [rbp + 0x1a], ax
movzx eax, word [rsi + 0x4840]
mov word [rbp + 0x1c], ax
movzx eax, word [rsi + 0x4860]
mov word [rbp + 0x1e], ax
movzx eax, word [rsi + 0x4850]
mov word [rbp + 0x20], ax
movzx eax, word [rsi + 0x4880]
mov word [rbp + 0x22], ax
movzx eax, word [rsi + 0x5b70]
mov word [rbp + 0x24], ax
lea rbx, [rsi + 0x3e98]
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x180028bb7
inc ecx
test r8d, r8d
je 0x180028ba2
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180028ba5
mov eax, r13d
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
vzeroupper
call fcn.180044e00
movsxd rax, dword [rbx]
imul rcx, rax, 0x58
mov rax, qword [rbx + 8]
vmovups ymm0, ymmword [rbp - 0x30]
vmovups ymmword [rcx + rax], ymm0
vmovups ymm1, ymmword [rbp - 0x10]
vmovups ymmword [rcx + rax + 0x20], ymm1
vmovups xmm0, xmmword [rbp + 0x10]
vmovups xmmword [rcx + rax + 0x40], xmm0
vmovsd xmm1, qword [rbp + 0x20]
vmovsd qword [rcx + rax + 0x50], xmm1
inc dword [rbx]
bt r12d, 0x1c
jae 0x180028bfc
inc dword [rsi + 0x4890]
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x68]
je 0x180028cb5
mov qword [rdi + 0x368], r15
mov qword [rdi + 0x390], rdi
mov qword [rdi + 0x388], rdi
mov qword [rdi + 0x380], rdi
mov qword [rdi + 0x378], rdi
test r15, r15
je 0x180028c88
mov eax, r12d
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x180028c55
mov rax, qword [r15 + 0x378]
mov qword [rdi + 0x378], rax
bt r12d, 0x1a
jae 0x180028c6a
mov rax, qword [r15 + 0x380]
mov qword [rdi + 0x380], rax
bt r12d, 0x1b
jb 0x180028c88
test r12d, 0x5000000
je 0x180028c88
mov rax, qword [r15 + 0x388]
mov qword [rdi + 0x388], rax
test dword [rdi + 0x14], 0x800000
je 0x180028cae
mov rcx, rdi
mov rax, qword [rcx + 0x368]
mov rcx, rax
mov qword [rdi + 0x390], rax
test dword [rax + 0x14], 0x800000
jne 0x180028c94
mov qword [rdi + 0x370], r14
mov r12d, dword [rdi + 0x10]
mov r15, qword [0x180291348]
lea rbx, [r15 + 0x4840]
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x180028cfc
inc r8d
test ecx, ecx
je 0x180028ce4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180028ce7
mov eax, r13d
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
vzeroupper
call fcn.1800448e0
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r12d
inc dword [rbx]
mov dword [r15 + 0x4744], r12d
mov eax, dword [rsi + 0x4744]
mov dword [rdi + 0x3c8], eax
xor ebx, ebx
mov qword [rsi + 0x3ec8], rbx
mov r15d, dword [rsp + 0x48]
bt r15d, 0x1a
jae 0x180028d6f
movsxd rax, dword ds:[rsi + 0x4880]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x4878]
mov qword [rbx + 8], rdi
mov eax, dword [r14 + 0x158]
mov dword [rbx + 0x18], eax
lea rcx, [rsi + 0x4880]
mov rdx, rbx
vzeroupper
call fcn.1800445e0
mov eax, dword [rbx]
mov dword [rdi + 0xcc], eax
xor ebx, ebx
xor dl, dl
mov byte [rsp + 0x42], dl
xor r12b, r12b
xor r13b, r13b
test byte [rsi + 0x47a0], 1
je 0x180028e18
movsx ecx, byte [rdi + 0xdc]
mov r8d, dword [rsi + 0x47a4]
test r8d, ecx
setne dl
mov byte [rsp + 0x42], dl
test r8d, ecx
je 0x180028e06
vmovss xmm1, dword [rsi + 0x47bc]
vmovss xmm0, dword [rsi + 0x47b8]
vmulss xmm2, xmm0, xmm0
vmulss xmm1, xmm1, xmm1
vaddss xmm3, xmm2, xmm1
vcomiss xmm3, dword [0x1800f2aa0]
jbe 0x180028e06
vmovsd xmm0, qword [rsi + 0x47b0]
vmovsd qword [rdi + 0xe0], xmm0
vmovsd xmm1, qword [rsi + 0x47b8]
vmovsd qword [rdi + 0xe8], xmm1
and ecx, 0xf1
mov eax, dword [rdi + 0xdc]
and eax, 0xffffff00
or ecx, eax
mov dword [rdi + 0xdc], ecx
jmp 0x180028e18
lea rdx, [rsi + 0x47b0]
mov rcx, rdi
vzeroupper
call fcn.18003f7e0
vxorps xmm12, xmm12, xmm12
test byte [rsi + 0x47a0], 2
je 0x180028e6e
mov r8d, dword [rsi + 0x47a8]
movsx eax, byte [rdi + 0xdd]
and eax, r8d
je 0x180028e48
vcomiss xmm12, dword [rsi + 0x47c0]
jae 0x180028e48
mov r12b, 1
jmp 0x180028e4f
xor r12b, r12b
test eax, eax
je 0x180028e5c
vcomiss xmm12, dword [rsi + 0x47c4]
jae 0x180028e5c
mov r13b, 1
lea rdx, [rsi + 0x47c0]
mov rcx, rdi
vzeroupper
call fcn.18003f960
test byte [rsi + 0x47a0], 0x80
je 0x180028eb1
vmovss xmm0, dword [rsi + 0x47d0]
vcomiss xmm0, xmm12
jb 0x180028e94
vmovss dword [rdi + 0x94], xmm0
mov dword [rdi + 0x9c], ebx
vmovss xmm0, dword [rsi + 0x47d4]
vcomiss xmm0, xmm12
jb 0x180028eb1
vmovss dword [rdi + 0x98], xmm0
mov dword [rdi + 0xa0], ebx
mov ebx, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x58]
test byte [rsi + 0x47a0], 4
je 0x180028ed2
vmovsd xmm0, qword [rsi + 0x47c8]
vmovsd qword [rdi + 0x48], xmm0
jmp 0x180028edf
cmp r14d, ebx
je 0x180028edf
mov qword [rdi + 0x48], 0
test byte [rsi + 0x47a0], 8
je 0x180028f2d
mov ecx, dword [rsi + 0x47ac]
movzx edx, byte [rsi + 0x47d8]
test ecx, ecx
je 0x180028f04
movsx eax, byte [rdi + 0xde]
test ecx, eax
je 0x180028f2d
movzx ecx, byte [rdi + 0xde]
and ecx, 0xf1
shl ecx, 0x10
mov eax, dword [rdi + 0xdc]
and eax, 0xff00ffff
or ecx, eax
mov dword [rdi + 0xdc], ecx
mov byte [rdi + 0xb9], dl
test byte [rsi + 0x47a0], 0x20
je 0x180028f45
mov rcx, rdi
vzeroupper
call fcn.180030360
cmp byte [rdi + 0xbc], 0
je 0x180028f63
and byte [rdi + 0xdc], 0xf7
and byte [rdi + 0xdd], 0xf7
and byte [rdi + 0xde], 0xf7
mov r8d, 1
cmp r14d, ebx
je 0x18002ac6a
mov eax, r15d
and eax, 0x3000000
mov dword [rsp + 0x4c], eax
movzx eax, byte [rdi + 0xd9]
mov byte [rsp + 0x43], al
mov byte [rdi + 0xb6], r8b
cmp qword [rbp - 0x48], 0
setne al
mov byte [rdi + 0xc0], al
mov dword [rdi + 0x238], 0xff7fffff
mov dword [rdi + 0x23c], 0xff7fffff
mov dword [rdi + 0x240], 0x7f7fffff
mov dword [rdi + 0x244], 0x7f7fffff
lea rbx, [rdi + 0xf0]
mov ecx, dword [rbx + 4]
cmp ecx, r8d
jge 0x180029003
test ecx, ecx
je 0x180028fe4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180028fe9
mov eax, 8
mov edx, r8d
cmp eax, r8d
cmovg edx, eax
mov rcx, rbx
vzeroupper
call fcn.1800448e0
mov r8d, 1
mov dword [rbx], r8d
mov rcx, qword [rdi + 0x298]
vzeroupper
call fcn.180051080
mov dword [rdi + 0x1b0], 0xffffffff
cmp byte [rdi + 0x3d4], 0
je 0x1800290ee
mov byte [rdi + 0x3d4], 0
mov rcx, qword [rdi + 0x298]
add rcx, 0x10
mov edx, dword [rdi + 0x3cc]
call fcn.180044840
mov rbx, qword ds:[rdi + 0x298]
add rbx, 0x20
movsxd r14, dword [rdi + 0x3d0]
cmp r14d, dword [rbx + 4]
jle 0x1800290e5
mov rax, qword [0x180291348]
test rax, rax
je 0x180029078
inc dword [rax + 0xf4]
lea rcx, [r14 + r14*4]
shl rcx, 2
mov rdx, qword [0x180291358]
call qword [0x180243578]
mov r15, rax
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1800290d8
movsxd rcx, dword [rbx]
lea r8, [rcx + rcx*4]
shl r8, 2
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800290cb
mov rax, qword [0x180291348]
nop dword [rax]
test rax, rax
je 0x1800290cb
dec dword [rax + 0xf4]
mov rdx, qword [0x180291358]
call qword [0x180243580]
mov qword [rbx + 8], r15
mov dword [rbx + 4], r14d
mov r15d, dword [rsp + 0x48]
xor eax, eax
mov qword [rdi + 0x3cc], rax
mov r9, qword ds:[rsp + 0x70]
cmp qword [rsi + 0x4a20], 0
je 0x1800291e2
test dword [rdi + 0x14], 0x80000
jne 0x1800291e2
test r9, r9
je 0x1800291e2
mov r9, qword [rdi + 8]
mov r10, qword [rbp - 0x60]
mov rax, r10
mov r8, r9
sub r8, r10
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029144
inc rax
test ecx, ecx
jne 0x180029130
test edx, edx
je 0x1800291dd
movsxd r14, dword [rdi + 0x78]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [r10 + rbx], 0
jne 0x180029160
inc rbx
cmp r14, rbx
jae 0x1800291c7
test r9, r9
je 0x18002918b
mov rax, qword [0x180291348]
nop
test rax, rax
je 0x18002918b
dec dword [rax + 0xf4]
mov rdx, qword [0x180291358]
mov rcx, r9
call qword [0x180243580]
mov rax, qword [0x180291348]
test rax, rax
je 0x1800291ad
inc dword [rax + 0xf4]
mov rdx, qword [0x180291358]
mov rcx, rbx
call qword [0x180243578]
mov r9, rax
mov r14, rbx
mov r10, qword [rbp - 0x60]
mov r8, rbx
mov rdx, r10
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 8], rax
mov dword [rdi + 0x78], r14d
mov r9, qword [rsp + 0x70]
lea r8, [rdi + 0x40]
lea rdx, [rdi + 0x38]
mov rcx, rdi
call fcn.18002c6e0
movzx eax, byte [rdi + 0xd8]
test al, al
jle 0x180029205
dec al
mov byte [rdi + 0xd8], al
movzx eax, byte [rdi + 0xd9]
test al, al
jle 0x180029218
dec al
mov byte [rdi + 0xd9], al
movzx eax, byte ds:[rdi + 0xda]
test al, al
jle 0x18002922c
dec al
mov byte [rdi + 0xda], al
test r9, r9
jne 0x180029242
test r12b, r12b
je 0x18002923b
test r13b, r13b
jne 0x180029242
mov byte [rdi + 0xd9], 1
xor r8d, r8d
cmp byte [rsp + 0x40], r8b
je 0x180029290
test r15d, 0x6000000
je 0x180029290
mov byte ds:[rdi + 0xd9], 1
test r15b, 0x40
je 0x180029290
test r12b, r12b
jne 0x180029273
mov dword [rdi + 0x30], r8d
mov dword [rdi + 0x28], r8d
test r13b, r13b
jne 0x180029280
mov dword [rdi + 0x34], r8d
mov dword [rdi + 0x2c], r8d
mov qword [rdi + 0x40], 0
mov qword [rdi + 0x38], 0
mov rax, qword [0x180291348]
mov rax, qword [rax + 0x48a0]
mov r14, qword [rax]
mov qword [rdi + 0x18], r14
mov rcx, qword [0x180291348]
mov qword [rcx + 0x3ec8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp eax, 0xffffffff
je 0x1800292cf
imul rdx, rax, 0x238
add rdx, qword [rcx + 0x4b30]
jmp 0x1800292d2
mov rdx, r8
mov qword [rcx + 0x4b08], rdx
mov rax, qword [rdi]
vmovss xmm0, dword [rax + 0x3c2c]
vmulss xmm1, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x180029300
vmulss xmm1, xmm1, dword [rax + 0x290]
vmovss dword [rcx + 0x3c40], xmm1
vmovss dword [rcx + 0x3c28], xmm1
bt r15d, 0x18
jae 0x180029322
vmovss xmm1, dword ds:[rsi + 0x3824]
jmp 0x180029344
test r15d, 0x6000000
je 0x18002933c
bt r15d, 0x1b
jb 0x18002933c
vmovss xmm1, dword [rsi + 0x382c]
jmp 0x180029344
vmovss xmm1, dword [rsi + 0x3808]
mov rax, rdi
vmovss dword [rax + 0x5c], xmm1
vmovsd xmm0, qword [rsi + 0x37fc]
vmovsd qword [rdi + 0x50], xmm0
mov eax, r15d
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x180029390
vucomiss xmm1, xmm12
jne 0x180029390
bt r15d, 0xa
jae 0x180029382
vmovss xmm0, dword ds:[rsi + 0x3800]
jmp 0x180029387
vmovaps xmm0, xmm12
mov dword [rdi + 0x50], r8d
vmovss dword [rdi + 0x54], xmm0
vmovss xmm2, dword [rsi + 0x4804]
vmovss xmm0, dword [rdi + 0x50]
vmaxss xmm1, xmm0, dword [rsi + 0x3840]
vmaxss xmm2, xmm2, xmm1
vmovss dword [rdi + 0x164], xmm2
mov eax, dword [rsi + 0x4808]
mov dword [rdi + 0x168], eax
movzx ebx, byte [rsp + 0x41]
mov dword [rsp + 0x44], ebx
test r15b, 0x21
jne 0x1800294b7
mov rcx, qword [rdi]
test byte [rdi + 0x14], 1
je 0x1800293e2
vmovaps xmm0, xmm12
jmp 0x180029416
vmovss xmm0, dword [rcx + 0x3c2c]
vmulss xmm2, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x180029406
vmulss xmm2, xmm2, dword [rax + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vaddss xmm2, xmm0, dword [rdi + 0x24]
vmovss xmm0, dword [rdi + 0x20]
vaddss xmm1, xmm0, dword [rdi + 0x30]
vmovss dword [rsp + 0x78], xmm0
vmovss xmm0, dword [rdi + 0x24]
vmovss dword [rsp + 0x7c], xmm0
vmovss dword [rbp - 0x80], xmm1
vmovss dword [rbp - 0x7c], xmm2
cmp qword [rsi + 0x3ed0], rdi
jne 0x180029481
cmp dword [rsi + 0x3f14], 0
jne 0x180029481
cmp dword [rsi + 0x3f18], 0
jne 0x180029481
mov r8b, 1
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x78]
call fcn.180034120
test al, al
je 0x180029481
cmp word [rsi + 0x3752], 2
jne 0x180029481
mov byte [rdi + 0xba], 1
cmp byte [rdi + 0xba], 0
je 0x1800294be
movzx ecx, byte [rdi + 0xb9]
test cl, cl
sete al
mov byte [rdi + 0xb9], al
movzx ebx, bl
test cl, cl
mov eax, 1
cmovne ebx, eax
mov dword [rsp + 0x44], ebx
mov rcx, rdi
call fcn.1800350e0
jmp 0x1800294be
mov byte [rdi + 0xb9], 0
mov byte [rdi + 0xba], 0
vmovss xmm13, dword [rdi + 0xac]
vmovss xmm14, dword [rdi + 0xb0]
xor edx, edx
mov dword [rdi + 0x60], edx
mov dword [rdi + 0x68], edx
mov rcx, qword [rdi]
mov r8d, dword [rdi + 0x14]
test r8b, 1
je 0x1800294f1
vmovaps xmm3, xmm12
jmp 0x180029527
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm2, xmm0, dword [rcx + 0x3c2c]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x180029515
vmulss xmm2, xmm2, dword [rdx + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm0, xmm0
vaddss xmm3, xmm1, xmm2
xor edx, edx
bt r8d, 0xa
jae 0x18002956c
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm1, xmm0, dword [rcx + 0x3c2c]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x180029552
vmulss xmm1, xmm1, dword [rax + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm1, dword [rdi + 0x168]
vaddss xmm0, xmm0, xmm0
vaddss xmm2, xmm1, xmm0
jmp 0x180029571
vmovaps xmm2, xmm12
vaddss xmm0, xmm2, xmm3
vmovss dword [rdi + 0x64], xmm0
mov dword [rdi + 0x6c], edx
mov qword [rdi + 0xac], 0
lea r8, [rdi + 0x40]
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.18002c4a0
test r15b, 0x40
je 0x1800295dc
cmp byte [rdi + 0xb9], 0
jne 0x1800295dc
test r12b, r12b
jne 0x1800295bd
vmovss xmm0, dword [rsp + 0x78]
vmovss dword [rdi + 0x30], xmm0
mov byte [rsp + 0x41], 1
nop dword [rax]
test r13b, r13b
jne 0x180029697
vmovss xmm0, dword [rsp + 0x7c]
vmovss dword [rdi + 0x34], xmm0
mov r13b, 1
jmp 0x18002969c
movzx eax, byte [rdi + 0xd0]
test al, al
jg 0x1800295f4
cmp byte [rdi + 0xd1], 0
jle 0x180029697
test r12b, r12b
jne 0x180029626
test al, al
jle 0x180029626
nop dword [rax]
cmp byte [rdi + 0xd3], r12b
je 0x180029616
vmovss xmm0, dword [rsp + 0x78]
vmaxss xmm1, xmm0, dword [rdi + 0x30]
jmp 0x18002961c
vmovss xmm1, dword [rsp + 0x78]
vmovss dword [rdi + 0x30], xmm1
mov byte [rsp + 0x41], 1
test r13b, r13b
jne 0x180029662
cmp byte [rdi + 0xd1], r13b
jle 0x180029662
cmp byte [rdi + 0xd3], r13b
je 0x180029652
vmovss xmm0, dword [rsp + 0x7c]
vmaxss xmm1, xmm0, dword [rdi + 0x34]
vmovss dword [rdi + 0x34], xmm1
mov r13b, 1
jmp 0x180029667
vmovss xmm1, dword [rsp + 0x7c]
vmovss dword [rdi + 0x34], xmm1
mov r13b, 1
jmp 0x180029667
mov r13d, dword [rsp + 0x44]
cmp byte [rdi + 0xb9], 0
jne 0x18002969c
mov rcx, qword [0x180291348]
test dword ds:[rdi + 0x14], 0x100
jne 0x18002969c
vcomiss xmm12, dword [rcx + 0x5bbc]
jb 0x18002969c
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x5bbc], eax
jmp 0x18002969c
mov r13d, dword [rsp + 0x44]
lea r8, [rdi + 0x30]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.18002c880
vmovss xmm3, dword [rax]
vmovss xmm0, dword [rax + 4]
vmovss dword [rdi + 0x30], xmm3
vmovss dword [rdi + 0x34], xmm0
cmp byte [rdi + 0xb9], 0
je 0x180029738
bt r15d, 0x18
jb 0x180029738
mov rcx, qword [rdi]
test byte [rdi + 0x14], 1
je 0x1800296e2
vmovaps xmm0, xmm12
jmp 0x180029716
vmovss xmm0, dword [rcx + 0x3c2c]
vmulss xmm2, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x180029706
vmulss xmm2, xmm2, dword [rax + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vaddss xmm1, xmm0, dword [rdi + 0x24]
vaddss xmm0, xmm3, dword [rdi + 0x20]
vsubss xmm1, xmm1, dword [rdi + 0x24]
vsubss xmm0, xmm0, dword [rdi + 0x20]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
jmp 0x180029743
vmovsd xmm0, qword [rdi + 0x30]
vmovsd qword [rsp + 0x50], xmm0
lea rax, ds:[rsp + 0x50]
vmovsd xmm0, qword [rax]
vmovsd qword [rdi + 0x28], xmm0
movzx ebx, byte [rsp + 0x40]
movzx r12d, byte [rsp + 0x42]
test bl, bl
je 0x1800297ad
mov dword [rdi + 0xd4], 0xffffffff
mov eax, r15d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1800297ad
nop dword [rax]
test r12b, r12b
jne 0x1800297ad
movsxd rax, dword [rsi + 0x4880]
imul rcx, rax, 0x38
mov rax, qword [rsi + 0x4888]
vmovss xmm0, dword [rcx + rax - 0x14]
vmovss xmm1, dword [rcx + rax - 0x10]
vmovss dword [rdi + 0x20], xmm0
vmovss dword [rdi + 0x24], xmm1
bt r15d, 0x18
jae 0x180029843
mov rdx, qword [rsp + 0x60]
lea rbx, [rdx + 0x190]
movzx eax, word [rbx]
mov word [rdi + 0xc6], ax
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x18002980b
inc r8d
test ecx, ecx
je 0x1800297ef
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800297f4
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1800449a0
mov rdx, qword [rsp + 0x60]
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rdi
inc dword [rbx]
mov eax, dword [rsp + 0x4c]
movzx ebx, byte [rsp + 0x40]
bt r15d, 0x1a
jb 0x180029847
test r12b, r12b
jne 0x180029847
cmp eax, 0x3000000
je 0x180029847
vmovsd xmm0, qword [rdx + 0x100]
vmovsd qword [rdi + 0x20], xmm0
jmp 0x180029847
mov eax, dword [rsp + 0x4c]
vmovss xmm4, dword [rdi + 0xe0]
vucomiss xmm4, dword [0x1800f0f54]
je 0x1800298aa
cmp byte [rdi + 0xd9], 0
jne 0x1800298aa
vmovss xmm0, dword [rdi + 0x2c]
vmulss xmm2, xmm0, dword [rdi + 0xec]
vmovss xmm1, dword [rdi + 0xe4]
vsubss xmm3, xmm1, xmm2
vmovss xmm0, dword [rdi + 0x28]
vmulss xmm2, xmm0, dword [rdi + 0xe8]
vsubss xmm1, xmm4, xmm2
vmovss dword [rsp + 0x50], xmm1
vmovss dword [rsp + 0x54], xmm3
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.18003f7e0
jmp 0x1800298fa
bt r15d, 0x1c
jb 0x1800298da
bt r15d, 0x1a
jae 0x1800298c7
test r12b, r12b
jne 0x1800298c7
nop dword [rax]
cmp byte [rsp + 0x43], r12b
jg 0x1800298da
bt r15d, 0x19
jae 0x1800298fa
test r12b, r12b
jne 0x1800298fa
cmp eax, 0x3000000
je 0x1800298fa
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.18002f6a0
vmovss xmm1, dword [rax + 4]
vmovss xmm0, dword [rax]
vmovss dword [rdi + 0x20], xmm0
vmovss dword [rdi + 0x24], xmm1
vmovss xmm7, dword [r14 + 8]
vaddss xmm9, xmm7, dword [r14 + 0x10]
vmovss xmm6, dword [r14 + 4]
vaddss xmm8, xmm6, dword [r14 + 0xc]
vmovss dword [rbp + 0x30], xmm6
vmovss dword [rbp + 0x34], xmm7
vmovss dword [rbp + 0x38], xmm8
vmovss dword [rbp + 0x3c], xmm9
vmovss xmm4, dword [r14 + 0x18]
vmovss xmm5, dword [r14 + 0x14]
vmovss xmm0, dword [rsi + 0x38b4]
vmaxss xmm3, xmm0, dword [rsi + 0x38bc]
vmovss xmm1, dword [rsi + 0x38b8]
vmaxss xmm2, xmm1, dword [rsi + 0x38b0]
vaddss xmm0, xmm4, dword [r14 + 0x20]
vsubss xmm10, xmm0, xmm3
vaddss xmm1, xmm5, dword [r14 + 0x1c]
vsubss xmm11, xmm1, xmm2
vaddss xmm3, xmm3, xmm4
vaddss xmm4, xmm2, xmm5
vmovss dword [rbp - 0x78], xmm4
vmovss dword [rbp - 0x74], xmm3
vmovss dword [rbp - 0x70], xmm11
vmovss dword [rbp - 0x6c], xmm10
test r12b, r12b
jne 0x180029a37
bt r15d, 0x18
jb 0x180029a37
vsubss xmm0, xmm8, xmm6
vcomiss xmm0, xmm12
jbe 0x180029a37
vsubss xmm0, xmm9, xmm7
vcomiss xmm0, xmm12
jbe 0x180029a37
vmovss xmm0, dword [rdi + 0x2c]
mov rax, qword [0x180291348]
cmp byte [rax + 0x7f], r12b
je 0x180029a04
test byte [rdi + 0x14], 1
jne 0x180029a04
mov rcx, qword [rdi]
vmovss xmm0, dword [rcx + 0x3c2c]
vmulss xmm2, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x1800299f4
vmulss xmm2, xmm2, dword [rax + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vsubss xmm1, xmm3, xmm0
vsubss xmm0, xmm4, dword [rdi + 0x28]
vmovss xmm2, dword [rdi + 0x24]
vcomiss xmm2, xmm1
jb 0x180029a1d
vminss xmm1, xmm2, xmm10
vmovss xmm2, dword [rdi + 0x20]
vcomiss xmm2, xmm0
jb 0x180029a2d
vminss xmm0, xmm2, xmm11
vmovss dword [rdi + 0x20], xmm0
vmovss dword [rdi + 0x24], xmm1
vcvttss2si eax, dword [rdi + 0x24]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vcvttss2si eax, dword [rdi + 0x20]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rdi + 0x20], xmm0
vmovss dword [rdi + 0x24], xmm1
bt r15d, 0x18
jae 0x180029a6c
vmovss xmm0, dword [rsi + 0x3820]
jmp 0x180029a8d
mov eax, r15d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180029a85
vmovss xmm0, dword [rsi + 0x3828]
jmp 0x180029a8d
vmovss xmm0, dword [rsi + 0x3804]
vmovss dword ds:[rdi + 0x58], xmm0
xor r12b, r12b
mov dword [rsp + 0x44], r12d
test bl, bl
je 0x180029cd0
bt r15d, 0xc
jb 0x180029cd0
bt r15d, 0x1a
jae 0x180029ac2
mov byte ds:[rsp + 0x44], 1
jmp 0x180029adb
test r15d, 0x3000000
movzx r12d, r12b
mov eax, 1
cmove r12d, eax
mov dword [rsp + 0x44], r12d
nop dword [rax + rax]
call fcn.180031540
test rax, rax
je 0x180029cd0
mov rcx, rdi
cmp qword [rdi + 0x378], rax
je 0x180029cd0
nop
cmp rcx, rax
je 0x180029cd0
mov rcx, qword [rcx + 0x370]
test rcx, rcx
jne 0x180029b00
mov byte [rsp + 0x44], cl
mov r8, qword [rdi + 0x378]
cmp rdi, r8
jne 0x180029cd0
mov r15, qword [0x180291348]
mov eax, dword [r15 + 0x4870]
test eax, eax
jle 0x180029bf7
sub eax, 1
js 0x180029bf7
movsxd r9, eax
imul r10, r9, 0x38
mov rax, qword [r15 + 0x4878]
add rax, 8
add r10, rax
nop dword [rax]
mov rdx, qword [r10]
test rdx, rdx
je 0x180029be9
test dword [rdx + 0x14], 0x8000000
je 0x180029be9
cmp byte [rdx + 0xb6], 0
jne 0x180029b87
cmp byte [rdx + 0xb7], 0
je 0x180029be9
mov rax, rdi
cmp r8, rdx
je 0x180029bf7
nop
cmp rax, rdx
je 0x180029bf7
mov rax, qword ds:[rax + 0x370]
test rax, rax
jne 0x180029b90
mov rax, qword [rdx + 0x370]
mov rcx, qword [rax + 0x378]
test rcx, rcx
je 0x180029be9
mov rax, rdi
cmp r8, rcx
je 0x180029bf9
cmp rax, rcx
je 0x180029bf9
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x180029bc5
mov rax, qword [rcx + 0x370]
mov rcx, qword [rax + 0x378]
test rcx, rcx
jne 0x180029bb8
sub r10, 0x38
sub r9, 1
jns 0x180029b60
xor edx, edx
mov rbx, qword [rdi + 0x378]
mov r8, qword [rdx + 0x378]
mov r9, qword [r15 + 0x3e70]
movsxd rax, dword [r15 + 0x3e68]
lea rcx, [r9 + rax*8]
cmp r9, rcx
jae 0x180029c2e
nop
cmp qword [r9], rbx
je 0x180029c2e
add r9, 8
cmp r9, rcx
jb 0x180029c20
mov rcx, qword [r15 + 0x3e70]
sub r9, rcx
sar r9, 3
movsxd rax, dword [r15 + 0x3e68]
lea rdx, [rcx + rax*8]
cmp rcx, rdx
jae 0x180029c5e
nop dword [rax]
cmp qword [rcx], r8
je 0x180029c5e
add rcx, 8
cmp rcx, rdx
jb 0x180029c50
mov r10, qword [r15 + 0x3e70]
sub rcx, r10
sar rcx, 3
movsxd r14, ecx
cmp r9d, ecx
jge 0x180029ca5
sub ecx, r9d
dec ecx
movsxd r8, ecx
shl r8, 3
lea eax, [r9 + 1]
movsxd rcx, eax
lea rdx, [r10 + rcx*8]
movsxd rax, r9d
lea rcx, [r10 + rax*8]
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [r15 + 0x3e70]
mov qword [rax + r14*8 - 8], rbx
jmp 0x180029cd0
sub r9d, ecx
movsxd r8, r9d
shl r8, 3
lea rdx, [r10 + r14*8]
lea eax, [rcx + 1]
movsxd rcx, eax
lea rcx, [r10 + rcx*8]
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [r15 + 0x3e70]
mov qword [rax + r14*8], rbx
mov dword [rsp + 0x6c], 0xffffffff
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x50], xmm0
xor edx, edx
mov r15d, edx
cmp byte [rsi + 0x7e], dl
setne r15b
inc r15d
vmovss xmm3, dword [rsi + 0x3c28]
vmovss xmm15, dword [0x1800f2ab4]
vmulss xmm0, xmm3, xmm15
vaddss xmm1, xmm0, dword [rdi + 0x58]
vaddss xmm2, xmm1, dword [0x1800ef4d4]
vmulss xmm0, xmm3, dword [0x1800ef96c]
vmaxss xmm1, xmm2, xmm0
vcvttss2si eax, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x50], xmm0
cmp byte [rdi + 0xb9], dl
jne 0x180029d6e
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r15d
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.180042f80
xor edx, edx
test al, al
je 0x180029d6e
mov r13b, 1
movzx ecx, r13b
jmp 0x180029d73
movzx ecx, byte [rsp + 0x41]
movzx eax, byte [rsp + 0x6c]
mov byte [rdi + 0xc1], al
cmp byte [rdi + 0xb9], 0
jne 0x180029f1d
vmovss xmm0, dword [rdi + 0x6c]
vaddss xmm2, xmm0, dword [rdi + 0x64]
vmovss xmm1, dword [rdi + 0x34]
vsubss xmm8, xmm1, xmm2
vmovss xmm6, dword [rdi + 0x30]
vmovss xmm0, dword [rdi + 0x204]
vsubss xmm1, xmm0, dword [rdi + 0x1fc]
vaddss xmm7, xmm1, xmm14
vmovss xmm2, dword [rdi + 0x200]
vsubss xmm0, xmm2, dword [rdi + 0x1f8]
vaddss xmm5, xmm0, xmm13
cmp qword [rsp + 0x70], 0
jne 0x180029de5
vmovss dword [rbp - 0x58], xmm12
vmovss dword [rbp - 0x54], xmm12
lea rax, [rbp - 0x58]
jmp 0x180029e0f
vmovss xmm0, dword [rdi + 0x54]
vaddss xmm1, xmm0, xmm0
vmovss xmm2, dword [rdi + 0x50]
vaddss xmm3, xmm1, dword [rdi + 0x3c]
vaddss xmm0, xmm2, xmm2
vaddss xmm1, xmm0, dword [rdi + 0x38]
vmovss dword [rbp - 0x50], xmm1
vmovss dword [rbp - 0x4c], xmm3
lea rax, [rbp - 0x50]
vmovss xmm9, dword [rax]
vmovss xmm4, dword [rax + 4]
vmovd xmm1, edx
movzx eax, cl
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm5, xmm2
vmovss dword [rsp + 0x6c], xmm0
vmovd xmm1, edx
movzx eax, r13b
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm3, xmm8, xmm7, xmm2
mov r12d, dword [rsp + 0x48]
bt r12d, 0xe
jb 0x180029e6a
vcomiss xmm4, xmm3
jbe 0x180029e66
nop dword [rax + rax]
test r12b, 8
je 0x180029e6a
xor cl, cl
jmp 0x180029e6c
mov cl, 1
mov byte [rdi + 0xb5], cl
bt r12d, 0xf
jb 0x180029eb9
test cl, cl
je 0x180029e87
vmovss xmm1, dword [rsi + 0x3868]
jmp 0x180029e8c
vmovaps xmm1, xmm12
vmovss xmm0, dword [rsp + 0x6c]
vsubss xmm1, xmm0, xmm1
vcomiss xmm9, xmm1
jbe 0x180029eab
mov eax, r12d
and eax, 0x808
cmp eax, 0x800
je 0x180029eb9
mov byte [rdi + 0xb4], 0
vmovaps xmm1, xmm12
jmp 0x180029ee4
mov byte [rdi + 0xb4], 1
test cl, cl
jne 0x180029edc
vcomiss xmm4, xmm3
jbe 0x180029ed4
test r12b, 8
jne 0x180029ed4
mov cl, 1
jmp 0x180029ed6
xor cl, cl
mov byte [rdi + 0xb5], cl
vmovss xmm1, dword [rsi + 0x3868]
test cl, cl
je 0x180029ef2
vmovss xmm0, dword [rsi + 0x3868]
jmp 0x180029ef7
vmovaps xmm0, xmm12
vmovss dword [rdi + 0xac], xmm0
vaddss xmm0, xmm0, dword [rdi + 0x68]
vmovss dword [rdi + 0x68], xmm0
vmovss dword [rdi + 0xb0], xmm1
vaddss xmm0, xmm1, dword [rdi + 0x6c]
vmovss dword [rdi + 0x6c], xmm0
jmp 0x180029f22
mov r12d, dword [rsp + 0x48]
mov eax, r12d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x180029f49
cmp dword [rsp + 0x4c], 0x3000000
je 0x180029f49
mov r13, qword [rsp + 0x60]
lea rax, [r13 + 0x238]
jmp 0x180029f52
lea rax, [rbp + 0x30]
mov r13, qword [rsp + 0x60]
vmovups xmm0, xmmword [rax]
vmovups xmmword [rbp + 0x40], xmm0
vmovss xmm3, dword [rdi + 0x24]
vaddss xmm5, xmm3, dword [rdi + 0x2c]
vmovss xmm4, dword [rdi + 0x20]
vaddss xmm6, xmm4, dword [rdi + 0x28]
mov rcx, qword [rdi]
test byte [rdi + 0x14], 1
je 0x180029f7f
vmovaps xmm0, xmm12
jmp 0x180029fb3
vmovss xmm0, dword [rcx + 0x3c2c]
vmulss xmm2, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x180029fa3
vmulss xmm2, xmm2, dword [rax + 0x290]
vmovss xmm0, dword [rcx + 0x3834]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vaddss xmm2, xmm0, xmm3
vaddss xmm1, xmm4, dword [rdi + 0x30]
vmovss dword [rbp - 0x40], xmm4
vmovss xmm0, dword [rdi + 0x24]
vmovss dword [rbp - 0x3c], xmm0
vmovss dword [rbp - 0x38], xmm1
vmovss dword [rbp - 0x34], xmm2
vmovss dword [rdi + 0x1e8], xmm4
vmovss dword [rdi + 0x1ec], xmm3
vmovss dword [rdi + 0x1f0], xmm6
vmovss dword [rdi + 0x1f4], xmm5
vmovss xmm7, dword [rbp + 0x44]
vmaxss xmm1, xmm7, xmm3
vmovss xmm6, dword [rbp + 0x40]
vmaxss xmm0, xmm6, dword [rdi + 0x1e8]
vmovss dword [rdi + 0x1e8], xmm0
vmovss dword [rdi + 0x1ec], xmm1
vmovss xmm10, dword [rbp + 0x4c]
vminss xmm1, xmm10, dword [rdi + 0x1f4]
vmovss xmm0, dword [rdi + 0x1f0]
vmovss xmm11, dword [rbp + 0x48]
vminss xmm0, xmm0, xmm11
vmovss dword [rdi + 0x1f0], xmm0
vmovss dword [rdi + 0x1f4], xmm1
vmovss xmm2, dword [rdi + 0x20]
vaddss xmm8, xmm2, dword [rdi + 0x60]
vmovss dword [rdi + 0x1f8], xmm8
vmovss xmm1, dword [rdi + 0x24]
vaddss xmm12, xmm1, dword [rdi + 0x64]
vmovss dword [rdi + 0x1fc], xmm12
vaddss xmm0, xmm2, dword [rdi + 0x28]
vsubss xmm13, xmm0, dword [rdi + 0x68]
vmovss dword [rdi + 0x200], xmm13
vaddss xmm1, xmm1, dword [rdi + 0x2c]
vsubss xmm14, xmm1, dword [rdi + 0x6c]
vmovss dword [rdi + 0x204], xmm14
mov eax, r12d
and eax, 0x401
cmp eax, 1
jne 0x18002a0a6
vmovss xmm9, dword [rdi + 0x5c]
jmp 0x18002a0ae
vmovss xmm9, dword [rsi + 0x383c]
vmovss xmm4, dword [0x1800ef4d0]
vmulss xmm0, xmm4, dword [rdi + 0x50]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmaxss xmm3, xmm1, dword [rdi + 0x5c]
vaddss xmm0, xmm8, xmm4
vaddss xmm2, xmm0, xmm3
vcvttss2si eax, xmm2
vxorps xmm8, xmm8, xmm8
vcvtsi2ss xmm8, xmm8, eax
vmovss dword [rdi + 0x208], xmm8
vaddss xmm0, xmm12, xmm4
vaddss xmm1, xmm0, xmm9
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovss dword [rdi + 0x20c], xmm2
vaddss xmm0, xmm13, xmm4
vsubss xmm1, xmm0, xmm3
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovss dword [rdi + 0x210], xmm2
vaddss xmm0, xmm14, xmm4
vsubss xmm1, xmm0, dword [rdi + 0x5c]
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovss dword [rdi + 0x214], xmm2
vmovss xmm0, dword [rdi + 0x20c]
vcomiss xmm0, xmm7
jae 0x18002a153
vmovaps xmm1, xmm7
jmp 0x18002a157
vminss xmm1, xmm10, xmm0
vcomiss xmm8, xmm6
jae 0x18002a163
vmovaps xmm0, xmm6
jmp 0x18002a168
vminss xmm0, xmm11, xmm8
vmovss dword [rdi + 0x208], xmm0
vmovss dword [rdi + 0x20c], xmm1
vmovss xmm0, dword [rdi + 0x214]
vcomiss xmm0, xmm7
jb 0x18002a18a
vminss xmm7, xmm10, xmm0
vmovss xmm0, dword [rdi + 0x210]
vcomiss xmm0, xmm6
jb 0x18002a19c
vminss xmm6, xmm11, xmm0
vmovss dword [rdi + 0x210], xmm6
vmovss dword [rdi + 0x214], xmm7
vmovss xmm0, dword [rdi + 0x28]
vxorps xmm9, xmm9, xmm9
vcomiss xmm0, xmm9
jbe 0x18002a1d3
nop dword [rax]
test r12d, 0x2000040
jne 0x18002a1d3
vmulss xmm1, xmm0, dword [0x1800f2ac0]
jmp 0x18002a1e3
vmovss xmm0, dword [rsi + 0x3c28]
vmulss xmm1, xmm0, dword [0x1800f2aec]
mov rcx, rdi
vcvttss2si eax, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rcx + 0x268], xmm0
vmovss xmm1, dword [rdi + 0x50]
vaddss xmm0, xmm1, xmm1
vaddss xmm3, xmm0, dword [rdi + 0x38]
vmovss xmm2, dword [rdi + 0x200]
vsubss xmm1, xmm2, dword [rdi + 0x1f8]
vsubss xmm0, xmm3, xmm1
vmaxss xmm0, xmm0, xmm9
vmovss dword [rdi + 0x8c], xmm0
vmovss xmm1, dword [rdi + 0x54]
vaddss xmm2, xmm1, xmm1
vaddss xmm3, xmm2, dword [rdi + 0x3c]
vmovss xmm0, dword [rdi + 0x204]
vsubss xmm1, xmm0, dword [rdi + 0x1fc]
vsubss xmm2, xmm3, xmm1
vmaxss xmm0, xmm2, xmm9
vmovss dword [rdi + 0x90], xmm0
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18002c160
vmovss xmm7, dword [rax + 4]
vmovss xmm0, dword [rsi + 0x47d4]
vaddss xmm1, xmm0, dword [rdi + 0x98]
mov eax, dword [rdi + 0x94]
mov dword [rdi + 0x94], eax
vmovss dword [rdi + 0x98], xmm1
movsxd r8, dword [rdi + 0xf0]
mov rax, qword [rdi + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
mov r14, qword [rbp - 0x60]
mov rcx, r14
call fcn.180032780
mov ebx, eax
mov rcx, qword [rdi]
cmp dword [rcx + 0x3f10], eax
jne 0x18002a2cd
xor r9d, r9d
mov r8, r14
lea edx, [r9 + 0xb]
mov ecx, eax
call fcn.18002dbe0
mov eax, dword [0x180291d08]
mov rcx, qword gs:[0x58]
mov edx, 0x28
mov rax, qword [rcx + rax*8]
mov eax, dword [rdx + rax]
cmp dword [0x180291378], eax
jg 0x18002af6b
mov r14, qword [0x180291368]
mov rcx, qword [r14 + 8]
mov rax, r14
cmp byte [rcx + 0x19], 0
jne 0x18002a31f
cmp dword [rcx + 0x1c], ebx
jae 0x18002a313
mov rcx, qword [rcx + 0x10]
jmp 0x18002a319
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002a308
cmp byte [rax + 0x19], 0
jne 0x18002a32a
cmp ebx, dword [rax + 0x1c]
jae 0x18002a32d
mov rax, r14
cmp rax, r14
jne 0x18002a435
mov dword [rsp + 0x60], ebx
vmovss dword [rsp + 0x64], xmm9
mov rax, qword [r14 + 8]
mov qword [rbp - 0x78], rax
xor edx, edx
mov dword [rbp - 0x70], edx
mov rcx, r14
cmp byte [rax + 0x19], dl
jne 0x18002a385
lea r8d, [rdx + 1]
nop dword [rax]
mov qword [rbp - 0x78], rax
cmp dword [rax + 0x1c], ebx
jae 0x18002a372
mov dword [rbp - 0x70], edx
mov rax, qword [rax + 0x10]
jmp 0x18002a37c
mov dword [rbp - 0x70], r8d
mov rcx, rax
mov rax, qword [rax]
nop dword [rax]
cmp byte [rax + 0x19], dl
je 0x18002a360
cmp byte [rcx + 0x19], dl
jne 0x18002a38f
cmp ebx, dword [rcx + 0x1c]
jae 0x18002a3fe
movabs rax, 0x666666666666666
cmp qword [0x180291370], rax
je 0x18002af65
lea rax, [0x180291368]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rdx
mov ecx, 0x28
call fcn.1800805c4
nop
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x1c], rdx
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov word [rax + 0x18], 0
vmovups xmm0, xmmword [rbp - 0x78]
vmovups xmmword [rbp + 0x30], xmm0
mov r8, rax
lea rdx, [rbp + 0x30]
lea rcx, [0x180291368]
call fcn.18000f940
mov r14, qword [0x180291368]
mov rcx, qword [r14 + 8]
mov rax, r14
cmp byte [rcx + 0x19], 0
jne 0x18002a427
nop dword [rax + rax]
cmp dword [rcx + 0x1c], ebx
jae 0x18002a41b
mov rcx, qword [rcx + 0x10]
jmp 0x18002a421
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002a410
cmp byte [rax + 0x19], 0
jne 0x18002a432
cmp ebx, dword [rax + 0x1c]
jae 0x18002a435
mov rax, r14
vmovss xmm6, dword ds:[rax + 0x20]
vcomiss xmm6, xmm7
jae 0x18002a46a
vsubss xmm0, xmm7, xmm6
vandps xmm0, xmm0, xmmword [0x1800f2b50]
vmulss xmm1, xmm0, xmm15
vmovss xmm2, dword [0x1800ef4d4]
vsubss xmm0, xmm2, dword [rsi + 0x18]
vmulss xmm1, xmm1, xmm0
vaddss xmm6, xmm1, xmm6
jmp 0x18002a492
jbe 0x18002a497
vsubss xmm0, xmm7, xmm6
vandps xmm0, xmm0, xmmword [0x1800f2b50]
vmulss xmm1, xmm0, xmm15
vmovss xmm2, dword [0x1800ef4d4]
vsubss xmm0, xmm2, dword [rsi + 0x18]
vmulss xmm1, xmm1, xmm0
vsubss xmm6, xmm6, xmm1
vmovss dword [rax + 0x20], xmm6
xor ecx, ecx
call fcn.180033fe0
nop
test al, al
jne 0x18002a4b8
vucomiss xmm7, dword [rdi + 0x88]
je 0x18002a4f2
vmovss dword [rdi + 0x88], xmm6
jmp 0x18002a4f2
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18002c160
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rdi + 0x84], xmm0
vmovss dword [rdi + 0x88], xmm1
mov dword [rdi + 0x94], 0x7f7fffff
mov dword [rdi + 0x98], 0x7f7fffff
xor eax, eax
mov qword [rdi + 0x70], rax
mov rax, qword [rsi + 0x3c20]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rdi + 0x298]
call fcn.18004df80
mov rcx, qword [0x180291348]
mov rax, qword [rcx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov rbx, qword [rcx + 0x3ec8]
xor r9d, r9d
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 0x298]
call fcn.18004de40
mov rax, qword ds:[rbx + 0x298]
movsxd rcx, dword ds:[rax + 0x58]
add rcx, rcx
mov rax, qword [rax + 0x60]
vmovss xmm0, dword [rax + rcx*8 - 0xc]
vmovss xmm1, dword [rax + rcx*8 - 8]
vmovss xmm2, dword [rax + rcx*8 - 4]
mov eax, dword [rax + rcx*8 - 0x10]
mov dword [rbx + 0x238], eax
vmovss dword [rbx + 0x23c], xmm0
vmovss dword [rbx + 0x240], xmm1
vmovss dword [rbx + 0x244], xmm2
xor bl, bl
mov eax, r12d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x18002a679
cmp dword [rsp + 0x4c], 0x3000000
je 0x18002a679
movsxd rax, dword [r13 + 0x190]
cmp eax, 2
jl 0x18002a642
mov rcx, rax
mov rax, qword [r13 + 0x198]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x18002a642
vmovss xmm0, dword [rdx + 0x20]
vmovss dword [rbp - 0x78], xmm0
vmovss xmm1, dword [rdx + 0x24]
vmovss dword [rbp - 0x74], xmm1
vaddss xmm0, xmm0, dword [rdx + 0x28]
vmovss dword [rbp - 0x70], xmm0
vaddss xmm1, xmm1, dword [rdx + 0x2c]
vmovss dword [rbp - 0x6c], xmm1
vmovss xmm0, dword [rdi + 0x20]
vmovss dword [rbp + 0x30], xmm0
vmovss xmm1, dword [rdi + 0x24]
vmovss dword [rbp + 0x34], xmm1
vaddss xmm0, xmm0, dword [rdi + 0x28]
vmovss dword [rbp + 0x38], xmm0
vaddss xmm1, xmm1, dword [rdi + 0x2c]
vmovss dword [rbp + 0x3c], xmm1
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x78]
call fcn.18003a510
movzx r8d, al
jmp 0x18002a645
xor r8b, r8b
mov rdx, qword [rdi + 0x298]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], 0
jne 0x18002a679
mov rax, qword [r13 + 0x298]
cmp dword [rax + 0x20], 0
jle 0x18002a679
test r8b, r8b
jne 0x18002a679
mov bl, 1
mov qword [rdi + 0x298], rax
mov rax, qword [rsi + 0x4a10]
test rax, rax
jne 0x18002a68c
mov rax, qword [rsi + 0x48a8]
mov r14d, dword [rsp + 0x44]
test r14b, r14b
jne 0x18002a6b0
test rax, rax
je 0x18002a6ab
mov rax, qword [rax + 0x388]
cmp qword [rdi + 0x388], rax
je 0x18002a6b0
xor r8b, r8b
jmp 0x18002a6b3
mov r8b, 1
vmovss xmm0, dword [rsp + 0x50]
vmovss dword [rsp + 0x30], xmm0
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9b, 1
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.18003d220
nop dword [rax]
test bl, bl
je 0x18002a6f2
lea rax, [rdi + 0x2a0]
mov qword [rdi + 0x298], rax
mov r15d, dword [rsp + 0x48]
mov ecx, r15d
shr ecx, 3
not cl
and cl, 1
vmovss xmm6, dword [rdi + 0x48]
vucomiss xmm6, xmm9
je 0x18002a714
vmovaps xmm8, xmm6
jmp 0x18002a757
vmovss xmm0, dword ds:[rdi + 0x50]
vaddss xmm2, xmm0, xmm0
vmovss xmm1, dword [rdi + 0x28]
vsubss xmm3, xmm1, xmm2
vmovss xmm0, dword [rdi + 0x68]
vaddss xmm2, xmm0, dword [rdi + 0x60]
vsubss xmm1, xmm3, xmm2
mov eax, r15d
and eax, 0x808
cmp eax, 0x800
jne 0x18002a74e
vmovss xmm0, dword [rdi + 0x38]
jmp 0x18002a753
vmovaps xmm0, xmm9
vmaxss xmm8, xmm1, xmm0
vmovss xmm5, dword [rdi + 0x4c]
vucomiss xmm5, xmm9
je 0x18002a769
vmovaps xmm7, xmm5
jmp 0x18002a79d
vmovss xmm0, dword [rdi + 0x54]
vaddss xmm2, xmm0, xmm0
vmovss xmm1, dword [rdi + 0x2c]
vsubss xmm3, xmm1, xmm2
vmovss xmm0, dword [rdi + 0x6c]
vaddss xmm2, xmm0, dword [rdi + 0x64]
vsubss xmm1, xmm3, xmm2
test cl, cl
je 0x18002a794
vmovss xmm0, dword [rdi + 0x3c]
jmp 0x18002a799
vmovaps xmm0, xmm9
vmaxss xmm7, xmm1, xmm0
vmovss xmm3, dword [rdi + 0x5c]
vmovss xmm10, dword [rdi + 0x50]
vmovss xmm11, dword [rdi + 0x84]
vmovss xmm0, dword [rdi + 0x1f8]
vsubss xmm2, xmm0, xmm11
vmaxss xmm1, xmm10, xmm3
vaddss xmm2, xmm2, xmm1
vcvttss2si eax, xmm2
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, eax
vmovss dword [rdi + 0x218], xmm4
vmovss xmm9, dword [rdi + 0x54]
vmovss xmm12, dword [rdi + 0x88]
vmovss xmm0, dword [rdi + 0x1fc]
vsubss xmm2, xmm0, xmm12
vmaxss xmm1, xmm3, xmm9
vaddss xmm0, xmm2, xmm1
vcvttss2si eax, xmm0
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm3, xmm3, eax
vmovss dword [rdi + 0x21c], xmm3
vaddss xmm0, xmm8, xmm4
vmovss dword [rdi + 0x220], xmm0
vaddss xmm1, xmm3, xmm7
vmovss dword [rdi + 0x224], xmm1
vmovups xmm0, xmmword [rdi + 0x218]
vmovups xmmword [rdi + 0x228], xmm0
vmovss xmm8, dword [rdi + 0x20]
vmovss xmm4, dword [rdi + 0x60]
vsubss xmm0, xmm8, xmm11
vaddss xmm1, xmm0, xmm10
vaddss xmm3, xmm1, xmm4
vmovss dword [rdi + 0x248], xmm3
vmovss xmm13, dword [rdi + 0x24]
vmovss xmm7, dword [rdi + 0x64]
vsubss xmm0, xmm13, xmm12
vaddss xmm1, xmm0, xmm9
vaddss xmm14, xmm1, xmm7
vmovss dword [rdi + 0x24c], xmm14
vxorps xmm15, xmm15, xmm15
vucomiss xmm6, xmm15
jne 0x18002a89a
vaddss xmm1, xmm10, xmm10
vmovss xmm0, dword [rdi + 0x28]
vsubss xmm2, xmm0, xmm1
vaddss xmm1, xmm4, dword [rdi + 0x68]
vsubss xmm6, xmm2, xmm1
vaddss xmm0, xmm3, xmm6
vmovss dword [rdi + 0x250], xmm0
vucomiss xmm5, xmm15
jne 0x18002a8c4
vaddss xmm1, xmm9, xmm9
vmovss xmm0, dword [rdi + 0x2c]
vsubss xmm2, xmm0, xmm1
vaddss xmm1, xmm7, dword [rdi + 0x6c]
vsubss xmm5, xmm2, xmm1
vaddss xmm0, xmm14, xmm5
vmovss dword [rdi + 0x254], xmm0
vaddss xmm1, xmm4, xmm10
vsubss xmm2, xmm1, xmm11
vmovss dword [rdi + 0x144], xmm2
xor r12d, r12d
mov qword [rdi + 0x148], r12
vcvtss2sd xmm1, xmm10, xmm10
vcvtss2sd xmm0, xmm8, xmm8
vaddsd xmm2, xmm1, xmm0
vcvtss2sd xmm1, xmm11, xmm11
vsubsd xmm3, xmm2, xmm1
vcvtss2sd xmm0, xmm4, xmm4
vaddsd xmm6, xmm3, xmm0
vcvtss2sd xmm2, xmm9, xmm9
vcvtss2sd xmm1, xmm13, xmm13
vaddsd xmm3, xmm2, xmm1
vcvtss2sd xmm0, xmm12, xmm12
vsubsd xmm4, xmm3, xmm0
vcvtss2sd xmm1, xmm7, xmm7
vaddsd xmm5, xmm4, xmm1
vcvtsd2ss xmm0, xmm6, xmm6
vcvtsd2ss xmm2, xmm5, xmm5
vmovss dword [rdi + 0x110], xmm0
vmovss dword [rdi + 0x114], xmm2
vmovss xmm0, dword [rdi + 0x110]
vcvtss2sd xmm0, xmm0, xmm0
vsubsd xmm1, xmm6, xmm0
vcvtsd2ss xmm3, xmm1, xmm1
vinsertps xmm2, xmm2, xmm2, 0xe
vcvtss2sd xmm2, xmm2, xmm2
vsubsd xmm0, xmm5, xmm2
vcvtsd2ss xmm1, xmm0, xmm0
vmovss dword [rdi + 0x150], xmm3
vmovss dword [rdi + 0x154], xmm1
vmovss xmm2, dword [rdi + 0x110]
vmovss xmm0, dword [rdi + 0x114]
vmovss dword [rdi + 0x100], xmm2
vmovss dword [rdi + 0x104], xmm0
vmovss dword [rdi + 0x108], xmm2
vmovss dword [rdi + 0x10c], xmm0
vmovss dword [rdi + 0x118], xmm2
vmovss dword [rdi + 0x11c], xmm0
vmovss dword [rdi + 0x120], xmm2
vmovss dword [rdi + 0x124], xmm0
mov qword [rdi + 0x130], r12
mov qword [rdi + 0x128], r12
mov qword [rdi + 0x138], r12
mov word [rdi + 0x140], r12w
mov dword [rdi + 0x158], r12d
movzx eax, word [rdi + 0x15e]
mov word [rdi + 0x15c], ax
mov word [rdi + 0x15e], r12w
mov byte [rdi + 0x160], r12b
vxorps xmm12, xmm12, xmm12
vcomiss xmm12, dword [rdi + 0x90]
setb al
mov byte [rdi + 0x161], al
mov byte [rdi + 0x162], r12b
lea rcx, [rdi + 0x16c]
movzx r8d, byte [rsp + 0x40]
vmovss xmm1, dword [rsi + 0x3840]
call fcn.1800743a0
mov qword [rdi + 0x188], r12
mov ecx, dword [rdi + 0x194]
test ecx, ecx
jns 0x18002aa73
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r12d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x190]
call fcn.1800449a0
mov dword [rdi + 0x190], r12d
lea rax, [rdi + 0x270]
mov qword [rdi + 0x1a0], rax
mov qword [rdi + 0x1a8], r12
mov eax, 1
mov dword [rdi + 0x1b4], eax
test r13, r13
je 0x18002aaa6
mov eax, dword [r13 + 0x1b4]
mov dword [rdi + 0x1b8], eax
mov eax, dword [rdi + 0x268]
mov dword [rdi + 0x1bc], eax
mov dword [rdi + 0x1c0], 0xbf800000
mov ecx, dword [rdi + 0x1cc]
test ecx, ecx
jns 0x18002aae9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r12d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x1c8]
call fcn.1800448e0
mov dword [rdi + 0x1c8], r12d
mov ecx, dword [rdi + 0x1dc]
test ecx, ecx
jns 0x18002ab17
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r12d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x1d8]
call fcn.1800448e0
mov dword [rdi + 0x1d8], r12d
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x18002ab31
dec al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x18002ab44
dec al
mov byte [rdi + 0xd1], al
test r14b, r14b
je 0x18002ab5b
mov rcx, rdi
call fcn.180030360
xor edx, edx
mov rcx, rdi
call fcn.1800354c0
nop dword [rax + rax]
test r15b, 1
jne 0x18002abab
vmovss xmm3, dword [rdi + 0x5c]
vaddss xmm1, xmm3, dword [rbp - 0x40]
vmovss dword [rbp + 0x30], xmm1
vmovss xmm2, dword [rbp - 0x3c]
vmovss dword [rbp + 0x34], xmm2
vmovss xmm0, dword [rbp - 0x38]
vsubss xmm1, xmm0, xmm3
vmovss dword [rbp + 0x38], xmm1
vmovss xmm2, dword [rbp - 0x34]
vmovss dword [rbp + 0x3c], xmm2
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.18003dbe0
mov dword [rdi + 0x258], r12d
mov rdx, qword [0x180291348]
vmovss xmm1, dword [rdx + 0x3858]
vaddss xmm6, xmm1, dword [rbp - 0x38]
vmovss xmm2, dword [rdx + 0x385c]
vaddss xmm7, xmm2, dword [rbp - 0x34]
vmovss xmm0, dword [rbp - 0x40]
vsubss xmm3, xmm0, xmm1
vmovss xmm1, dword [rbp - 0x3c]
vsubss xmm5, xmm1, xmm2
vmovss xmm4, dword [rdx + 0xe08]
vcomiss xmm4, xmm3
jb 0x18002ac14
vmovss xmm0, dword ds:[rdx + 0xe0c]
vcomiss xmm0, xmm5
jb 0x18002ac14
vcomiss xmm4, xmm6
jae 0x18002ac14
vcomiss xmm0, xmm7
mov r8d, 1
jb 0x18002ac17
mov r8d, r12d
mov ecx, dword [rsi + 0x4748]
mov eax, dword [rdi + 0x7c]
mov dword [rdx + 0x4764], eax
mov dword [rdx + 0x4768], ecx
mov dword [rdx + 0x476c], r8d
vbroadcastf128 ymm0, xmmword [rbp - 0x40]
vmovups ymmword [rdx + 0x4770], ymm0
mov eax, dword [rsi + 0x474c]
test eax, eax
je 0x18002ace2
cmp dword [rdi + 0x10], eax
je 0x18002ac5d
cmp dword [rdi + 0x7c], eax
jne 0x18002ace2
vzeroupper
call fcn.18002de20
jmp 0x18002ace2
mov rcx, qword [0x180291348]
mov qword ds:[rcx + 0x3ec8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp eax, 0xffffffff
je 0x18002ac98
imul rdx, rax, 0x238
add rdx, qword [rcx + 0x4b30]
xor r12d, r12d
jmp 0x18002ac9e
xor r12d, r12d
mov edx, r12d
mov qword ds:[rcx + 0x4b08], rdx
mov rax, qword [rdi]
vmovss xmm0, dword [rax + 0x3c2c]
vmulss xmm1, xmm0, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x18002accd
vmulss xmm1, xmm1, dword [rax + 0x290]
vmovss dword [rcx + 0x3c40], xmm1
vmovss dword [rcx + 0x3c28], xmm1
mov r13, qword [rsp + 0x60]
lea rdx, [rdi + 0x210]
lea rcx, [rdi + 0x208]
mov r8b, 1
vzeroupper
call fcn.18003ab10
mov byte [rdi + 0xb8], 0
inc word [rdi + 0xc2]
mov dword [rsi + 0x47a0], r12d
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x68]
je 0x18002ae96
bt r15d, 0x18
jae 0x18002adfb
test r15b, 0x40
jne 0x18002adbd
cmp byte ds:[rdi + 0xd0], 0
jg 0x18002adbd
cmp byte [rdi + 0xd1], 0
jg 0x18002adbd
bt r15d, 0x17
jae 0x18002ad83
cmp byte [rsi + 0x48e8], 0
je 0x18002ad83
mov rcx, qword [rsi + 0x48a8]
test rcx, rcx
je 0x18002ad83
mov rax, qword [rdi + 0x390]
cmp qword [rcx + 0x390], rax
jne 0x18002ad83
mov al, 1
jmp 0x18002ad85
xor al, al
cmp byte [rsi + 0x5c50], 0
jne 0x18002adbd
test al, al
jne 0x18002adbd
vmovss xmm0, dword [rdi + 0x1f0]
vcomiss xmm0, dword [rdi + 0x1e8]
jbe 0x18002adb6
vmovss xmm0, dword [rdi + 0x1f4]
vcomiss xmm0, dword [rdi + 0x1ec]
ja 0x18002adbd
mov byte [rdi + 0xd8], 1
nop dword [rax]
test r13, r13
je 0x18002adfb
cmp byte [r13 + 0xb9], 0
jne 0x18002add9
cmp byte [r13 + 0xd8], 0
jle 0x18002ade0
mov byte [rdi + 0xd8], 1
cmp byte [r13 + 0xb9], 0
jne 0x18002adf4
cmp byte [r13 + 0xd9], 0
jle 0x18002adfb
mov byte [rdi + 0xd9], 1
vcomiss xmm12, dword [rsi + 0x37f4]
jb 0x18002ae0c
mov byte [rdi + 0xd8], 1
cmp byte [rdi + 0xd8], 0
jg 0x18002ae2c
cmp byte [rdi + 0xd9], 0
jg 0x18002ae2c
xor cl, cl
cmp byte [rdi + 0xda], cl
jg 0x18002ae2e
xor al, al
jmp 0x18002ae30
mov cl, 1
mov al, 1
mov byte ds:[rdi + 0xbd], al
movzx eax, byte [rdi + 0xdb]
test al, al
jle 0x18002ae53
dec al
mov byte [rdi + 0xdb], al
or dword [rdi + 0x14], 0xc0200
xor al, al
cmp byte [rdi + 0xb9], al
jne 0x18002ae6c
nop dword [rax]
cmp byte [rdi + 0xb6], al
je 0x18002ae6c
test cl, cl
je 0x18002ae90
cmp byte [rdi + 0xd0], al
jg 0x18002ae90
cmp byte [rdi + 0xd1], al
jg 0x18002ae90
movzx eax, al
cmp byte [rdi + 0xd9], 0
mov r8d, 1
cmovle eax, r8d
mov byte [rdi + 0xbb], al
cmp byte [rdi + 0xbe], 0
jne 0x18002aef2
cmp byte [rsi + 0x84], 0
je 0x18002aeb0
cmp qword [rsp + 0x70], 0
je 0x18002aec8
cmp byte [rsi + 0x85], 0
je 0x18002aef2
movsx eax, byte [rsi + 0x5cc2]
cmp eax, dword [rsi + 0x3e98]
jne 0x18002aef2
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x18002aedb
inc al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x18002aeee
inc al
mov byte [rdi + 0xd1], al
xor al, al
jmp 0x18002aefc
cmp byte [rdi + 0xbb], 0
sete al
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.180080a90
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x58]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18000fc80
int3
lea rcx, [0x180291378]
call fcn.180080450
cmp dword [0x180291378], 0xffffffff
nop
jne 0x18002a2f4
mov ecx, 0x28
call fcn.1800805c4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180291368], rax
lea rcx, [0x1800ec060]
call fcn.180080960
nop
lea rcx, [0x180291378]
call fcn.1800803e4
jmp 0x18002a2f4