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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push r14
lea rbp, [rax - 0x148]
sub rsp, 0x230
mov r14, qword [0x18032e308]
mov qword [rax - 0x20], rbx
mov ebx, r8d
mov qword [rax - 0x28], rdi
mov r8d, 0xffffffff
mov qword [rax - 0x30], r12
mov r12, rcx
mov qword [rax - 0x38], r13
mov ecx, r8d
mov qword [rax - 0x40], r15
vmovaps xmmword [rax - 0xb8], xmm12
movzx r10d, byte [r12]
lea r9, [r12 + 1]
test r10b, r10b
je 0x180024d95
lea r11, [0x1800d1360]
cmp r10b, 0x23
jne 0x180024d78
cmp byte [r9], r10b
jne 0x180024d78
cmp byte [r9 + 1], r10b
cmove ecx, r8d
movzx edx, cl
movzx eax, r10b
movzx r10d, byte [r9]
xor rdx, rax
shr ecx, 8
inc r9
xor ecx, dword [r11 + rdx*4]
test r10b, r10b
jne 0x180024d65
not ecx
call fcn.180022350
test rax, rax
mov qword [rsp + 0x78], rax
mov rsi, rax
mov qword [rbp - 0x68], rax
sete byte [rsp + 0x54]
mov qword [rbp + 0x158], rax
mov rdi, rax
mov r9, rax
mov rcx, rax
mov r15, rax
mov r10, rax
mov rdx, rax
mov r13, rax
mov r11, rax
mov r8, rax
test rax, rax
jne 0x180024e0a
mov edx, ebx
mov rcx, r12
call fcn.180022550
mov rsi, rax
mov qword [rbp - 0x68], rax
mov rdi, rax
mov qword [rbp + 0x158], rax
mov r9, rax
mov rcx, rax
mov r15, rax
mov r10, rax
mov rdx, rax
mov r13, rax
mov r11, rax
mov r8, rax
mov eax, ebx
mov r12d, ebx
and eax, 0x30200
or r12d, 6
cmp eax, 0x30200
mov eax, dword [rdi + 0x270]
mov dword [rsp + 0x4c], eax
cmovne r12d, ebx
cmp dword [r14 + 0x3fd8], 0
mov ebx, dword [r14 + 0x3f60]
mov dword [rsp + 0x58], ebx
jne 0x180024e5b
cmp byte [r14 + 0x3f6d], 0
mov rcx, r15
mov r8, qword [rbp + 0x158]
mov rdx, r13
je 0x180024e5b
mov al, 1
jmp 0x180024e66
xor al, al
mov r9, rcx
mov r10, rdx
mov r11, r8
mov byte [r9 + 0xc6], al
lea eax, [rbx - 1]
cmp dword [rdi + 0x270], eax
setl dl
mov byte [rsp + 0x40], dl
bt r12d, 0x1a
jae 0x180024eb1
movsxd rax, dword [r14 + 0x4ab0]
imul rax, rax, 0x38
add rax, qword [r14 + 0x4aa8]
cmp r10, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [r11 + 0xd8], eax
setne al
or cl, al
or dl, cl
mov byte [rsp + 0x40], dl
mov byte [rsi + 0xc4], dl
test dl, dl
je 0x180024ed0
or byte [rsi + 0xe8], 8
or byte [rsi + 0xe9], 8
or byte [rsi + 0xea], 8
mov edx, dword [rsp + 0x4c]
xor r8d, r8d
cmp edx, ebx
je 0x180025069
mov rbx, qword [0x18032e308]
mov qword [rbp + 0x158], rsi
bt r12d, 0x18
jae 0x180024f08
mov eax, r12d
and eax, 0x14000000
cmp eax, 0x4000000
je 0x180024f08
mov r15b, 1
jmp 0x180024f0b
xor r15b, r15b
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rsi + 0xc7]
test rcx, rcx
je 0x180024f25
cmp r15b, al
je 0x180025003
test r15b, r15b
jne 0x180024f53
lea rdx, [rbp + 0x158]
lea rcx, [rbx + 0x3fb8]
call fcn.180032290
movzx eax, word [rbx + 0x3fb8]
dec ax
mov word [rsi + 0xd4], ax
jmp 0x180024ffc
test rcx, rcx
je 0x180025003
cmp r15b, al
je 0x180025003
test r15b, r15b
je 0x180025003
movsx edx, word [rsi + 0xd4]
mov r9d, dword [rbx + 0x3fb8]
inc edx
cmp edx, r9d
jge 0x180024fb5
movsxd rax, edx
lea r8, [rax*8]
nop
mov rax, qword [rbx + 0x3fc0]
lea r8, [r8 + 8]
inc edx
mov rcx, qword [r8 + rax - 8]
dec word [rcx + 0xd4]
mov r9d, dword [rbx + 0x3fb8]
cmp edx, r9d
jl 0x180024f90
mov rax, qword [rbx + 0x3fc0]
movsx rdx, word [rsi + 0xd4]
shl rdx, 3
sub rdx, rax
movsxd r8, r9d
add rdx, rax
sar rdx, 3
sub r8, rdx
lea rcx, [rax + rdx*8]
lea r8, [r8*8 - 8]
lea rdx, [rcx + 8]
call fcn.180071210
dec dword [rbx + 0x3fb8]
mov word [rsi + 0xd4], 0xffff
mov edx, dword [rsp + 0x4c]
xor r8d, r8d
mov byte [rsi + 0xc7], r15b
mov dword [rsi + 0x14], r12d
test dword [r14 + 0x49c8], 0x100
je 0x180025024
mov eax, dword [r14 + 0x4a00]
jmp 0x180025027
mov eax, r8d
mov ebx, dword [rsp + 0x58]
mov dword [rsi + 0x18], eax
mov dword [rdi + 0x270], ebx
vmovsd xmm0, qword [r14 + 0x3f58]
vcvtpd2ps xmm0, xmm0
vmovss dword [rsi + 0x274], xmm0
mov word [rsi + 0xd0], r8w
movzx eax, word [r14 + 0x3ff8]
inc dword [r14 + 0x3ff8]
mov word [rsi + 0xd2], ax
jmp 0x18002506d
mov r12d, dword [rsi + 0x14]
movsxd rax, dword [r14 + 0x3fd8]
test eax, eax
jne 0x18002507d
mov r15, r8
jmp 0x18002508d
imul rcx, rax, 0x68
mov rax, qword [r14 + 0x3fe0]
mov r15, qword [rcx + rax - 0x68]
cmp edx, ebx
je 0x1800250a1
test r12d, 0x5000000
mov rax, r8
cmovne rax, r15
jmp 0x1800250a8
mov rax, qword [rsi + 0x378]
cmp dword [rsi + 0x100], 0
mov qword [rsp + 0x70], rax
jne 0x1800250c6
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x100]
call fcn.180032530
mov eax, dword [r14 + 0x49c0]
vmovups ymm1, ymmword [r14 + 0x4998]
mov dword [rbp + 0x30], eax
mov qword [r14 + 0x4008], rsi
movzx eax, word [rsi + 0x100]
mov ecx, dword [r14 + 0x3fdc]
mov ebx, dword [r14 + 0x3fd8]
mov qword [rbp - 0x20], rsi
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x34], xmm0
mov word [rbp + 0x34], ax
movzx eax, word [r14 + 0x4a40]
mov word [rbp + 0x36], ax
movzx eax, word [r14 + 0x4a50]
mov word [rbp + 0x38], ax
movzx eax, word [r14 + 0x4a60]
mov word [rbp + 0x3a], ax
movzx eax, word [r14 + 0x4a70]
mov word [rbp + 0x3c], ax
movzx eax, word [r14 + 0x4a90]
mov word [rbp + 0x3e], ax
movzx eax, word [r14 + 0x4a80]
mov word [rbp + 0x40], ax
movzx eax, word [r14 + 0x4ab0]
mov word [rbp + 0x42], ax
movzx eax, word [r14 + 0x5e54]
mov word [rbp + 0x44], ax
vmovups ymm0, ymmword [r14 + 0x4978]
vmovups ymmword [rbp - 0x18], ymm0
vmovsd xmm0, qword [r14 + 0x49b8]
vmovups ymmword [rbp + 8], ymm1
vmovsd qword [rbp + 0x28], xmm0
cmp ebx, ecx
jne 0x1800251f5
inc ebx
test ecx, ecx
je 0x18002519c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800251a1
mov eax, 8
cmp eax, ebx
cmovg ebx, eax
cmp ebx, ecx
jle 0x1800251f5
movsxd rax, ebx
imul rcx, rax, 0x68
vzeroupper
call fcn.18001ede0
mov rdx, qword [r14 + 0x3fe0]
mov rdi, rax
test rdx, rdx
je 0x1800251e7
movsxd rcx, dword [r14 + 0x3fd8]
imul r8, rcx, 0x68
mov rcx, rax
call fcn.180071210
mov rcx, qword [r14 + 0x3fe0]
call fcn.18001ee80
mov qword [r14 + 0x3fe0], rdi
mov dword [r14 + 0x3fdc], ebx
movsxd rax, dword [r14 + 0x3fd8]
vmovups ymm0, ymmword [rbp - 0x20]
vmovups ymm1, ymmword [rbp]
imul rcx, rax, 0x68
mov rax, qword [r14 + 0x3fe0]
vmovups ymmword [rcx + rax], ymm0
vmovups ymm0, ymmword [rbp + 0x20]
vmovups ymmword [rcx + rax + 0x20], ymm1
vmovsd xmm1, qword [rbp + 0x40]
vmovups ymmword [rcx + rax + 0x40], ymm0
vmovsd qword [rcx + rax + 0x60], xmm1
inc dword [r14 + 0x3fd8]
mov eax, r12d
and eax, 0x10000000
mov dword [rbp - 0x50], eax
je 0x18002524d
inc dword [r14 + 0x4ad0]
mov eax, dword [rsp + 0x4c]
cmp eax, dword [rsp + 0x58]
je 0x180025311
mov rcx, qword [rsp + 0x70]
mov qword [rsi + 0x378], rcx
mov qword [rsi + 0x3a0], rsi
mov qword [rsi + 0x398], rsi
mov qword [rsi + 0x390], rsi
mov qword [rsi + 0x388], rsi
test rcx, rcx
je 0x1800252d8
mov eax, r12d
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x1800252a5
mov rax, qword [rcx + 0x388]
mov qword [rsi + 0x388], rax
bt r12d, 0x1a
jae 0x1800252ba
mov rax, qword [rcx + 0x390]
mov qword [rsi + 0x390], rax
bt r12d, 0x1b
jb 0x1800252d8
test r12d, 0x5000000
je 0x1800252d8
mov rax, qword [rcx + 0x398]
mov qword [rsi + 0x398], rax
test dword [rsi + 0x14], 0x800000
je 0x18002530a
mov rcx, rsi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx + 0x378]
mov qword [rsi + 0x3a0], rax
mov rcx, rax
test dword [rax + 0x14], 0x800000
jne 0x1800252f0
mov qword [rsi + 0x380], r15
mov rbx, qword [0x18032e308]
lea rdx, [rbp + 0x160]
mov edi, dword [rsi + 0x10]
mov dword [rbp + 0x160], edi
lea rcx, [rbx + 0x4a70]
vzeroupper
call fcn.180032530
mov dword [rbx + 0x494c], edi
xor edi, edi
mov eax, dword [r14 + 0x494c]
mov dword [rsi + 0x3e8], eax
mov eax, r12d
and eax, 0x4000000
mov qword [r14 + 0x4008], rdi
mov dword [rsp + 0x50], eax
je 0x180025394
lea rcx, [r14 + 0x4ab0]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x4aa8]
mov rdx, rbx
mov qword [rbx + 8], rsi
mov eax, dword [r15 + 0x168]
mov dword [rbx + 0x18], eax
call fcn.180031f00
mov eax, dword [rbx]
mov dword [rsi + 0xd8], eax
test byte [r14 + 0x49c8], 1
mov byte [rbp + 0x158], dil
mov byte [rbp + 0x168], dil
mov byte [rbp + 0x160], dil
je 0x18002544f
movsx eax, byte [rsi + 0xe8]
mov r8d, dword [r14 + 0x49cc]
test r8d, eax
setne byte [rbp + 0x158]
test r8d, eax
je 0x180025440
vmovss xmm0, dword [r14 + 0x49e4]
vmovss xmm1, dword [r14 + 0x49e0]
vmulss xmm2, xmm0, xmm0
vmulss xmm0, xmm1, xmm1
vaddss xmm3, xmm2, xmm0
vcomiss xmm3, dword [0x1800d8424]
jbe 0x180025440
vmovsd xmm0, qword [r14 + 0x49d8]
vmovsd qword [rsi + 0xec], xmm0
vmovsd xmm1, qword [r14 + 0x49e0]
vmovsd qword [rsi + 0xf4], xmm1
movzx ecx, byte [rsi + 0xe8]
mov eax, dword [rsi + 0xe8]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rsi + 0xe8], ecx
jmp 0x18002544f
lea rdx, [r14 + 0x49d8]
mov rcx, rsi
call fcn.180027a40
test byte [r14 + 0x49c8], 2
vxorps xmm12, xmm12, xmm12
je 0x18002550b
movsx r8d, byte [rsi + 0xe9]
mov r9d, dword [r14 + 0x49d0]
mov ecx, r8d
and ecx, r9d
je 0x180025494
lea rdx, [r14 + 0x49e8]
vmovss xmm0, dword [rdx]
vcomiss xmm0, xmm12
jbe 0x180025494
mov byte [rbp + 0x168], 1
jmp 0x1800254a7
xor al, al
lea rdx, [r14 + 0x49e8]
mov byte [rbp + 0x168], al
test ecx, ecx
je 0x1800254c2
lea rcx, [r14 + 0x49ec]
vmovss xmm0, dword [rcx]
vcomiss xmm0, xmm12
jbe 0x1800254cf
mov byte [rbp + 0x160], 1
jmp 0x1800254d6
lea rcx, [r14 + 0x49ec]
mov byte [rbp + 0x168], al
mov byte [rbp + 0x160], dil
test byte [rsi + 0x18], 4
je 0x1800254ec
test r8b, 4
jne 0x1800254ec
mov eax, dword [rsi + 0x38]
mov dword [r14 + 0x49e8], eax
test byte [rsi + 0x18], 8
je 0x180025500
test byte [rsi + 0xe9], 4
jne 0x180025500
mov eax, dword [rsi + 0x3c]
mov dword [rcx], eax
mov r8d, r9d
mov rcx, rsi
call fcn.180027ba0
test byte [r14 + 0x49c8], 0x80
je 0x180025551
vmovss xmm0, dword [r14 + 0x49f8]
vcomiss xmm0, xmm12
jb 0x180025533
vmovss dword [rsi + 0x9c], xmm0
mov dword [rsi + 0xa4], edi
vmovss xmm0, dword [r14 + 0x49fc]
vcomiss xmm0, xmm12
jb 0x180025551
vmovss dword [rsi + 0xa0], xmm0
mov dword [rsi + 0xa8], edi
test byte [r14 + 0x49c8], 4
mov r15d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x4c]
je 0x180025574
vmovsd xmm0, qword [r14 + 0x49f0]
vmovsd qword [rsi + 0x50], xmm0
jmp 0x18002557d
cmp ebx, r15d
je 0x18002557d
mov qword [rsi + 0x50], rdi
test byte [r14 + 0x49c8], 8
je 0x1800255ce
mov ecx, dword [r14 + 0x49d4]
movzx edx, byte [r14 + 0x4a04]
test ecx, ecx
je 0x1800255a5
movsx eax, byte [rsi + 0xea]
test ecx, eax
je 0x1800255ce
movzx ecx, byte [rsi + 0xea]
mov eax, dword [rsi + 0xe8]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [rsi + 0xc1], dl
mov dword [rsi + 0xe8], ecx
test byte [r14 + 0x49c8], 0x20
je 0x1800255e2
xor edx, edx
mov rcx, rsi
call fcn.180027500
cmp byte [rsi + 0xc4], dil
je 0x180025600
and byte [rsi + 0xe8], 0xf7
and byte [rsi + 0xe9], 0xf7
and byte [rsi + 0xea], 0xf7
mov ecx, 1
cmp ebx, r15d
je 0x180026ffc
vmovaps xmmword [rsp + 0x1f0], xmm6
mov eax, r12d
vmovaps xmmword [rsp + 0x1e0], xmm7
and eax, 0x3000000
vmovaps xmmword [rsp + 0x1d0], xmm8
mov edx, ecx
vmovaps xmmword [rsp + 0x1c0], xmm9
vmovaps xmmword [rsp + 0x1b0], xmm10
vmovaps xmmword [rsp + 0x1a0], xmm11
vmovaps xmmword [rsp + 0x180], xmm13
vmovaps xmmword [rsp + 0x170], xmm14
vmovaps xmmword [rsp + 0x160], xmm15
mov dword [rsp + 0x44], eax
movzx eax, byte [rsi + 0xe5]
mov byte [rsi + 0xbe], cl
lea rcx, [rsi + 0x100]
mov byte [rsi + 0xc8], dil
mov dword [rsi + 0x248], 0xff7fffff
mov dword [rsi + 0x24c], 0xff7fffff
mov dword [rsi + 0x250], 0x7f7fffff
mov dword [rsi + 0x254], 0x7f7fffff
mov byte [rsp + 0x48], al
call fcn.180032670
mov rcx, qword [rsi + 0x2a8]
call fcn.18003a7a0
mov dword [rsi + 0x1c0], 0xffffffff
cmp byte [rsi + 0x3f4], dil
je 0x180025788
mov byte [rsi + 0x3f4], dil
mov rbx, qword [rsi + 0x2a8]
movsxd rdi, dword [rsi + 0x3ec]
cmp edi, dword [rbx + 0x14]
jle 0x18002572c
mov rcx, rdi
add rcx, rcx
call fcn.18001ede0
mov rdx, qword [rbx + 0x18]
mov r15, rax
test rdx, rdx
je 0x180025725
movsxd r8, dword [rbx + 0x10]
mov rcx, rax
add r8, r8
call fcn.180071210
mov rcx, qword [rbx + 0x18]
call fcn.18001ee80
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x14], edi
mov rbx, qword [rsi + 0x2a8]
movsxd rdi, dword [rsi + 0x3f0]
cmp edi, dword [rbx + 0x24]
jle 0x18002577c
lea rcx, [rdi + rdi*4]
shl rcx, 2
call fcn.18001ede0
mov rdx, qword [rbx + 0x28]
mov r15, rax
test rdx, rdx
je 0x180025775
movsxd rcx, dword [rbx + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call fcn.180071210
mov rcx, qword [rbx + 0x28]
call fcn.18001ee80
mov qword [rbx + 0x28], r15
mov dword [rbx + 0x24], edi
xor r13d, r13d
mov qword [rsi + 0x3ec], r13
jmp 0x18002578b
xor r13d, r13d
cmp qword [r14 + 0x4cd8], 0
mov r9, qword [rsp + 0x78]
je 0x1800258bd
test dword [rsi + 0x14], 0x20000
jne 0x1800258bd
test r9, r9
je 0x1800258bd
mov r15, qword [rbp + 0x150]
mov r9, qword [rsi + 8]
mov rax, r15
mov r8, r9
sub r8, r15
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800257e3
inc rax
test ecx, ecx
jne 0x1800257d0
test edx, edx
je 0x1800258b8
movsxd rdi, dword [rsi + 0x80]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r15 + rbx], 0
jne 0x180025800
inc rbx
cmp rdi, rbx
jae 0x1800258a0
test r9, r9
je 0x18002588a
mov r8, qword [0x18032e308]
test r8, r8
je 0x18002588a
movsx rdx, word [r8 + 0x6078]
lea rcx, [r8 + 0x607c]
mov r10d, dword [r8 + 0x3f60]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r10d
je 0x18002587f
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x6078], cx
movsx rax, cx
lea rcx, [r8 + 0x607c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r10d
mov dword [rcx + 4], 0
inc word [rcx + 6]
inc dword [r8 + 0x6074]
mov rcx, r9
call fcn.1800762b4
mov rcx, rbx
call fcn.18001ede0
mov r9, rax
mov rdi, rbx
mov r8, rbx
mov rdx, r15
mov rcx, r9
call fcn.180071210
mov qword [rsi + 8], rax
mov dword [rsi + 0x80], edi
mov r9, qword [rsp + 0x78]
lea rdx, [rsi + 0x40]
mov rcx, rsi
lea r8, [rsi + 0x48]
call fcn.180022ad0
movzx eax, byte [rsi + 0xe4]
test al, al
jle 0x1800258e0
dec al
mov byte [rsi + 0xe4], al
movzx eax, byte [rsi + 0xe5]
test al, al
jle 0x1800258f3
dec al
mov byte [rsi + 0xe5], al
movzx eax, byte [rsi + 0xe6]
test al, al
jle 0x180025906
dec al
mov byte [rsi + 0xe6], al
movzx edi, byte [rbp + 0x168]
movzx eax, byte [rbp + 0x160]
test r9, r9
jne 0x180025929
test dil, dil
je 0x180025922
test al, al
jne 0x180025929
mov byte [rsi + 0xe5], 1
cmp byte [rsp + 0x40], 0
je 0x18002596e
test r12d, 0x6000000
je 0x18002596e
mov byte [rsi + 0xe5], 1
test r12b, 0x40
je 0x18002596e
test dil, dil
jne 0x180025953
mov dword [rsi + 0x38], r13d
mov dword [rsi + 0x30], r13d
test al, al
jne 0x18002595f
mov dword [rsi + 0x3c], r13d
mov dword [rsi + 0x34], r13d
mov qword [rsi + 0x48], 0
mov qword [rdx], 0
mov r10, qword [0x18032e308]
mov rax, qword [r10 + 0x4ae0]
mov r15, qword [rax]
mov qword [rsi + 0x20], r15
mov qword [r10 + 0x4008], rsi
movsxd rax, dword [rsi + 0x1c0]
cmp eax, 0xffffffff
je 0x1800259a6
imul rcx, rax, 0x250
add rcx, qword [r10 + 0x4df0]
jmp 0x1800259a9
mov rcx, r13
mov qword [r10 + 0x4dc8], rcx
mov rax, qword [rsi]
vmovss xmm0, dword [rax + 0x3d44]
mov rax, qword [rsi + 0x378]
vmulss xmm1, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x1800259d7
vmulss xmm1, xmm1, dword [rax + 0x2a0]
vmovss dword [r10 + 0x3d58], xmm1
vmovss dword [r10 + 0x3d40], xmm1
test rcx, rcx
jne 0x1800259fb
cmp qword [rsi + 0x1b8], rcx
jne 0x1800259fb
mov al, 1
jmp 0x1800259fd
xor al, al
mov r13d, r12d
mov byte [rsi + 0x170], al
and r13d, 0x1000000
je 0x180025a1b
mov eax, dword [r14 + 0x3920]
mov dword [rsi + 0x64], eax
jmp 0x180025a44
test r12d, 0x6000000
je 0x180025a36
bt r12d, 0x1b
jb 0x180025a36
vmovss xmm0, dword [r14 + 0x3928]
jmp 0x180025a3f
vmovss xmm0, dword [r14 + 0x3904]
vmovss dword [rsi + 0x64], xmm0
vmovsd xmm0, qword [r14 + 0x38f8]
mov eax, r12d
and eax, 0x5000000
mov dword [rbp + 0x168], eax
vmovsd qword [rsi + 0x58], xmm0
cmp eax, 0x1000000
jne 0x180025a9e
test byte [rsi + 0x18], 2
jne 0x180025a9e
vmovss xmm0, dword [rsi + 0x64]
vucomiss xmm0, xmm12
jp 0x180025a9e
jne 0x180025a9e
bt r12d, 0xa
jae 0x180025a8d
vmovss xmm0, dword [r14 + 0x38fc]
jmp 0x180025a92
vmovaps xmm0, xmm12
mov dword [rsi + 0x58], 0
vmovss dword [rsi + 0x5c], xmm0
movzx ebx, byte [rsp + 0x54]
vmovss xmm0, dword [rsi + 0x58]
vmaxss xmm1, xmm0, dword [r14 + 0x393c]
vmaxss xmm2, xmm1, dword [r14 + 0x4a2c]
vmovss dword [rsi + 0x174], xmm2
mov eax, dword [r14 + 0x4a30]
mov dword [rsi + 0x178], eax
test r12b, 0x21
jne 0x180025bd4
test byte [rsi + 0x14], 1
mov rcx, qword [rsi]
je 0x180025ae9
vmovaps xmm1, xmm12
jmp 0x180025b1d
mov rax, qword [rsi + 0x378]
vmovss xmm0, dword [rcx + 0x3d44]
vmulss xmm2, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x180025b0d
vmulss xmm2, xmm2, dword [rax + 0x2a0]
vmovss xmm0, dword [rcx + 0x3930]
vaddss xmm1, xmm0, xmm0
vaddss xmm1, xmm1, xmm2
vmovss xmm0, dword [rsi + 0x28]
vaddss xmm2, xmm0, dword [rsi + 0x38]
vaddss xmm1, xmm1, dword [rsi + 0x2c]
vmovss dword [rsp + 0x60], xmm0
vmovss xmm0, dword [rsi + 0x2c]
vmovss dword [rsp + 0x64], xmm0
vmovss dword [rsp + 0x68], xmm2
vmovss dword [rsp + 0x6c], xmm1
cmp qword [r14 + 0x4010], rsi
jne 0x180025b8e
cmp dword [r14 + 0x4058], 0
jne 0x180025b8e
cmp dword [r14 + 0x405c], 0
jne 0x180025b8e
mov r8b, 1
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x60]
call fcn.180028800
test al, al
je 0x180025b8e
cmp word [r14 + 0x3872], 2
jne 0x180025b8e
mov byte [rsi + 0xc2], r8b
cmp byte [rsi + 0xc2], 0
je 0x180025bdb
movzx ecx, byte [rsi + 0xc1]
test cl, cl
sete al
test cl, cl
mov byte [rsi + 0xc1], al
mov eax, 1
cmovne ebx, eax
test dword [rsi + 0x14], 0x100
jne 0x180025bdb
vcomiss xmm12, dword [r10 + 0x5f0c]
jb 0x180025bdb
mov eax, dword [r10 + 0x1c]
mov dword [r10 + 0x5f0c], eax
jmp 0x180025bdb
mov byte [rsi + 0xc1], 0
mov byte [rsi + 0xc2], 0
xor ecx, ecx
vmovss xmm13, dword [rsi + 0xb4]
vmovss xmm14, dword [rsi + 0xb8]
mov rdx, qword [rsi]
mov dword [rsi + 0x68], ecx
mov dword [rsi + 0x70], ecx
mov r8d, dword [rsi + 0x14]
test r8b, 1
je 0x180025c0e
vmovaps xmm4, xmm12
jmp 0x180025c44
mov rcx, qword [rsi + 0x378]
vmovss xmm0, dword [rsi + 0x2a0]
vmulss xmm2, xmm0, dword [rdx + 0x3d44]
test rcx, rcx
je 0x180025c32
vmulss xmm2, xmm2, dword [rcx + 0x2a0]
vmovss xmm0, dword [rdx + 0x3930]
vaddss xmm1, xmm0, xmm0
vaddss xmm4, xmm1, xmm2
xor ecx, ecx
bt r8d, 0xa
jae 0x180025c89
mov rax, qword [rsi + 0x378]
vmovss xmm0, dword [rsi + 0x2a0]
vmulss xmm1, xmm0, dword [rdx + 0x3d44]
test rax, rax
je 0x180025c6f
vmulss xmm1, xmm1, dword [rax + 0x2a0]
vmovss xmm0, dword [rdx + 0x3930]
vaddss xmm1, xmm1, dword [rsi + 0x178]
vaddss xmm2, xmm0, xmm0
vaddss xmm3, xmm2, xmm1
jmp 0x180025c8e
vmovaps xmm3, xmm12
vaddss xmm0, xmm3, xmm4
vmovss dword [rsi + 0x6c], xmm0
mov dword [rsi + 0x74], ecx
lea r8, [rsi + 0x48]
lea rcx, [rbp - 0x80]
mov qword [rsi + 0xb4], 0
mov rdx, rsi
call fcn.180022bf0
test r12b, 0x40
je 0x180025cf6
cmp byte [rsi + 0xc1], 0
jne 0x180025cf6
test dil, dil
jne 0x180025cd8
vmovss xmm0, dword [rbp - 0x80]
vmovss dword [rsi + 0x38], xmm0
mov byte [rsp + 0x54], 1
cmp byte [rbp + 0x160], 0
jne 0x180025d9a
vmovss xmm0, dword [rbp - 0x7c]
vmovss dword [rsi + 0x3c], xmm0
mov bl, 1
jmp 0x180025d9a
movzx eax, byte [rsi + 0xdc]
test al, al
jg 0x180025d0e
cmp byte [rsi + 0xdd], 0
jle 0x180025d9a
test dil, dil
jne 0x180025d3b
test al, al
jle 0x180025d3b
cmp byte [rsi + 0xde], dil
je 0x180025d2c
vmovss xmm0, dword [rsi + 0x38]
vmaxss xmm1, xmm0, dword [rbp - 0x80]
jmp 0x180025d31
vmovss xmm1, dword [rbp - 0x80]
vmovss dword [rsi + 0x38], xmm1
mov byte [rsp + 0x54], 1
cmp byte [rbp + 0x160], 0
jne 0x180025d6e
cmp byte [rsi + 0xdd], 0
jle 0x180025d6e
cmp byte [rsi + 0xde], 0
je 0x180025d62
vmovss xmm0, dword [rsi + 0x3c]
vmaxss xmm1, xmm0, dword [rbp - 0x7c]
jmp 0x180025d67
vmovss xmm1, dword [rbp - 0x7c]
vmovss dword [rsi + 0x3c], xmm1
mov bl, 1
cmp byte [rsi + 0xc1], 0
jne 0x180025d9a
test dword [rsi + 0x14], 0x100
mov rcx, qword [0x18032e308]
jne 0x180025d9a
vcomiss xmm12, dword [rcx + 0x5f0c]
jb 0x180025d9a
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x5f0c], eax
lea r8, [rsi + 0x38]
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.180022960
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rsi + 0x38], xmm0
vmovss dword [rsi + 0x3c], xmm1
cmp byte [rsi + 0xc1], 0
je 0x180025e34
test r13d, r13d
jne 0x180025e34
test byte [rsi + 0x14], 1
mov rcx, qword [rsi]
je 0x180025ddc
vmovaps xmm1, xmm12
jmp 0x180025e10
mov rax, qword [rsi + 0x378]
vmovss xmm0, dword [rcx + 0x3d44]
vmulss xmm2, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x180025e00
vmulss xmm2, xmm2, dword [rax + 0x2a0]
vmovss xmm0, dword [rcx + 0x3930]
vaddss xmm1, xmm0, xmm0
vaddss xmm1, xmm1, xmm2
vmovss xmm2, dword [rsi + 0x28]
vaddss xmm0, xmm2, dword [rsi + 0x38]
vaddss xmm1, xmm1, dword [rsi + 0x2c]
vsubss xmm1, xmm1, dword [rsi + 0x2c]
vsubss xmm0, xmm0, xmm2
vmovss dword [rbp - 0x78], xmm0
vmovss dword [rbp - 0x74], xmm1
jmp 0x180025e3e
vmovsd xmm0, qword [rsi + 0x38]
vmovsd qword [rbp - 0x78], xmm0
cmp byte [rsp + 0x40], 0
lea rax, [rbp - 0x78]
vmovsd xmm0, qword [rax]
vmovsd qword [rsi + 0x30], xmm0
je 0x180025e9c
mov eax, r12d
mov dword [rsi + 0xe0], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180025e9c
cmp byte [rbp + 0x158], 0
jne 0x180025e9c
movsxd rax, dword [r14 + 0x4ab0]
imul rcx, rax, 0x38
mov rax, qword [r14 + 0x4ab8]
vmovss xmm0, dword [rcx + rax - 0x14]
vmovss xmm1, dword [rcx + rax - 0x10]
vmovss dword [rsi + 0x28], xmm0
vmovss dword [rsi + 0x2c], xmm1
test r13d, r13d
je 0x180025ef3
mov rcx, qword [rsp + 0x70]
lea rdx, [rbp - 0x68]
add rcx, 0x1a0
movzx eax, word [rcx]
mov word [rsi + 0xd0], ax
call fcn.180032290
mov edx, dword [rsp + 0x50]
movzx eax, byte [rbp + 0x158]
mov ecx, dword [rsp + 0x44]
test edx, edx
jne 0x180025f02
test al, al
jne 0x180025f02
cmp ecx, 0x3000000
je 0x180025f02
mov rax, qword [rsp + 0x70]
vmovsd xmm0, qword [rax + 0x110]
vmovsd qword [rsi + 0x28], xmm0
jmp 0x180025efb
mov edx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x44]
movzx eax, byte [rbp + 0x158]
vmovss xmm2, dword [rsi + 0xec]
vucomiss xmm2, dword [0x1800d8548]
jp 0x180025f16
je 0x180025f64
cmp byte [rsi + 0xe5], 0
jne 0x180025f64
vmovss xmm0, dword [rsi + 0x30]
vmulss xmm1, xmm0, dword [rsi + 0xf4]
vmovss xmm0, dword [rsi + 0x34]
vmulss xmm3, xmm0, dword [rsi + 0xf8]
vsubss xmm2, xmm2, xmm1
vmovss xmm1, dword [rsi + 0xf0]
vmovss dword [rbp - 0x68], xmm2
vsubss xmm2, xmm1, xmm3
xor r8d, r8d
lea rdx, [rbp - 0x68]
mov rcx, rsi
vmovss dword [rbp - 0x64], xmm2
call fcn.180027a40
jmp 0x180025faa
cmp dword [rbp - 0x50], 0
jne 0x180025f8b
test edx, edx
je 0x180025f78
test al, al
jne 0x180025f78
cmp byte [rsp + 0x48], al
jg 0x180025f8b
bt r12d, 0x19
jae 0x180025fae
test al, al
jne 0x180025fae
cmp ecx, 0x3000000
je 0x180025fae
mov rdx, rsi
lea rcx, [rbp - 0x68]
call fcn.18002bc10
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rsi + 0x28], xmm0
vmovss dword [rsi + 0x2c], xmm1
mov edx, dword [rsp + 0x50]
cmp byte [rbp + 0x158], 0
vmovss xmm5, dword [r15 + 0x18]
vmovss xmm4, dword [r15 + 0x14]
vmovss xmm6, dword [r15 + 4]
vmovss xmm7, dword [r15 + 8]
vaddss xmm8, xmm6, dword [r15 + 0xc]
vaddss xmm9, xmm7, dword [r15 + 0x10]
vmovss xmm1, dword [r14 + 0x39b4]
vmaxss xmm2, xmm1, dword [r14 + 0x39bc]
vaddss xmm1, xmm5, dword [r15 + 0x20]
vmovss xmm0, dword [r14 + 0x39b8]
vmaxss xmm3, xmm0, dword [r14 + 0x39c0]
vaddss xmm0, xmm4, dword [r15 + 0x1c]
vsubss xmm10, xmm1, xmm3
vaddss xmm3, xmm3, xmm5
vsubss xmm11, xmm0, xmm2
vaddss xmm4, xmm2, xmm4
vmovss dword [rbp - 0x34], xmm3
vmovss dword [rbp - 0x78], xmm6
vmovss dword [rbp - 0x74], xmm7
vmovss dword [rbp - 0x70], xmm8
vmovss dword [rbp - 0x6c], xmm9
vmovss dword [rbp - 0x38], xmm4
vmovss dword [rbp - 0x30], xmm11
vmovss dword [rbp - 0x2c], xmm10
jne 0x1800260ee
test r13d, r13d
jne 0x1800260ee
vsubss xmm0, xmm8, xmm6
vcomiss xmm0, xmm12
jbe 0x1800260ee
vsubss xmm0, xmm9, xmm7
vcomiss xmm0, xmm12
jbe 0x1800260ee
mov rax, qword [0x18032e308]
vmovss xmm1, dword [rsi + 0x34]
cmp byte [rax + 0x5f], r13b
je 0x1800260bd
test byte [rsi + 0x14], 1
jne 0x1800260bd
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x378]
vmovss xmm0, dword [rcx + 0x3d44]
vmulss xmm2, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x1800260ad
vmulss xmm2, xmm2, dword [rax + 0x2a0]
vmovss xmm0, dword [rcx + 0x3930]
vaddss xmm1, xmm0, xmm0
vaddss xmm1, xmm1, xmm2
vmovss xmm2, dword [rsi + 0x2c]
vsubss xmm0, xmm4, dword [rsi + 0x30]
vsubss xmm1, xmm3, xmm1
vcomiss xmm1, xmm2
ja 0x1800260d5
vminss xmm1, xmm10, xmm2
vmovss xmm2, dword [rsi + 0x28]
vcomiss xmm0, xmm2
ja 0x1800260e4
vminss xmm0, xmm11, xmm2
vmovss dword [rsi + 0x28], xmm0
vmovss dword [rsi + 0x2c], xmm1
vcvttss2si eax, dword [rsi + 0x28]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vcvttss2si eax, dword [rsi + 0x2c]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsi + 0x28], xmm1
vmovss dword [rsi + 0x2c], xmm0
test r13d, r13d
je 0x180026122
vmovss xmm0, dword [r14 + 0x391c]
jmp 0x180026145
mov eax, r12d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x18002613c
vmovss xmm0, dword [r14 + 0x3924]
jmp 0x180026145
vmovss xmm0, dword [r14 + 0x3900]
movzx r13d, byte [rsp + 0x40]
xor al, al
mov dword [rbp + 0x160], eax
vmovss dword [rsi + 0x60], xmm0
test r13b, r13b
je 0x18002618c
bt r12d, 0xc
jb 0x18002618c
mov r15d, dword [rsp + 0x44]
test edx, edx
je 0x180026176
mov byte [rbp + 0x160], 1
jmp 0x180026191
test r15d, r15d
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [rbp + 0x160], eax
jmp 0x180026191
mov r15d, dword [rsp + 0x44]
vpxor xmm0, xmm0, xmm0
xor ecx, ecx
mov dword [rbp - 0x58], 0xffffffff
vmovups xmmword [rbp + 0x50], xmm0
mov dword [rbp - 0x54], 0xffffffff
test dword [rsi + 0x14], 0x1000000
jne 0x1800261bc
cmp byte [r14 + 0x5e], cl
setne cl
inc ecx
cmp byte [rsi + 0xc1], 0
vmovss xmm0, dword [r14 + 0x3d40]
vmulss xmm2, xmm0, dword [0x1800d84a0]
vmulss xmm1, xmm0, dword [0x1800d8448]
vmovss xmm0, dword [rsi + 0x60]
vaddss xmm0, xmm0, dword [0x1800d849c]
vaddss xmm1, xmm1, xmm0
vmaxss xmm2, xmm2, xmm1
vcvttss2si eax, xmm2
vxorps xmm15, xmm15, xmm15
vcvtsi2ss xmm15, xmm15, eax
mov dword [rbp + 0x158], ecx
jne 0x18002624f
lea rax, [rbp - 0x38]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x54]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x58]
mov dword [rsp + 0x20], ecx
lea rdx, [rbp - 0x80]
mov rcx, rsi
call fcn.180022f90
mov ecx, dword [rsp + 0x54]
test eax, eax
je 0x180026253
test al, 1
movzx ecx, cl
mov edx, 1
movzx ebx, bl
cmovne ecx, edx
test al, 2
cmovne ebx, edx
jmp 0x180026253
mov ecx, dword [rsp + 0x54]
movzx eax, byte [rbp - 0x58]
mov byte [rsi + 0xc9], al
movzx eax, byte [rbp - 0x54]
mov byte [rsi + 0xca], al
cmp byte [rsi + 0xc1], 0
jne 0x180026412
cmp qword [rsp + 0x78], 0
vmovss xmm0, dword [rsi + 0x74]
vaddss xmm2, xmm0, dword [rsi + 0x6c]
vmovss xmm1, dword [rsi + 0x3c]
vmovss xmm0, dword [rsi + 0x210]
vmovss xmm5, dword [rsi + 0x38]
vsubss xmm7, xmm1, xmm2
vsubss xmm1, xmm0, dword [rsi + 0x208]
vmovss xmm2, dword [rsi + 0x214]
vsubss xmm0, xmm2, dword [rsi + 0x20c]
vaddss xmm6, xmm0, xmm14
vaddss xmm4, xmm1, xmm13
jne 0x1800262ce
vmovss dword [rbp - 0x4c], xmm12
vmovss dword [rbp - 0x48], xmm12
lea rax, [rbp - 0x4c]
jmp 0x1800262f8
vmovss xmm0, dword [rsi + 0x58]
vmovss xmm2, dword [rsi + 0x5c]
vaddss xmm0, xmm0, xmm0
vaddss xmm1, xmm0, dword [rsi + 0x40]
vaddss xmm2, xmm2, xmm2
vaddss xmm0, xmm2, dword [rsi + 0x44]
vmovss dword [rbp - 0x40], xmm0
vmovss dword [rbp - 0x44], xmm1
lea rax, [rbp - 0x44]
vmovss xmm8, dword [rax]
vmovss xmm3, dword [rax + 4]
xor r9d, r9d
movzx eax, cl
vmovd xmm0, eax
movzx eax, bl
vmovd xmm1, r9d
vpcmpeqd xmm2, xmm0, xmm1
vmovd xmm1, r9d
vmovd xmm0, eax
vblendvps xmm4, xmm5, xmm4, xmm2
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm1, xmm7, xmm6, xmm2
bt r12d, 0xe
jb 0x180026347
vcomiss xmm3, xmm1
jbe 0x180026343
test r12b, 8
je 0x180026347
xor al, al
jmp 0x180026349
mov al, 1
mov byte [rsi + 0xbd], al
lea rcx, [r14 + 0x3964]
bt r12d, 0xf
jb 0x18002638e
test al, al
je 0x180026367
vmovss xmm0, dword [rcx]
jmp 0x18002636c
vmovaps xmm0, xmm12
vsubss xmm0, xmm4, xmm0
vcomiss xmm8, xmm0
jbe 0x180026385
mov eax, r12d
and eax, 0x808
cmp eax, 0x800
je 0x18002638e
mov byte [rsi + 0xbc], r9b
jmp 0x1800263b6
mov byte [rsi + 0xbc], 1
cmp byte [rsi + 0xbd], r9b
jne 0x1800263b6
vcomiss xmm3, xmm1
jbe 0x1800263ae
test r12b, 8
jne 0x1800263ae
mov al, 1
jmp 0x1800263b0
xor al, al
mov byte [rsi + 0xbd], al
cmp byte [rsi + 0xbc], r9b
je 0x1800263c5
vmovss xmm1, dword [rcx]
jmp 0x1800263ca
vmovaps xmm1, xmm12
cmp byte [rsi + 0xbd], r9b
je 0x1800263d9
vmovss xmm0, dword [rcx]
jmp 0x1800263de
vmovaps xmm0, xmm12
vmovss dword [rsi + 0xb4], xmm0
vmovss dword [rsi + 0xb8], xmm1
vmovss xmm0, dword [rsi + 0xb4]
vaddss xmm1, xmm0, dword [rsi + 0x70]
vmovss dword [rsi + 0x70], xmm1
vmovss xmm2, dword [rsi + 0xb8]
vaddss xmm0, xmm2, dword [rsi + 0x74]
vmovss dword [rsi + 0x74], xmm0
cmp dword [rbp + 0x168], 0x1000000
jne 0x180026434
cmp r15d, 0x3000000
je 0x180026434
mov rax, qword [rsp + 0x70]
add rax, 0x248
jmp 0x180026438
lea rax, [rbp - 0x78]
test byte [rsi + 0x14], 1
vmovss xmm10, dword [rsi + 0x28]
vmovss xmm3, dword [rsi + 0x2c]
vaddss xmm4, xmm10, dword [rsi + 0x30]
vaddss xmm5, xmm3, dword [rsi + 0x34]
vmovups xmm6, xmmword [rax]
mov rcx, qword [rsi]
je 0x180026460
vmovaps xmm0, xmm12
jmp 0x180026494
mov rax, qword [rsi + 0x378]
vmovss xmm0, dword [rcx + 0x3d44]
vmulss xmm2, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x180026484
vmulss xmm2, xmm2, dword [rax + 0x2a0]
vmovss xmm0, dword [rcx + 0x3930]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vaddss xmm13, xmm10, dword [rsi + 0x38]
vmovss xmm11, dword [rsi + 0x2c]
vaddss xmm14, xmm3, xmm0
vmovss dword [rbp - 0x64], xmm11
vmovss dword [rbp - 0x60], xmm13
vmovss dword [rbp - 0x5c], xmm14
vmovss dword [rbp - 0x68], xmm10
vmovss dword [rsi + 0x1f8], xmm10
vmovss dword [rsi + 0x1fc], xmm3
vmovss dword [rsi + 0x200], xmm4
vmovss dword [rsi + 0x204], xmm5
vmovss xmm0, dword [rsi + 0x1f8]
vmovss xmm1, dword [rsi + 0x1fc]
vmaxss xmm2, xmm0, xmm6
vmovss dword [rsi + 0x1f8], xmm2
vshufps xmm7, xmm6, xmm6, 0x55
vmaxss xmm0, xmm1, xmm7
vmovss dword [rsi + 0x1fc], xmm0
vmovss xmm0, dword [rsi + 0x200]
vmovss xmm1, dword [rsi + 0x204]
vshufps xmm9, xmm6, xmm6, 0xaa
vminss xmm2, xmm0, xmm9
vmovss dword [rsi + 0x200], xmm2
vshufps xmm8, xmm6, xmm6, 0xff
vminss xmm0, xmm1, xmm8
vmovss dword [rsi + 0x204], xmm0
vmovss xmm0, dword [rsi + 0x68]
vaddss xmm1, xmm0, dword [rsi + 0x28]
vmovss dword [rsi + 0x208], xmm1
vmovss xmm0, dword [rsi + 0x6c]
vaddss xmm1, xmm0, dword [rsi + 0x2c]
vmovss dword [rsi + 0x20c], xmm1
vmovss xmm0, dword [rsi + 0x30]
vaddss xmm1, xmm0, dword [rsi + 0x28]
vsubss xmm2, xmm1, dword [rsi + 0x70]
vmovss dword [rsi + 0x210], xmm2
vmovss xmm0, dword [rsi + 0x34]
vaddss xmm1, xmm0, dword [rsi + 0x2c]
vsubss xmm2, xmm1, dword [rsi + 0x74]
mov eax, r12d
and eax, 0x401
vmovss dword [rsi + 0x214], xmm2
cmp eax, 1
jne 0x18002659d
vmovss xmm5, dword [rsi + 0x64]
jmp 0x1800265a6
vmovss xmm5, dword [r14 + 0x3938]
vmovss xmm4, dword [0x1800d8468]
vmulss xmm0, xmm4, dword [rsi + 0x58]
vaddss xmm2, xmm4, dword [rsi + 0x208]
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmaxss xmm3, xmm1, dword [rsi + 0x64]
vaddss xmm1, xmm3, xmm2
vcvttss2si eax, xmm1
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsi + 0x218], xmm0
vaddss xmm2, xmm4, dword [rsi + 0x20c]
vaddss xmm0, xmm2, xmm5
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rsi + 0x21c], xmm1
vmulss xmm2, xmm4, dword [rsi + 0x58]
vaddss xmm3, xmm4, dword [rsi + 0x210]
vcvttss2si eax, xmm2
vcvtsi2ss xmm0, xmm0, eax
vmaxss xmm1, xmm0, dword [rsi + 0x64]
vsubss xmm2, xmm3, xmm1
vcvttss2si eax, xmm2
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsi + 0x220], xmm0
vaddss xmm2, xmm4, dword [rsi + 0x214]
vsubss xmm0, xmm2, dword [rsi + 0x64]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rsi + 0x224], xmm1
vmovss xmm0, dword [rsi + 0x21c]
vcomiss xmm7, xmm0
jbe 0x18002666f
vmovaps xmm2, xmm7
jmp 0x180026673
vminss xmm2, xmm8, xmm0
vmovss xmm0, dword [rsi + 0x218]
vcomiss xmm6, xmm0
jbe 0x180026687
vmovaps xmm1, xmm6
jmp 0x18002668b
vminss xmm1, xmm9, xmm0
vmovss dword [rsi + 0x218], xmm1
vmovss dword [rsi + 0x21c], xmm2
vmovss xmm0, dword [rsi + 0x224]
vcomiss xmm7, xmm0
jbe 0x1800266af
vmovaps xmm2, xmm7
jmp 0x1800266b3
vminss xmm2, xmm8, xmm0
vmovss xmm0, dword [rsi + 0x220]
vcomiss xmm6, xmm0
jbe 0x1800266c7
vmovaps xmm1, xmm6
jmp 0x1800266cb
vminss xmm1, xmm9, xmm0
vmovss dword [rsi + 0x220], xmm1
vmovss dword [rsi + 0x224], xmm2
vmovss xmm0, dword [rsi + 0x30]
vcomiss xmm0, xmm12
jbe 0x1800266fa
test r12d, 0x2000040
jne 0x1800266fa
vmulss xmm0, xmm0, dword [0x1800d8470]
jmp 0x18002670b
vmovss xmm0, dword [r14 + 0x3d40]
vmulss xmm0, xmm0, dword [0x1800d84f4]
vxorps xmm1, xmm1, xmm1
vcvttss2si eax, xmm0
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rsi + 0x278], xmm1
vmovss xmm0, dword [rsi + 0x58]
vmovss xmm2, dword [rsi + 0x210]
vaddss xmm1, xmm0, xmm0
vaddss xmm3, xmm1, dword [rsi + 0x40]
vsubss xmm0, xmm2, dword [rsi + 0x208]
vsubss xmm1, xmm3, xmm0
vmaxss xmm1, xmm12, xmm1
vmovss dword [rsi + 0x94], xmm1
vmovss xmm0, dword [rsi + 0x5c]
vmovss xmm2, dword [rsi + 0x214]
vaddss xmm1, xmm0, xmm0
vaddss xmm3, xmm1, dword [rsi + 0x44]
vsubss xmm0, xmm2, dword [rsi + 0x20c]
vsubss xmm1, xmm3, xmm0
vmaxss xmm1, xmm12, xmm1
mov rdx, rsi
lea rcx, [rsp + 0x60]
vmovss dword [rsi + 0x98], xmm1
call fcn.18002ac90
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rsi + 0x8c], xmm0
vmovss dword [rsi + 0x90], xmm1
mov dword [rsi + 0x9c], 0x7f7fffff
mov dword [rsi + 0xa0], 0x7f7fffff
mov rcx, qword [rsi + 0x2a8]
mov qword [rsi + 0x78], 0
mov rax, qword [r14 + 0x3d38]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.18003aec0
mov rcx, qword [0x18032e308]
vmaxss xmm1, xmm7, xmm8
vmovaps xmm8, xmmword [rsp + 0x1d0]
vmaxss xmm0, xmm6, xmm9
mov rax, qword [rcx + 0x4008]
vmovaps xmm9, xmmword [rsp + 0x1c0]
vmovss dword [rsp + 0x64], xmm7
vmovaps xmm7, xmmword [rsp + 0x1e0]
mov byte [rax + 0xc0], 1
mov r15, qword [rcx + 0x4008]
vmovss dword [rsp + 0x60], xmm6
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rsp + 0x6c], xmm1
mov rbx, qword [r15 + 0x2a8]
mov ecx, dword [rbx + 0x5c]
mov edi, dword [rbx + 0x58]
cmp edi, ecx
jne 0x18002689f
inc edi
test ecx, ecx
je 0x180026853
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180026858
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x18002689f
movsxd rcx, edi
shl rcx, 4
call fcn.18001ede0
mov rdx, qword [rbx + 0x60]
mov r13, rax
test rdx, rdx
je 0x180026892
movsxd r8, dword [rbx + 0x58]
mov rcx, rax
shl r8, 4
call fcn.180071210
mov rcx, qword [rbx + 0x60]
call fcn.18001ee80
mov qword [rbx + 0x60], r13
movzx r13d, byte [rsp + 0x40]
mov dword [rbx + 0x5c], edi
movsxd rdx, dword [rbx + 0x58]
mov rcx, rbx
mov rax, qword [rbx + 0x60]
add rdx, rdx
vmovups xmm0, xmmword [rsp + 0x60]
vmovups xmmword [rax + rdx*8], xmm0
inc dword [rbx + 0x58]
vmovups xmmword [rbx + 0x88], xmm0
call fcn.18003aac0
mov rax, qword [r15 + 0x2a8]
xor bl, bl
movsxd rcx, dword [rax + 0x58]
mov rax, qword [rax + 0x60]
add rcx, rcx
cmp dword [rbp + 0x168], 0x1000000
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 [r15 + 0x248], eax
vmovss dword [r15 + 0x24c], xmm0
vmovss dword [r15 + 0x250], xmm1
vmovss dword [r15 + 0x254], xmm2
mov r15, qword [rsp + 0x70]
jne 0x1800269f6
cmp dword [rsp + 0x44], 0x3000000
je 0x1800269f6
movsxd rax, dword [r15 + 0x1a0]
cmp eax, 2
jl 0x1800269bf
mov rcx, rax
mov rax, qword [r15 + 0x1a8]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x1800269bf
vmovss xmm0, dword [rdx + 0x28]
vmovss xmm1, dword [rdx + 0x2c]
vmovss dword [rbp - 0x78], xmm0
vaddss xmm0, xmm0, dword [rdx + 0x30]
vmovss dword [rbp - 0x74], xmm1
vaddss xmm1, xmm1, dword [rdx + 0x34]
vmovss dword [rbp - 0x70], xmm0
vmovss xmm0, dword [rsi + 0x28]
vmovss dword [rbp - 0x6c], xmm1
vmovss xmm1, dword [rsi + 0x2c]
vmovss dword [rsp + 0x60], xmm0
vaddss xmm0, xmm0, dword [rsi + 0x30]
vmovss dword [rsp + 0x64], xmm1
vaddss xmm1, xmm1, dword [rsi + 0x34]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x78]
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rsp + 0x6c], xmm1
call fcn.18001a180
movzx r8d, al
jmp 0x1800269c2
xor r8b, r8b
mov rdx, qword [rsi + 0x2a8]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], 0
jne 0x1800269f6
mov rax, qword [r15 + 0x2a8]
cmp dword [rax + 0x20], 0
je 0x1800269f6
test r8b, r8b
jne 0x1800269f6
mov bl, 1
mov qword [rsi + 0x2a8], rax
mov rax, qword [r14 + 0x4cc8]
test rax, rax
jne 0x180026a09
mov rax, qword [r14 + 0x4ae8]
mov edi, dword [rbp + 0x160]
test dil, dil
jne 0x180026a2e
test rax, rax
je 0x180026a29
mov rax, qword [rax + 0x398]
cmp qword [rsi + 0x398], rax
je 0x180026a2e
xor r8b, r8b
jmp 0x180026a31
mov r8b, 1
lea rax, [rbp + 0x50]
mov rcx, rsi
vmovss dword [rsp + 0x30], xmm15
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x68]
mov eax, dword [rbp + 0x158]
mov dword [rsp + 0x20], eax
call fcn.180024200
vmovaps xmm15, xmmword [rsp + 0x160]
test bl, bl
je 0x180026a71
lea rax, [rsi + 0x2b0]
mov qword [rsi + 0x2a8], rax
vmovss xmm5, dword [rsi + 0x50]
mov ecx, r12d
shr ecx, 3
not cl
and cl, 1
vucomiss xmm5, xmm12
jp 0x180026ac9
jne 0x180026ac9
vmovss xmm0, dword [rsi + 0x58]
vmovss xmm1, dword [rsi + 0x30]
vaddss xmm2, xmm0, xmm0
vmovss xmm0, dword [rsi + 0x70]
vsubss xmm3, xmm1, xmm2
vaddss xmm2, xmm0, dword [rsi + 0x68]
mov eax, r12d
and eax, 0x808
vsubss xmm1, xmm3, xmm2
cmp eax, 0x800
jne 0x180026ac0
vmovss xmm0, dword [rsi + 0x40]
jmp 0x180026ac5
vmovaps xmm0, xmm12
vmaxss xmm5, xmm0, xmm1
vmovss xmm4, dword [rsi + 0x54]
vucomiss xmm4, xmm12
jp 0x180026b0b
jne 0x180026b0b
vmovss xmm0, dword [rsi + 0x5c]
vmovss xmm1, dword [rsi + 0x34]
vaddss xmm2, xmm0, xmm0
vmovss xmm0, dword [rsi + 0x74]
vsubss xmm3, xmm1, xmm2
vaddss xmm2, xmm0, dword [rsi + 0x6c]
vsubss xmm1, xmm3, xmm2
test cl, cl
je 0x180026b02
vmovss xmm0, dword [rsi + 0x44]
jmp 0x180026b07
vmovaps xmm0, xmm12
vmaxss xmm4, xmm0, xmm1
vmovss xmm0, dword [rsi + 0x208]
vsubss xmm3, xmm0, dword [rsi + 0x8c]
vmovss xmm1, dword [rsi + 0x58]
vmaxss xmm2, xmm1, dword [rsi + 0x64]
vaddss xmm0, xmm3, xmm2
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rsi + 0x228], xmm1
vmovss xmm0, dword [rsi + 0x20c]
vsubss xmm3, xmm0, dword [rsi + 0x90]
vmovss xmm1, dword [rsi + 0x5c]
vmaxss xmm2, xmm1, dword [rsi + 0x64]
vaddss xmm0, xmm3, xmm2
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rsi + 0x22c], xmm1
vaddss xmm0, xmm5, dword [rsi + 0x228]
vmovss dword [rsi + 0x230], xmm0
vaddss xmm1, xmm4, dword [rsi + 0x22c]
vmovss dword [rsi + 0x234], xmm1
vmovups xmm0, xmmword [rsi + 0x228]
vmovups xmmword [rsi + 0x238], xmm0
vmovss xmm0, dword [rsi + 0x28]
vsubss xmm1, xmm0, dword [rsi + 0x8c]
vaddss xmm2, xmm1, dword [rsi + 0x58]
vaddss xmm3, xmm2, dword [rsi + 0x68]
vmovss dword [rsi + 0x258], xmm3
vmovss xmm0, dword [rsi + 0x2c]
vsubss xmm1, xmm0, dword [rsi + 0x90]
vaddss xmm2, xmm1, dword [rsi + 0x5c]
vaddss xmm3, xmm2, dword [rsi + 0x6c]
vmovss dword [rsi + 0x25c], xmm3
vmovss xmm0, dword [rsi + 0x50]
vucomiss xmm0, xmm12
jp 0x180026c0b
jne 0x180026c0b
vmovss xmm0, dword [rsi + 0x58]
vmovss xmm1, dword [rsi + 0x30]
vaddss xmm2, xmm0, xmm0
vmovss xmm0, dword [rsi + 0x70]
vsubss xmm3, xmm1, xmm2
vaddss xmm2, xmm0, dword [rsi + 0x68]
vsubss xmm0, xmm3, xmm2
vaddss xmm0, xmm0, dword [rsi + 0x258]
vmovss dword [rsi + 0x260], xmm0
vmovss xmm1, dword [rsi + 0x54]
vucomiss xmm1, xmm12
jp 0x180026c49
jne 0x180026c49
vmovss xmm0, dword [rsi + 0x5c]
vmovss xmm1, dword [rsi + 0x34]
vaddss xmm2, xmm0, xmm0
vmovss xmm0, dword [rsi + 0x74]
vsubss xmm3, xmm1, xmm2
vaddss xmm2, xmm0, dword [rsi + 0x6c]
vsubss xmm1, xmm3, xmm2
vaddss xmm0, xmm1, dword [rsi + 0x25c]
vmovss dword [rsi + 0x264], xmm0
vmovss xmm1, dword [rsi + 0x58]
vaddss xmm2, xmm1, dword [rsi + 0x68]
vsubss xmm0, xmm2, dword [rsi + 0x8c]
vmovss dword [rsi + 0x154], xmm0
xor ecx, ecx
lea rbx, [rsi + 0x17c]
mov qword [rsi + 0x158], rcx
vmovss xmm1, dword [rsi + 0x58]
vmovss xmm0, dword [rsi + 0x28]
vcvtss2sd xmm0, xmm0, xmm0
vcvtss2sd xmm1, xmm1, xmm1
vaddsd xmm2, xmm1, xmm0
vmovss xmm1, dword [rsi + 0x8c]
vmovss xmm0, dword [rsi + 0x68]
vcvtss2sd xmm0, xmm0, xmm0
vcvtss2sd xmm1, xmm1, xmm1
vsubsd xmm3, xmm2, xmm1
vmovss xmm2, dword [rsi + 0x2c]
vaddsd xmm4, xmm3, xmm0
vmovss xmm0, dword [rsi + 0x5c]
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vaddsd xmm6, xmm4, xmm1
vmovss xmm1, dword [rsi + 0x90]
vcvtss2sd xmm2, xmm2, xmm2
vaddsd xmm3, xmm2, xmm0
vmovss xmm0, dword [rsi + 0x6c]
vcvtss2sd xmm0, xmm0, xmm0
vcvtss2sd xmm1, xmm1, xmm1
vsubsd xmm4, xmm3, xmm1
vaddsd xmm5, xmm4, xmm0
vcvtsd2ss xmm1, xmm6, xmm6
vmovss dword [rsi + 0x120], xmm1
vcvtsd2ss xmm2, xmm5, xmm5
vmovss dword [rsi + 0x124], xmm2
vmovss xmm0, dword [rsi + 0x120]
vcvtss2sd xmm0, xmm0, xmm0
vsubsd xmm1, xmm6, xmm0
vmovaps xmm6, xmmword [rsp + 0x1f0]
vcvtsd2ss xmm3, xmm1, xmm1
vmovss dword [rsi + 0x160], xmm3
vinsertps xmm2, xmm2, xmm2, 0xe
vcvtss2sd xmm2, xmm2, xmm2
vsubsd xmm0, xmm5, xmm2
vcvtsd2ss xmm1, xmm0, xmm0
vmovss dword [rsi + 0x164], xmm1
vmovss xmm0, dword [rsi + 0x120]
vmovss xmm2, dword [rsi + 0x124]
vmovss dword [rsi + 0x110], xmm0
vmovss dword [rsi + 0x114], xmm2
vmovss dword [rsi + 0x118], xmm0
vmovss dword [rsi + 0x11c], xmm2
vmovsd xmm0, qword [rsi + 0x120]
vmovsd qword [rsi + 0x128], xmm0
vmovsd xmm1, qword [rsi + 0x120]
vmovsd qword [rsi + 0x130], xmm1
mov qword [rsi + 0x140], rcx
mov qword [rsi + 0x138], rcx
mov qword [rsi + 0x148], rcx
mov word [rsi + 0x150], cx
mov dword [rsi + 0x168], ecx
movzx eax, word [rsi + 0x16e]
mov word [rsi + 0x16c], ax
mov dword [rsi + 0x16e], 0x10000
vmovss xmm0, dword [rsi + 0x98]
vcomiss xmm0, xmm12
seta al
mov byte [rsi + 0x172], al
mov byte [rsi + 0x173], cl
vmovss xmm0, dword [r14 + 0x393c]
test r13b, r13b
je 0x180026e02
xor eax, eax
mov qword [rbx + 0x12], rax
vcvttss2si eax, xmm0
mov rcx, rbx
mov word [rbx + 8], ax
call fcn.18004a050
xor eax, eax
lea rcx, [rsi + 0x1a0]
mov qword [rbx + 0x12], rax
xor r13d, r13d
mov eax, dword [rbx + 4]
mov dword [rbx], eax
mov dword [rbx + 4], r13d
mov qword [rsi + 0x198], r13
call fcn.180032330
lea rax, [rsi + 0x280]
mov ebx, 1
mov qword [rsi + 0x1b0], rax
mov qword [rsi + 0x1b8], r13
mov dword [rsi + 0x1c4], ebx
test r15, r15
je 0x180026e65
mov eax, dword [r15 + 0x1c4]
jmp 0x180026e67
mov eax, ebx
mov dword [rsi + 0x1c8], eax
lea rcx, [rsi + 0x1d8]
mov eax, dword [rsi + 0x278]
mov dword [rsi + 0x1cc], eax
mov dword [rsi + 0x1d0], 0xbf800000
call fcn.1800325d0
lea rcx, [rsi + 0x1e8]
call fcn.1800325d0
movzx eax, byte [rsi + 0xdc]
test al, al
jle 0x180026eae
dec al
mov byte [rsi + 0xdc], al
movzx eax, byte [rsi + 0xdd]
test al, al
jle 0x180026ec1
dec al
mov byte [rsi + 0xdd], al
test dil, dil
je 0x180026ee6
mov edx, 2
mov rcx, rsi
call fcn.180027500
cmp rsi, qword [r14 + 0x4ae8]
jne 0x180026ee6
xor edx, edx
mov rcx, rsi
call fcn.18002cd50
test bl, r12b
jne 0x180026f21
vaddss xmm0, xmm10, dword [rsi + 0x64]
vsubss xmm1, xmm13, dword [rsi + 0x64]
mov r8, qword [rbp + 0x150]
lea rdx, [rsp + 0x60]
mov rcx, rsi
vmovss dword [rsp + 0x60], xmm0
vmovss dword [rsp + 0x68], xmm1
vmovss dword [rsp + 0x64], xmm11
vmovss dword [rsp + 0x6c], xmm14
call fcn.180024880
mov rdx, qword [0x18032e308]
mov dword [rsi + 0x268], r13d
vmovss xmm4, dword [rdx + 0x3954]
vmovss xmm3, dword [rdx + 0xe48]
vsubss xmm0, xmm10, xmm4
vcomiss xmm3, xmm0
vmovaps xmm10, xmmword [rsp + 0x1b0]
jb 0x180026f83
vmovss xmm2, dword [rdx + 0x3958]
vmovss xmm1, dword [rdx + 0xe4c]
vsubss xmm0, xmm11, xmm2
vcomiss xmm1, xmm0
jb 0x180026f83
vaddss xmm0, xmm13, xmm4
vcomiss xmm0, xmm3
jbe 0x180026f83
vaddss xmm0, xmm14, xmm2
vcomiss xmm0, xmm1
mov r8d, ebx
ja 0x180026f86
mov r8d, r13d
mov eax, dword [rsi + 0x84]
mov ecx, dword [r14 + 0x4950]
vbroadcastf128 ymm0, xmmword [rbp - 0x68]
vmovaps xmm14, xmmword [rsp + 0x170]
vmovaps xmm13, xmmword [rsp + 0x180]
vmovaps xmm11, xmmword [rsp + 0x1a0]
vmovups ymmword [rdx + 0x4984], ymm0
mov dword [rdx + 0x4978], eax
mov dword [rdx + 0x497c], ecx
mov dword [rdx + 0x4980], r8d
mov eax, dword [r14 + 0x4954]
test eax, eax
je 0x180027091
cmp dword [rsi + 0x10], eax
je 0x180026fef
cmp dword [rsi + 0x84], eax
jne 0x180027091
vzeroupper
call fcn.180031740
jmp 0x180027091
mov rcx, qword [0x18032e308]
mov qword [rcx + 0x4008], rsi
movsxd rax, dword [rsi + 0x1c0]
cmp eax, 0xffffffff
je 0x180027029
imul rdx, rax, 0x250
add rdx, qword [rcx + 0x4df0]
xor r13d, r13d
jmp 0x18002702f
xor r13d, r13d
mov edx, r13d
mov qword [rcx + 0x4dc8], rdx
mov rax, qword [rsi]
vmovss xmm0, dword [rax + 0x3d44]
mov rax, qword [rsi + 0x378]
vmulss xmm1, xmm0, dword [rsi + 0x2a0]
test rax, rax
je 0x18002705d
vmulss xmm1, xmm1, dword [rax + 0x2a0]
vmovss dword [rcx + 0x3d58], xmm1
vmovss dword [rcx + 0x3d40], xmm1
test rdx, rdx
jne 0x18002707f
cmp qword [rsi + 0x1b8], rdi
jne 0x18002707f
mov al, 1
jmp 0x180027081
xor al, al
mov r15, qword [rsp + 0x70]
mov ebx, 1
mov byte [rsi + 0x170], al
lea rdx, [rsi + 0x220]
mov r8b, 1
lea rcx, [rsi + 0x218]
vzeroupper
call fcn.180020d00
mov eax, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x220]
mov byte [rsi + 0xc0], 0
inc word [rsi + 0xcc]
mov dword [r14 + 0x49c8], r13d
mov r13, qword [rsp + 0x210]
cmp eax, dword [rsp + 0x58]
je 0x180027241
mov eax, r12d
and eax, 0x11000000
cmp eax, 0x1000000
jne 0x1800271b2
bt r12d, 0x17
jae 0x180027121
cmp byte [r14 + 0x4b34], 0
je 0x180027121
mov rcx, qword [r14 + 0x4ae8]
test rcx, rcx
je 0x180027121
mov rax, qword [rsi + 0x3a0]
cmp qword [rcx + 0x3a0], rax
jne 0x180027121
mov al, 1
jmp 0x180027123
xor al, al
cmp byte [r14 + 0x5fa8], 0
jne 0x180027177
test al, al
jne 0x180027177
vmovss xmm0, dword [rsi + 0x1f8]
vcomiss xmm0, dword [rsi + 0x200]
jae 0x180027155
vmovss xmm0, dword [rsi + 0x1fc]
vcomiss xmm0, dword [rsi + 0x204]
jb 0x180027177
cmp byte [rsi + 0xdc], 0
jg 0x180027170
cmp byte [rsi + 0xdd], 0
jg 0x180027170
mov byte [rsi + 0xe4], 1
jmp 0x180027177
mov byte [rsi + 0xe5], 1
test r15, r15
je 0x1800271b2
cmp byte [r15 + 0xc1], 0
jne 0x180027190
cmp byte [r15 + 0xe4], 0
jle 0x180027197
mov byte [rsi + 0xe4], 1
cmp byte [r15 + 0xc1], 0
jne 0x1800271ab
cmp byte [r15 + 0xe5], 0
jle 0x1800271b2
mov byte [rsi + 0xe5], 1
vcomiss xmm12, dword [r14 + 0x38f0]
jb 0x1800271c4
mov byte [rsi + 0xe4], 1
cmp byte [rsi + 0xe4], 0
jg 0x1800271e4
cmp byte [rsi + 0xe5], 0
jg 0x1800271e4
xor cl, cl
cmp byte [rsi + 0xe6], cl
jg 0x1800271e6
xor al, al
jmp 0x1800271e8
mov cl, 1
mov al, 1
mov byte [rsi + 0xc5], al
movzx eax, byte [rsi + 0xe7]
test al, al
jle 0x180027208
dec al
mov byte [rsi + 0xe7], al
or dword [rsi + 0x14], 0x30200
xor al, al
cmp byte [rsi + 0xc1], al
jne 0x18002721e
cmp byte [rsi + 0xbe], al
je 0x18002721e
test cl, cl
je 0x18002723b
cmp byte [rsi + 0xdc], al
jg 0x18002723b
cmp byte [rsi + 0xdd], al
jg 0x18002723b
cmp byte [rsi + 0xe5], 0
movzx eax, al
cmovle eax, ebx
mov byte [rsi + 0xc3], al
cmp byte [rsi + 0xc6], 0
vmovaps xmm12, xmmword [rsp + 0x190]
mov r15, qword [rsp + 0x208]
mov r12, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x228]
jne 0x1800272c6
cmp byte [r14 + 0x78], 0
je 0x18002727a
cmp qword [rsp + 0x78], 0
je 0x180027292
cmp byte [r14 + 0x79], 0
je 0x1800272c6
movsx eax, byte [r14 + 0x601a]
cmp eax, dword [r14 + 0x3fd8]
jne 0x1800272c6
movzx eax, byte [rsi + 0xdc]
test al, al
jle 0x1800272a5
inc al
mov byte [rsi + 0xdc], al
movzx eax, byte [rsi + 0xdd]
test al, al
jle 0x1800272b8
inc al
mov byte [rsi + 0xdd], al
xor al, al
add rsp, 0x230
pop r14
pop rsi
pop rbp
ret
cmp byte [rsi + 0xc3], 0
sete al
add rsp, 0x230
pop r14
pop rsi
pop rbp
ret