Function at 0x140018570
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
push rbp
push rsi
push r14
lea rbp, [r11 - 0x138]
sub rsp, 0x220
mov rax, qword [0x14005b008]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov r14, qword [0x14005b740]
mov r10d, 0xffffffff
mov qword [r11 + 0x20], rbx
mov ebx, r8d
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r15
movaps xmmword [r11 - 0xc8], xmm14
mov r11, rcx
mov qword [rbp - 0x50], rcx
mov ecx, r10d
mov qword [rbp - 0x78], rdx
movzx r9d, byte [r11]
lea r8, [r11 + 1]
test r9b, r9b
je 0x140018610
lea rdi, [0x14004ce00]
cmp r9b, 0x23
jne 0x1400185f4
cmp byte [r8], r9b
jne 0x1400185f4
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [rdi + rdx*4]
test r9b, r9b
jne 0x1400185e1
not ecx
call fcn.1400157e0
test rax, rax
mov qword [rsp + 0x68], rax
mov r8, rax
mov qword [rsp + 0x58], rax
sete byte [rsp + 0x41]
mov rsi, rax
test rax, rax
jne 0x14001864b
mov edx, ebx
mov rcx, r11
call fcn.140015a50
mov r8, qword [rsp + 0x68]
mov rsi, rax
mov qword [rsp + 0x58], rax
mov edi, dword [r14 + 0x3f60]
mov ecx, ebx
mov r12d, ebx
mov dword [rsp + 0x4c], edi
or r12d, 6
and ecx, 0xc0200
cmp ecx, 0xc0200
cmovne r12d, ebx
cmp dword [r14 + 0x3fd8], 0
mov ebx, dword [rsi + 0x298]
mov dword [rsp + 0x44], ebx
jne 0x140018691
cmp byte [r14 + 0x3f71], 0
je 0x140018691
mov al, 1
jmp 0x140018693
xor al, al
mov byte [rsi + 0xf3], al
lea eax, [rdi - 1]
cmp dword [rsi + 0x298], eax
setl r13b
mov byte [rsp + 0x42], r13b
bt r12d, 0x1a
jae 0x1400186e0
movsxd rax, dword [r14 + 0x49e0]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x49d8]
cmp rsi, qword [rcx + 8]
mov eax, dword [rcx]
setne dl
cmp dword [rsi + 0x104], eax
setne al
or dl, al
or r13b, dl
mov byte [rsp + 0x42], r13b
movzx r15d, byte [rsi + 0xf1]
xor ecx, ecx
cmp ebx, edi
je 0x14001887e
mov rbx, qword [0x14005b740]
mov qword [rbp + 0x30], rsi
bt r12d, 0x18
jae 0x140018718
mov eax, r12d
and eax, 0x14000000
cmp eax, 0x4000000
je 0x140018718
mov dil, 1
jmp 0x14001871b
xor dil, dil
movzx eax, byte [rsi + 0xf4]
test r8, r8
je 0x140018730
cmp dil, al
je 0x140018803
test dil, dil
jne 0x140018754
lea rdx, [rbp + 0x30]
lea rcx, [rbx + 0x3fb8]
call fcn.1400326e0
movzx eax, word [rbx + 0x3fb8]
dec ax
jmp 0x1400187fa
test r8, r8
je 0x140018803
cmp dil, al
je 0x140018803
test dil, dil
je 0x140018803
movsx edx, word [rsi + 0x100]
mov r9d, dword [rbx + 0x3fb8]
inc edx
cmp edx, r9d
jge 0x1400187b5
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 + 0x100]
mov r9d, dword [rbx + 0x3fb8]
cmp edx, r9d
jl 0x140018790
mov rax, qword [rbx + 0x3fc0]
movsx rdx, word [rsi + 0x100]
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 sub.VCRUNTIME140.dll_memmove
dec dword [rbx + 0x3fb8]
mov rax, 0xffffffffffffffff
xor ecx, ecx
mov word [rsi + 0x100], ax
mov byte [rsi + 0xf4], dil
mov byte [rsi + 0xf1], r13b
test r13b, r13b
je 0x140018832
or byte [rsi + 0x114], 8
or byte [rsi + 0x115], 8
or byte [rsi + 0x116], 8
or byte [rsi + 0x117], 8
mov eax, dword [rsi + 0x14]
mov edi, dword [rsp + 0x4c]
mov ebx, dword [rsp + 0x44]
mov dword [rsi + 0x18], eax
mov dword [rsi + 0x14], r12d
mov dword [rsi + 0x298], edi
movsd xmm0, qword [r14 + 0x3f58]
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x2a0], xmm0
mov word [rsi + 0xfc], cx
movzx eax, word [r14 + 0x3ff8]
inc dword [r14 + 0x3ff8]
mov word [rsi + 0xfe], ax
jmp 0x140018882
mov r12d, dword [rsi + 0x14]
test dword [r14 + 0x48e0], 0x200
je 0x1400188a5
mov r8d, dword [r14 + 0x48f0]
mov rcx, rsi
mov edx, dword [r14 + 0x4948]
call fcn.14002f770
cmp ebx, edi
je 0x140018968
cmp dword [rsi + 0x458], 0
jne 0x14001899f
cmp qword [rsi + 0x448], 0
jne 0x14001899f
mov rax, qword [0x14005b740]
xor cl, cl
cmp byte [rax + 0x7a], cl
jne 0x1400188df
cmp byte [rsi + 0x34], cl
je 0x1400189a1
test dword [rsi + 0x14], 0x1200001
jne 0x1400189a1
cmp byte [rsi + 0xf3], cl
jne 0x1400189a1
movzx ebx, byte [rsi + 0x42d]
mov rdx, qword [rbp - 0x78]
mov rcx, rsi
call fcn.14002ffd0
test byte [rsi + 0x42d], 1
mov r12d, dword [rsi + 0x14]
je 0x140018920
and dword [r14 + 0x48e0], 0xffffffef
test byte [rsi + 0x42d], 4
je 0x140018964
test bl, 4
jne 0x140018964
test bl, 2
je 0x140018964
cmp byte [rsi + 0xf1], 0
jne 0x140018964
test r15b, r15b
jne 0x140018964
mov byte [rsi + 0xf1], 1
or byte [rsi + 0x114], 8
or byte [rsi + 0x115], 8
or byte [rsi + 0x116], 8
or byte [rsi + 0x117], 8
mov ebx, dword [rsp + 0x44]
test byte [rsi + 0x42d], 1
je 0x140018988
mov rax, qword [rsi + 0x448]
mov rax, qword [rax + 0x88]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1400189d5
movsxd rax, dword [r14 + 0x3fd8]
test eax, eax
jne 0x1400189c1
xor r13d, r13d
mov eax, r13d
mov qword [rbp - 0x80], rax
jmp 0x1400189d8
mov cl, 1
movzx ebx, byte [rsi + 0x42d]
test cl, cl
jne 0x1400188ff
and bl, 0xfb
and bl, 0xfd
and bl, 0xfe
mov byte [rsi + 0x42d], bl
jmp 0x140018964
imul rcx, rax, 0x58
mov rax, qword [r14 + 0x3fe0]
mov rax, qword [rcx + rax - 0x58]
mov qword [rbp - 0x80], rax
xor r13d, r13d
cmp ebx, edi
je 0x1400189f1
test r12d, 0x5000000
mov rcx, r13
cmovne rcx, rax
mov qword [rsp + 0x78], rcx
jmp 0x1400189fd
mov rax, qword [rsi + 0x3a8]
mov qword [rsp + 0x78], rax
cmp dword [rsi + 0x128], 0
jne 0x140018a16
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x128]
call fcn.14000b080
movups xmm1, xmmword [r14 + 0x48b4]
xor eax, eax
mov qword [r14 + 0x4008], rsi
mov ecx, dword [r14 + 0x3fdc]
xorps xmm0, xmm0
mov ebx, dword [r14 + 0x3fd8]
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], eax
mov eax, dword [r14 + 0x48dc]
mov qword [rbp - 0x40], rsi
movups xmmword [rbp - 8], xmm0
mov dword [rbp], eax
movzx eax, word [rsi + 0x128]
mov word [rbp + 4], ax
movzx eax, word [r14 + 0x4970]
mov word [rbp + 6], ax
movzx eax, word [r14 + 0x4980]
mov word [rbp + 8], ax
movzx eax, word [r14 + 0x4990]
mov word [rbp + 0xa], ax
movzx eax, word [r14 + 0x49a0]
mov word [rbp + 0xc], ax
movzx eax, word [r14 + 0x49c0]
mov word [rbp + 0xe], ax
movzx eax, word [r14 + 0x49b0]
mov word [rbp + 0x10], ax
movzx eax, word [r14 + 0x49e0]
mov word [rbp + 0x12], ax
movzx eax, word [r14 + 0x5d50]
mov word [rbp + 0x14], ax
movups xmm0, xmmword [r14 + 0x48a4]
movups xmmword [rbp - 0x28], xmm1
movsd xmm1, qword [r14 + 0x48d4]
movsd qword [rbp - 8], xmm1
movups xmmword [rbp - 0x38], xmm0
movups xmm0, xmmword [r14 + 0x48c4]
movups xmmword [rbp - 0x18], xmm0
cmp ebx, ecx
jne 0x140018b84
inc ebx
test ecx, ecx
je 0x140018aff
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140018b04
mov eax, 8
cmp eax, ebx
cmovg ebx, eax
cmp ebx, ecx
jle 0x140018b84
mov rax, qword [0x14005b740]
test rax, rax
je 0x140018b1f
inc dword [rax + 0xfc]
movsxd rax, ebx
imul rcx, rax, 0x58
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [r14 + 0x3fe0]
mov rdi, rax
test rdx, rdx
je 0x140018b72
movsxd rcx, dword [r14 + 0x3fd8]
imul r8, rcx, 0x58
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r14 + 0x3fe0]
test rcx, rcx
je 0x140018b6c
mov rax, qword [0x14005b740]
test rax, rax
je 0x140018b6c
dec dword [rax + 0xfc]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 0x3fe0], rdi
mov edi, dword [rsp + 0x4c]
mov dword [r14 + 0x3fdc], ebx
movsxd rax, dword [r14 + 0x3fd8]
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
imul rcx, rax, 0x58
mov rax, qword [r14 + 0x3fe0]
movups xmmword [rcx + rax], xmm0
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rcx + rax + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [rcx + rax + 0x20], xmm0
movaps xmm0, xmmword [rbp]
movups xmmword [rcx + rax + 0x30], xmm1
movsd xmm1, qword [rbp + 0x10]
movups xmmword [rcx + rax + 0x40], xmm0
movsd qword [rcx + rax + 0x50], xmm1
inc dword [r14 + 0x3fd8]
bt r12d, 0x1c
jae 0x140018be2
inc dword [r14 + 0x49f0]
cmp dword [rsp + 0x44], edi
je 0x140018c03
mov r8, qword [rsp + 0x78]
mov edx, r12d
mov rcx, rsi
call fcn.1400184a0
mov rdx, qword [rbp - 0x80]
mov qword [rsi + 0x3b0], rdx
mov rbx, qword [0x14005b740]
lea rdx, [rbp + 0x20]
mov edi, dword [rsi + 0x10]
mov dword [rbp + 0x20], edi
lea rcx, [rbx + 0x49a0]
call fcn.14000b080
mov dword [rbx + 0x4884], edi
xor r10d, r10d
mov eax, dword [r14 + 0x4884]
mov dword [rsi + 0x420], eax
mov qword [r14 + 0x4008], r10
bt r12d, 0x1a
jae 0x140018c81
movsxd rax, dword [r14 + 0x49e0]
lea rcx, [r14 + 0x49e0]
imul rbx, rax, 0x38
mov rax, qword [rbp - 0x80]
add rbx, qword [r14 + 0x49d8]
mov rdx, rbx
mov qword [rbx + 8], rsi
mov eax, dword [rax + 0x190]
mov dword [rbx + 0x18], eax
call fcn.140032210
mov eax, dword [rbx]
xor r10d, r10d
mov dword [rsi + 0x104], eax
xor cl, cl
xor r13b, r13b
test byte [r14 + 0x48e0], 1
mov byte [rsp + 0x43], cl
mov byte [rsp + 0x40], cl
je 0x140018d33
movsx eax, byte [rsi + 0x114]
mov r8d, dword [r14 + 0x48e4]
test r8d, eax
setne cl
mov byte [rsp + 0x43], cl
test r8d, eax
je 0x140018d24
movss xmm0, dword [r14 + 0x4900]
movss xmm1, dword [r14 + 0x48fc]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x1400533a8]
jbe 0x140018d24
movsd xmm0, qword [r14 + 0x48f4]
movsd qword [rsi + 0x118], xmm0
movsd xmm1, qword [r14 + 0x48fc]
movsd qword [rsi + 0x120], xmm1
movzx ecx, byte [rsi + 0x114]
mov eax, dword [rsi + 0x114]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rsi + 0x114], ecx
jmp 0x140018d33
lea rdx, [r14 + 0x48f4]
mov rcx, rsi
call fcn.14001bee0
test byte [r14 + 0x48e0], 2
xorps xmm14, xmm14
je 0x140018d8f
movsx eax, byte [rsi + 0x115]
lea rdx, [r14 + 0x4904]
mov r8d, dword [r14 + 0x48e8]
and eax, r8d
je 0x140018d6a
movss xmm0, dword [rdx]
comiss xmm0, xmm14
jbe 0x140018d6a
mov r13b, 1
jmp 0x140018d6e
test eax, eax
je 0x140018d82
movss xmm0, dword [r14 + 0x4908]
comiss xmm0, xmm14
mov byte [rsp + 0x40], 1
ja 0x140018d87
mov byte [rsp + 0x40], 0
mov rcx, rsi
call fcn.14001c050
test byte [r14 + 0x48e0], 0x80
je 0x140018dd5
movss xmm0, dword [r14 + 0x4914]
comiss xmm0, xmm14
jb 0x140018db7
movss dword [rsi + 0xc8], xmm0
mov dword [rsi + 0xd0], r10d
movss xmm0, dword [r14 + 0x4918]
comiss xmm0, xmm14
jb 0x140018dd5
movss dword [rsi + 0xcc], xmm0
mov dword [rsi + 0xd4], r10d
test byte [r14 + 0x48e0], 4
mov edi, dword [rsp + 0x4c]
mov ebx, dword [rsp + 0x44]
je 0x140018df7
movsd xmm0, qword [r14 + 0x490c]
movsd qword [rsi + 0x78], xmm0
jmp 0x140018e03
cmp ebx, edi
je 0x140018e03
mov qword [rsi + 0x78], 0
test dword [r14 + 0x48e0], 0x400
je 0x140018e34
movups xmm0, xmmword [r14 + 0x494c]
movups xmmword [rsi + 0x1c], xmm0
movsd xmm1, qword [r14 + 0x495c]
movsd qword [rsi + 0x2c], xmm1
mov eax, dword [r14 + 0x4964]
mov dword [rsi + 0x34], eax
test byte [r14 + 0x48e0], 8
je 0x140018e85
mov ecx, dword [r14 + 0x48ec]
movzx edx, byte [r14 + 0x491d]
test ecx, ecx
je 0x140018e5c
movsx eax, byte [rsi + 0x116]
test ecx, eax
je 0x140018e85
movzx ecx, byte [rsi + 0x116]
mov eax, dword [rsi + 0x114]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [rsi + 0xee], dl
mov dword [rsi + 0x114], ecx
test byte [r14 + 0x48e0], 0x20
je 0x140018e99
xor edx, edx
mov rcx, rsi
call fcn.14001b890
cmp byte [rsi + 0xf1], 0
je 0x140018ebe
and byte [rsi + 0x114], 0xf7
and byte [rsi + 0x115], 0xf7
and byte [rsi + 0x116], 0xf7
and byte [rsi + 0x117], 0xf7
cmp ebx, edi
je 0x14001b0ea
movaps xmmword [rsp + 0x1f0], xmm6
lea rcx, [rsi + 0x128]
movaps xmmword [rsp + 0x1e0], xmm7
mov eax, r12d
movaps xmmword [rsp + 0x1d0], xmm8
and eax, 0x3000000
cmp qword [rbp - 0x78], 0
mov ebx, 1
movaps xmmword [rsp + 0x1c0], xmm9
mov edx, ebx
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1a0], xmm11
movaps xmmword [rsp + 0x190], xmm12
movaps xmmword [rsp + 0x180], xmm13
mov dword [rsp + 0x54], eax
movzx eax, byte [rsi + 0x111]
mov byte [rsi + 0xeb], 1
mov byte [rsp + 0x48], al
setne al
mov byte [rsi + 0xf5], al
mov dword [rsi + 0x270], 0xff7fffff
mov dword [rsi + 0x274], 0xff7fffff
mov dword [rsi + 0x278], 0x7f7fffff
mov dword [rsi + 0x27c], 0x7f7fffff
mov dword [rsp + 0x70], ebx
call fcn.140032a30
mov rcx, qword [rsi + 0x2d8]
call fcn.14003b300
mov rax, 0xffffffffffffffff
mov dword [rsi + 0x1e8], eax
bt r12d, 0x1d
jae 0x140018fc0
mov rcx, qword [rsi + 0x2d8]
add rcx, 0xa8
call fcn.14003eb80
mov rdx, qword [rsi + 0x2d8]
mov r8d, ebx
lea rcx, [rdx + 0xa8]
call fcn.14003f070
cmp byte [rsi + 0x42c], 0
je 0x140019005
mov byte [rsi + 0x42c], 0
mov rcx, qword [rsi + 0x2d8]
mov edx, dword [rsi + 0x424]
add rcx, 0x10
call fcn.14000b330
mov rcx, qword [rsi + 0x2d8]
mov edx, dword [rsi + 0x428]
add rcx, 0x20
call fcn.140032b10
xor eax, eax
mov qword [rsi + 0x424], rax
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x140019014
cmp qword [rax + 0x60], rsi
je 0x140019037
test byte [rsi + 0x42d], bl
jne 0x140019037
cmp qword [r14 + 0x4c00], 0
je 0x1400190f0
test dword [rsi + 0x14], 0x80000
jne 0x1400190f0
mov r9, qword [rsp + 0x68]
test r9, r9
je 0x1400190f5
mov r15, qword [rbp - 0x50]
mov r9, qword [rsi + 8]
mov rax, r15
mov r8, r9
sub r8, r15
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140019073
inc rax
test ecx, ecx
jne 0x140019060
test edx, edx
je 0x1400190f0
movsxd rdi, dword [rsi + 0xa8]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r15 + rbx], 0
jne 0x140019085
inc rbx
cmp rdi, rbx
jae 0x1400190d8
test r9, r9
je 0x1400190ae
mov rax, qword [0x14005b740]
test rax, rax
je 0x1400190ae
dec dword [rax + 0xfc]
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x14005b740]
test rax, rax
je 0x1400190c9
inc dword [rax + 0xfc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
mov rdi, rbx
mov r8, rbx
mov rdx, r15
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 8], rax
mov dword [rsi + 0xa8], edi
mov r9, qword [rsp + 0x68]
lea rdx, [rsi + 0x68]
mov rcx, rsi
lea r8, [rsi + 0x70]
call fcn.140015f10
movzx eax, byte [rsi + 0x110]
test al, al
jle 0x140019118
dec al
mov byte [rsi + 0x110], al
movzx eax, byte [rsi + 0x111]
test al, al
jle 0x14001912b
dec al
mov byte [rsi + 0x111], al
movzx eax, byte [rsi + 0x112]
test al, al
jle 0x14001913e
dec al
mov byte [rsi + 0x112], al
test r9, r9
jne 0x140019156
test r13b, r13b
je 0x14001914f
cmp byte [rsp + 0x40], r9b
jne 0x140019156
mov byte [rsi + 0x111], 1
xor edi, edi
cmp byte [rsp + 0x42], dil
je 0x1400191a2
test r12d, 0x6000000
je 0x1400191a2
mov byte [rsi + 0x111], 1
test r12b, 0x40
je 0x1400191a2
test r13b, r13b
jne 0x140019180
mov dword [rsi + 0x60], edi
mov dword [rsi + 0x58], edi
movzx r15d, byte [rsp + 0x40]
test r15b, r15b
jne 0x140019191
mov dword [rsi + 0x64], edi
mov dword [rsi + 0x5c], edi
mov qword [rsi + 0x70], 0
mov qword [rdx], 0
jmp 0x1400191a8
movzx r15d, byte [rsp + 0x40]
call fcn.140027720
mov rcx, qword [rsi + 0x38]
mov rdx, qword [0x14005b740]
test rcx, rcx
je 0x1400191c6
mov eax, dword [rdx + 0x3f60]
mov dword [rcx + 0x6c], eax
cmp qword [rdx + 0x4a10], rcx
je 0x14001920c
test rcx, rcx
je 0x1400191fb
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x4a08], eax
mov rax, qword [rdx + 0x3888]
mov qword [rdx + 0x4a10], rcx
test rax, rax
je 0x14001920c
call rax
mov rdx, qword [0x14005b740]
jmp 0x14001920c
mov dword [rdx + 0x4a08], 0x3f800000
mov qword [rdx + 0x4a10], rcx
test dword [r14 + 8], 0x8000
je 0x140019221
mov rax, qword [rsi + 0x38]
movss xmm0, dword [rax + 0x28]
jmp 0x140019229
movss xmm0, dword [0x140053434]
movss dword [rsi + 0x2cc], xmm0
mov qword [rdx + 0x4008], rsi
movsxd rax, dword [rsi + 0x1e8]
cmp eax, 0xffffffff
je 0x140019254
imul rcx, rax, 0x238
add rcx, qword [rdx + 0x4d10]
jmp 0x140019257
mov rcx, rdi
mov qword [rdx + 0x4ce8], rcx
mov rax, qword [rsi]
movss xmm0, dword [rax + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x14001928d
mulss xmm0, dword [rax + 0x2c8]
movss dword [rdx + 0x3d58], xmm0
movss dword [rdx + 0x3d40], xmm0
test rcx, rcx
jne 0x1400192af
cmp qword [rsi + 0x1e0], rcx
jne 0x1400192af
mov al, 1
jmp 0x1400192b1
xor al, al
mov byte [rsi + 0x198], al
mov edi, dword [rsi + 0x14]
mov r12d, edi
mov dword [rbp + 0x20], edi
and r12d, 0x1000000
je 0x1400192d8
mov eax, dword [r14 + 0x3910]
mov dword [rsi + 0x8c], eax
jmp 0x140019302
test edi, 0x6000000
je 0x1400192f1
bt edi, 0x1b
jb 0x1400192f1
movss xmm0, dword [r14 + 0x3918]
jmp 0x1400192fa
movss xmm0, dword [r14 + 0x38f4]
movss dword [rsi + 0x8c], xmm0
test byte [rsi + 0x42d], 1
jne 0x140019352
mov eax, edi
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x140019352
movss xmm0, dword [rsi + 0x8c]
ucomiss xmm0, xmm14
jp 0x140019352
jne 0x140019352
bt edi, 0xa
jae 0x14001933a
movss xmm0, dword [r14 + 0x38ec]
jmp 0x14001933e
movaps xmm0, xmm14
xor r9d, r9d
mov dword [rsi + 0x80], r9d
movss dword [rsi + 0x84], xmm0
jmp 0x140019366
movsd xmm0, qword [r14 + 0x38e8]
xor r9d, r9d
movsd qword [rsi + 0x80], xmm0
movss xmm0, dword [rsi + 0x80]
movzx r8d, byte [rsp + 0x41]
mov dword [rsp + 0x50], r8d
maxss xmm0, dword [r14 + 0x392c]
maxss xmm0, dword [r14 + 0x4968]
movss dword [rsi + 0x19c], xmm0
mov eax, dword [r14 + 0x496c]
mov dword [rsi + 0x1a0], eax
test dil, 0x21
jne 0x140019554
test byte [rsi + 0x42d], 1
jne 0x140019554
test byte [rsi + 0x14], 1
mov rcx, qword [rsi]
je 0x1400193c6
movaps xmm3, xmm14
jmp 0x140019402
movss xmm0, dword [rcx + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x1400193f2
mulss xmm0, dword [rax + 0x2c8]
movss xmm3, dword [rcx + 0x3920]
addss xmm3, xmm3
addss xmm3, xmm0
movss xmm6, dword [rsi + 0x50]
movaps xmm5, xmm6
movss xmm9, dword [rsi + 0x54]
addss xmm5, dword [rsi + 0x60]
addss xmm3, dword [rsi + 0x54]
cmp qword [r14 + 0x4010], rsi
jne 0x140019507
cmp dword [r14 + 0x4054], 0
jne 0x140019507
cmp dword [r14 + 0x4058], 0
jne 0x140019507
mov rax, qword [rdx + 0x4008]
movss xmm2, dword [rdx + 0x3944]
movss xmm0, dword [rdx + 0x3948]
maxss xmm6, dword [rax + 0x270]
minss xmm5, dword [rax + 0x278]
maxss xmm9, dword [rax + 0x274]
minss xmm3, dword [rax + 0x27c]
movaps xmm1, xmm6
subss xmm1, xmm2
movaps xmm7, xmm5
addss xmm7, xmm2
movaps xmm4, xmm9
movss xmm2, dword [rdx + 0xe10]
subss xmm4, xmm0
movaps xmm8, xmm3
addss xmm8, xmm0
comiss xmm2, xmm1
jb 0x140019507
movss xmm0, dword [rdx + 0xe14]
comiss xmm0, xmm4
jb 0x140019507
comiss xmm7, xmm2
jbe 0x140019507
comiss xmm8, xmm0
jbe 0x140019507
mov rax, qword [rdx + 0x4a18]
movss xmm2, dword [rax + 0xc]
movss xmm4, dword [rax + 8]
movaps xmm0, xmm2
addss xmm0, dword [rax + 0x14]
movaps xmm1, xmm4
addss xmm1, dword [rax + 0x10]
comiss xmm0, xmm9
jbe 0x140019507
comiss xmm3, xmm2
jbe 0x140019507
comiss xmm1, xmm6
jbe 0x140019507
comiss xmm5, xmm4
jbe 0x140019507
cmp word [r14 + 0x3762], 2
jne 0x140019507
mov byte [rsi + 0xef], 1
cmp byte [rsi + 0xef], 0
je 0x14001955b
movzx ecx, byte [rsi + 0xee]
test cl, cl
movzx r8d, r8b
sete al
test cl, cl
mov byte [rsi + 0xee], al
mov eax, 1
cmovne r8d, eax
test dword [rsi + 0x14], 0x100
mov dword [rsp + 0x50], r8d
jne 0x14001955b
comiss xmm14, dword [rdx + 0x5de4]
jb 0x14001955b
mov eax, dword [rdx + 0x1c]
mov dword [rdx + 0x5de4], eax
jmp 0x14001955b
mov byte [rsi + 0xee], 0
mov byte [rsi + 0xef], 0
movss xmm12, dword [rsi + 0xe0]
movss xmm13, dword [rsi + 0xe4]
mov rdx, qword [rsi]
mov dword [rsi + 0x90], r9d
mov dword [rsi + 0x98], r9d
mov r8d, dword [rsi + 0x14]
lea rax, [rdx + 0x3d44]
test r8b, 1
je 0x14001959c
movaps xmm2, xmm14
jmp 0x1400195d4
movss xmm0, dword [rsi + 0x2c8]
mulss xmm0, dword [rax]
mov rcx, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rcx, rcx
je 0x1400195c4
mulss xmm0, dword [rcx + 0x2c8]
movss xmm2, dword [rdx + 0x3920]
addss xmm2, xmm2
addss xmm2, xmm0
bt r8d, 0xa
jae 0x14001961d
movss xmm0, dword [rax]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x140019603
mulss xmm0, dword [rax + 0x2c8]
movss xmm1, dword [rdx + 0x3920]
addss xmm0, dword [rsi + 0x1a0]
addss xmm1, xmm1
addss xmm1, xmm0
jmp 0x140019621
movaps xmm1, xmm14
addss xmm1, xmm2
mov rdx, rsi
lea r8, [rsi + 0x70]
lea rcx, [rbp + 0x28]
movss dword [rsi + 0x94], xmm1
mov dword [rsi + 0x9c], r9d
mov qword [rsi + 0xe0], 0
call fcn.140016020
test dil, 0x40
je 0x140019690
cmp byte [rsi + 0xee], 0
jne 0x140019690
test r13b, r13b
jne 0x140019672
movss xmm0, dword [rbp + 0x28]
movss dword [rsi + 0x60], xmm0
mov byte [rsp + 0x41], 1
test r15b, r15b
jne 0x140019734
movss xmm0, dword [rbp + 0x2c]
mov al, 1
movss dword [rsi + 0x64], xmm0
mov dword [rsp + 0x50], eax
jmp 0x140019734
movzx eax, byte [rsi + 0x108]
test al, al
jg 0x1400196a8
cmp byte [rsi + 0x109], 0
jle 0x140019734
test r13b, r13b
jne 0x1400196d5
test al, al
jle 0x1400196d5
cmp byte [rsi + 0x10b], r13b
je 0x1400196c6
movss xmm0, dword [rsi + 0x60]
maxss xmm0, dword [rbp + 0x28]
jmp 0x1400196cb
movss xmm0, dword [rbp + 0x28]
movss dword [rsi + 0x60], xmm0
mov byte [rsp + 0x41], 1
test r15b, r15b
jne 0x140019708
cmp byte [rsi + 0x109], r15b
jle 0x140019708
cmp byte [rsi + 0x10b], r15b
je 0x1400196f8
movss xmm0, dword [rsi + 0x64]
maxss xmm0, dword [rbp + 0x2c]
jmp 0x1400196fd
movss xmm0, dword [rbp + 0x2c]
mov al, 1
movss dword [rsi + 0x64], xmm0
mov dword [rsp + 0x50], eax
cmp byte [rsi + 0xee], 0
jne 0x140019734
test dword [rsi + 0x14], 0x100
mov rcx, qword [0x14005b740]
jne 0x140019734
comiss xmm14, dword [rcx + 0x5de4]
jb 0x140019734
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x5de4], eax
lea r8, [rsi + 0x60]
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.140015ca0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x60], xmm0
movss dword [rsi + 0x64], xmm1
cmp byte [rsi + 0xee], 0
je 0x1400197d7
test r12d, r12d
jne 0x1400197d7
test byte [rsi + 0x14], 1
mov rcx, qword [rsi]
je 0x140019774
movaps xmm2, xmm14
jmp 0x1400197b0
movss xmm0, dword [rcx + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x1400197a0
mulss xmm0, dword [rax + 0x2c8]
movss xmm2, dword [rcx + 0x3920]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm1, dword [rsi + 0x50]
addss xmm2, dword [rsi + 0x54]
movaps xmm0, xmm1
addss xmm0, dword [rsi + 0x60]
subss xmm2, dword [rsi + 0x54]
subss xmm0, xmm1
movss dword [rbp + 0x34], xmm2
movss dword [rbp + 0x30], xmm0
jmp 0x1400197e1
movsd xmm0, qword [rsi + 0x60]
movsd qword [rbp + 0x30], xmm0
cmp byte [rsp + 0x42], 0
lea rax, [rbp + 0x30]
movsd xmm0, qword [rax]
movzx r15d, byte [rsp + 0x43]
movsd qword [rsi + 0x58], xmm0
je 0x140019843
mov rax, 0xffffffffffffffff
mov dword [rsi + 0x10c], eax
mov eax, edi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140019843
test r15b, r15b
jne 0x140019843
movsxd rax, dword [r14 + 0x49e0]
imul rcx, rax, 0x38
mov rax, qword [r14 + 0x49e8]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
movss dword [rsi + 0x50], xmm0
movss dword [rsi + 0x54], xmm1
test r12d, r12d
je 0x14001988e
mov r13, qword [rsp + 0x78]
lea rdx, [rsp + 0x58]
lea rcx, [r13 + 0x1c8]
movzx eax, word [rcx]
mov word [rsi + 0xfc], ax
call fcn.1400326e0
mov eax, dword [rsp + 0x54]
bt edi, 0x1a
jb 0x140019892
test r15b, r15b
jne 0x140019892
cmp eax, 0x3000000
je 0x140019892
movsd xmm0, qword [r13 + 0x138]
movsd qword [rsi + 0x50], xmm0
jmp 0x140019892
mov eax, dword [rsp + 0x54]
movss xmm1, dword [rsi + 0x118]
ucomiss xmm1, dword [0x1400534ec]
jp 0x1400198a5
je 0x1400198f6
cmp byte [rsi + 0x111], 0
jne 0x1400198f6
movss xmm0, dword [rsi + 0x58]
lea rdx, [rsp + 0x58]
mulss xmm0, dword [rsi + 0x120]
xor r8d, r8d
mov rcx, rsi
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x11c]
movss dword [rsp + 0x58], xmm1
movss xmm1, dword [rsi + 0x124]
mulss xmm1, dword [rsi + 0x5c]
subss xmm0, xmm1
movss dword [rsp + 0x5c], xmm0
call fcn.14001bee0
jmp 0x140019940
bt edi, 0x1c
jb 0x140019920
bt edi, 0x1a
jae 0x14001990e
test r15b, r15b
jne 0x14001990e
cmp byte [rsp + 0x48], r15b
jg 0x140019920
bt edi, 0x19
jae 0x140019940
test r15b, r15b
jne 0x140019940
cmp eax, 0x3000000
je 0x140019940
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1400203e0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x50], xmm0
movss dword [rsi + 0x54], xmm1
cmp dword [rsi + 0x4c], 0
jl 0x140019ae7
cmp byte [rsi + 0xea], 0
jne 0x140019ae7
mov rax, qword [rsi + 0x38]
test dword [rax + 4], 0x1000
jne 0x140019ae7
movss xmm0, dword [rsi + 0x50]
lea r8, [rsi + 0x50]
movss xmm1, dword [rax + 8]
movaps xmm3, xmm0
comiss xmm0, xmm1
movss xmm6, dword [rax + 0xc]
movaps xmm2, xmm1
movss xmm7, dword [rsi + 0x54]
movaps xmm4, xmm6
addss xmm3, dword [rsi + 0x58]
addss xmm2, dword [rax + 0x10]
addss xmm4, dword [rax + 0x14]
movaps xmm5, xmm7
addss xmm5, dword [rsi + 0x5c]
jb 0x1400199b8
comiss xmm7, xmm6
jb 0x1400199b8
comiss xmm2, xmm3
jb 0x1400199b8
comiss xmm4, xmm5
jae 0x140019ae7
mov edx, dword [rsi + 0x10]
lea r9, [rsi + 0x58]
mov rcx, rsi
mov dword [rsp + 0x20], 0x20
call fcn.140027260
mov rdx, qword [0x14005b740]
mov rcx, rax
mov qword [rsi + 0x38], rax
test rax, rax
je 0x1400199eb
mov eax, dword [rdx + 0x3f60]
mov dword [rcx + 0x6c], eax
cmp qword [rdx + 0x4a10], rcx
je 0x140019a31
test rcx, rcx
je 0x140019a20
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x4a08], eax
mov rax, qword [rdx + 0x3888]
mov qword [rdx + 0x4a10], rcx
test rax, rax
je 0x140019a31
call rax
mov rdx, qword [0x14005b740]
jmp 0x140019a31
mov dword [rdx + 0x4a08], 0x3f800000
mov qword [rdx + 0x4a10], rcx
test dword [r14 + 8], 0x8000
je 0x140019a46
mov rax, qword [rsi + 0x38]
movss xmm0, dword [rax + 0x28]
jmp 0x140019a4e
movss xmm0, dword [0x140053434]
movss dword [rsi + 0x2cc], xmm0
mov qword [rdx + 0x4008], rsi
movsxd rax, dword [rsi + 0x1e8]
cmp eax, 0xffffffff
je 0x140019a79
imul rcx, rax, 0x238
add rcx, qword [rdx + 0x4d10]
jmp 0x140019a7f
xor r13d, r13d
mov ecx, r13d
mov qword [rdx + 0x4ce8], rcx
mov rax, qword [rsi]
movss xmm0, dword [rax + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x140019ab5
mulss xmm0, dword [rax + 0x2c8]
movss dword [rdx + 0x3d58], xmm0
movss dword [rdx + 0x3d40], xmm0
test rcx, rcx
jne 0x140019add
cmp qword [rsi + 0x1e0], rcx
jne 0x140019add
mov al, 1
mov byte [rsi + 0x198], al
jmp 0x140019aee
xor al, al
mov byte [rsi + 0x198], al
jmp 0x140019aee
mov rdx, qword [0x14005b740]
cmp byte [rsi + 0xea], 0
je 0x140019b0a
mov rdx, qword [rbp - 0x80]
mov rcx, rsi
call fcn.140027d20
mov rdx, qword [0x14005b740]
mov rax, qword [rsi + 0x38]
movss xmm8, dword [r14 + 0x39a0]
movss xmm9, dword [r14 + 0x399c]
maxss xmm8, dword [r14 + 0x39a8]
movss xmm0, dword [rax + 0x18]
movss xmm1, dword [rax + 0x1c]
movaps xmm11, xmm0
movss xmm6, dword [rax + 8]
movaps xmm10, xmm1
movss xmm7, dword [rax + 0xc]
movaps xmm4, xmm6
movss dword [rbp + 0x30], xmm6
movaps xmm5, xmm7
movss dword [rbp + 0x34], xmm7
movaps xmm3, xmm8
addss xmm3, xmm1
addss xmm11, dword [rax + 0x20]
addss xmm10, dword [rax + 0x24]
addss xmm4, dword [rax + 0x10]
addss xmm5, dword [rax + 0x14]
movss dword [rbp + 0x4c], xmm3
maxss xmm9, dword [r14 + 0x39a4]
subss xmm10, xmm8
movss dword [rbp + 0x38], xmm4
movss dword [rbp + 0x3c], xmm5
subss xmm11, xmm9
movaps xmm2, xmm9
movss dword [rbp + 0x54], xmm10
addss xmm2, xmm0
movss dword [rbp + 0x50], xmm11
movss dword [rbp + 0x48], xmm2
test r15b, r15b
jne 0x140019d40
test r12d, r12d
jne 0x140019d40
cmp byte [rsi + 0xea], r12b
jne 0x140019c57
subss xmm4, xmm6
comiss xmm4, xmm14
jbe 0x140019d40
subss xmm5, xmm7
comiss xmm5, xmm14
jbe 0x140019d40
movss xmm0, dword [rsi + 0x5c]
cmp byte [rdx + 0x87], r12b
je 0x140019c1b
test byte [rsi + 0x14], 1
je 0x140019c07
cmp qword [rsi + 0x450], 0
je 0x140019c1b
movss xmm0, dword [rdx + 0x3920]
addss xmm0, xmm0
addss xmm0, dword [rdx + 0x3d40]
subss xmm2, dword [rsi + 0x58]
subss xmm3, xmm0
movss xmm0, dword [rsi + 0x54]
comiss xmm3, xmm0
ja 0x140019c36
movaps xmm3, xmm10
minss xmm3, xmm0
movss xmm0, dword [rsi + 0x50]
comiss xmm2, xmm0
ja 0x140019c48
movaps xmm2, xmm11
minss xmm2, xmm0
movss dword [rsi + 0x50], xmm2
movss dword [rsi + 0x54], xmm3
jmp 0x140019d40
cmp dword [r14 + 0x38c0], 0
jle 0x140019d40
mov rax, qword [rsi + 0x38]
movsx rcx, word [rax + 0x8a]
test ecx, ecx
js 0x140019c8e
cmp ecx, dword [rdx + 0x38c0]
jge 0x140019c8e
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, qword [rdx + 0x38c8]
jmp 0x140019c95
lea rcx, [rdx + 0x4a30]
movaps xmm0, xmm9
movaps xmm2, xmm8
addss xmm0, dword [rcx + 0x10]
addss xmm2, dword [rcx + 0x14]
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm2
movss xmm4, dword [rcx + 0x10]
movss xmm3, dword [rcx + 0x1c]
addss xmm4, dword [rcx + 0x18]
addss xmm3, dword [rcx + 0x14]
subss xmm4, xmm9
subss xmm3, xmm8
movss dword [rbp + 0x50], xmm4
movss dword [rbp + 0x54], xmm3
cmp byte [rdx + 0x87], 0
movss xmm1, dword [rsi + 0x5c]
je 0x140019d0b
test byte [rsi + 0x14], 1
je 0x140019cf7
cmp qword [rsi + 0x450], 0
je 0x140019d0b
movss xmm1, dword [rdx + 0x3920]
addss xmm1, xmm1
addss xmm1, dword [rdx + 0x3d40]
subss xmm0, dword [rsi + 0x58]
subss xmm2, xmm1
movss xmm1, dword [rsi + 0x54]
comiss xmm2, xmm1
ja 0x140019d25
movaps xmm2, xmm3
minss xmm2, xmm1
movss xmm1, dword [rsi + 0x50]
comiss xmm0, xmm1
ja 0x140019d36
movaps xmm0, xmm4
minss xmm0, xmm1
movss dword [rsi + 0x50], xmm0
movss dword [rsi + 0x54], xmm2
cvttss2si eax, dword [rsi + 0x50]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movd xmm1, eax
cvttss2si eax, dword [rsi + 0x54]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rsi + 0x50], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x54], xmm0
cmp byte [rsi + 0xea], 0
jne 0x140019de4
test byte [rsi + 0x42d], 1
jne 0x140019de4
test r12d, r12d
je 0x140019daa
movss xmm0, dword [r14 + 0x390c]
xor r9d, r9d
movss dword [rsi + 0x88], xmm0
jmp 0x140019dee
mov eax, edi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140019dce
movss xmm0, dword [r14 + 0x3914]
xor r9d, r9d
movss dword [rsi + 0x88], xmm0
jmp 0x140019dee
movss xmm0, dword [r14 + 0x38f0]
xor r9d, r9d
movss dword [rsi + 0x88], xmm0
jmp 0x140019dee
xor r9d, r9d
mov dword [rsi + 0x88], r9d
xor r13b, r13b
cmp byte [rsp + 0x42], r13b
je 0x140019e28
bt edi, 0xc
jb 0x140019e28
bt edi, 0x1a
jae 0x140019e09
mov r13b, 1
jmp 0x140019e28
test byte [rsi + 0x42d], 1
jne 0x140019e17
test r12d, r12d
jne 0x140019e28
bt edi, 0x19
movzx r13d, r13b
mov eax, 1
cmovae r13d, eax
cmp qword [rsi + 0x450], 0
jne 0x140019e40
test byte [rsi + 0x42d], 1
je 0x140019e40
xor r12b, r12b
jmp 0x140019e43
mov r12b, 1
movss xmm1, dword [r14 + 0x3d40]
xorps xmm0, xmm0
cmp byte [r14 + 0x86], 0
mov rax, 0xffffffffffffffff
movups xmmword [rbp + 0x58], xmm0
mov dword [rbp + 0x40], eax
mov r15d, r9d
movss xmm0, dword [rsi + 0x88]
movaps xmm2, xmm1
addss xmm0, dword [0x140053434]
mulss xmm1, dword [0x1400533d8]
setne r15b
inc r15d
mulss xmm2, dword [0x140053438]
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm8, eax
cvtdq2ps xmm8, xmm8
test r12b, r12b
je 0x140019ee5
cmp byte [rsi + 0xee], 0
jne 0x140019ee5
lea rax, [rbp + 0x48]
mov r9d, r15d
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x40]
lea rax, [rbp + 0x58]
mov rcx, rsi
lea rdx, [rbp + 0x28]
mov qword [rsp + 0x20], rax
call fcn.140016410
test al, al
je 0x140019ee5
mov cl, 1
movzx edx, cl
jmp 0x140019eee
mov ecx, dword [rsp + 0x50]
movzx edx, byte [rsp + 0x41]
movzx eax, byte [rbp + 0x40]
mov byte [rsi + 0xf6], al
cmp byte [rsi + 0xea], 0
je 0x140019fca
mov rax, qword [rsi + 0x38]
cmp byte [rax + 0x59], 0
jne 0x140019f19
movsd xmm0, qword [rsi + 0x50]
movsd qword [rax + 8], xmm0
mov rax, qword [rsi + 0x38]
cmp byte [rax + 0x5a], 0
jne 0x140019f2d
movsd xmm0, qword [rsi + 0x58]
movsd qword [rax + 0x10], xmm0
mov rax, qword [rsi + 0x38]
movss xmm2, dword [rax + 0x118]
movss xmm0, dword [rax + 0xc]
movaps xmm1, xmm2
addss xmm0, dword [rax + 0x11c]
addss xmm1, dword [rax + 8]
movss dword [rax + 0x1c], xmm0
movss xmm0, dword [rax + 0x14]
movss dword [rax + 0x18], xmm1
subss xmm0, dword [rax + 0x11c]
movss xmm1, dword [rax + 0x10]
subss xmm1, xmm2
movaps xmm2, xmm14
addss xmm0, dword [rax + 0x124]
addss xmm1, dword [rax + 0x120]
maxss xmm2, xmm1
movaps xmm1, xmm14
maxss xmm1, xmm0
movss dword [rax + 0x20], xmm2
movss dword [rax + 0x24], xmm1
mov rax, qword [rsi + 0x38]
movss xmm3, dword [rax + 8]
movss xmm2, dword [rax + 0xc]
movaps xmm1, xmm3
addss xmm1, dword [rax + 0x10]
movaps xmm0, xmm2
movss dword [rbp + 0x30], xmm3
addss xmm0, dword [rax + 0x14]
movss dword [rbp + 0x34], xmm2
movss dword [rbp + 0x38], xmm1
movss dword [rbp + 0x3c], xmm0
mov rax, qword [rsi + 0x38]
movsd xmm0, qword [rax + 8]
movsd qword [rsi + 0x44], xmm0
cmp byte [rsi + 0xee], 0
jne 0x14001a16f
cmp qword [rsp + 0x68], 0
lea rax, [rsp + 0x58]
movss xmm0, dword [rsi + 0x94]
movss xmm2, dword [rsi + 0x238]
movss xmm3, dword [rsi + 0x23c]
addss xmm0, dword [rsi + 0x9c]
subss xmm2, dword [rsi + 0x230]
subss xmm3, dword [rsi + 0x234]
movss xmm4, dword [rsi + 0x64]
movss xmm5, dword [rsi + 0x60]
subss xmm4, xmm0
addss xmm2, xmm12
addss xmm3, xmm13
jne 0x14001a045
mov qword [rsp + 0x58], 0
jmp 0x14001a073
movss xmm0, dword [rsi + 0x80]
movss xmm1, dword [rsi + 0x84]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rsi + 0x68]
addss xmm1, dword [rsi + 0x6c]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
movss xmm6, dword [rax]
movss xmm1, dword [rax + 4]
test dl, dl
jne 0x14001a083
movaps xmm5, xmm2
test cl, cl
jne 0x14001a08a
movaps xmm4, xmm3
bt edi, 0xe
jb 0x14001a09f
comiss xmm1, xmm4
jbe 0x14001a09b
test dil, 8
je 0x14001a09f
xor al, al
jmp 0x14001a0a1
mov al, 1
mov byte [rsi + 0xe9], al
lea rcx, [r14 + 0x3954]
bt edi, 0xf
jb 0x14001a0e2
test al, al
je 0x14001a0be
movss xmm0, dword [rcx]
jmp 0x14001a0c2
movaps xmm0, xmm14
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x14001a0d9
mov eax, edi
and eax, 0x808
cmp eax, 0x800
je 0x14001a0e2
mov byte [rsi + 0xe8], 0
jmp 0x14001a109
mov byte [rsi + 0xe8], 1
cmp byte [rsi + 0xe9], 0
jne 0x14001a109
comiss xmm1, xmm4
jbe 0x14001a101
test dil, 8
jne 0x14001a101
mov al, 1
jmp 0x14001a103
xor al, al
mov byte [rsi + 0xe9], al
cmp byte [rsi + 0xe8], 0
je 0x14001a118
movss xmm1, dword [rcx]
jmp 0x14001a11c
movaps xmm1, xmm14
cmp byte [rsi + 0xe9], 0
je 0x14001a12b
movss xmm0, dword [rcx]
jmp 0x14001a12f
movaps xmm0, xmm14
movss dword [rsi + 0xe0], xmm0
movss dword [rsi + 0xe4], xmm1
movss xmm0, dword [rsi + 0xe0]
addss xmm0, dword [rsi + 0x98]
movss dword [rsi + 0x98], xmm0
movss xmm1, dword [rsi + 0xe4]
addss xmm1, dword [rsi + 0x9c]
movss dword [rsi + 0x9c], xmm1
movaps xmm13, xmmword [rsp + 0x180]
and edi, 0x5000000
movaps xmm12, xmmword [rsp + 0x190]
cmp edi, 0x1000000
jne 0x14001a1a6
cmp dword [rsp + 0x54], 0x3000000
je 0x14001a1a6
mov rax, qword [rsp + 0x78]
add rax, 0x270
jmp 0x14001a1aa
lea rax, [rbp + 0x30]
test byte [rsi + 0x14], 1
movups xmm0, xmmword [rax]
mov rcx, qword [rsi]
movss xmm3, dword [rsi + 0x50]
movss xmm4, dword [rsi + 0x54]
movaps xmm5, xmm3
addss xmm5, dword [rsi + 0x58]
movaps xmm6, xmm4
addss xmm6, dword [rsi + 0x5c]
movups xmmword [rsp + 0x58], xmm0
je 0x14001a1db
movaps xmm2, xmm14
jmp 0x14001a217
movss xmm0, dword [rcx + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x14001a207
mulss xmm0, dword [rax + 0x2c8]
movss xmm2, dword [rcx + 0x3920]
addss xmm2, xmm2
addss xmm2, xmm0
movaps xmm1, xmm3
addss xmm2, xmm4
addss xmm1, dword [rsi + 0x60]
movss dword [rbp - 0x60], xmm3
movss xmm0, dword [rsi + 0x54]
movss dword [rbp - 0x5c], xmm0
movss dword [rbp - 0x54], xmm2
movss dword [rbp - 0x58], xmm1
movss dword [rsi + 0x220], xmm3
movss dword [rsi + 0x224], xmm4
movss dword [rsi + 0x228], xmm5
movss dword [rsi + 0x22c], xmm6
test byte [rsi + 0x42d], 1
je 0x14001a2c0
test byte [rsi + 0x14], 1
mov rcx, qword [rsi]
je 0x14001a274
movaps xmm0, xmm14
jmp 0x14001a2b0
movss xmm1, dword [rcx + 0x3d44]
mulss xmm1, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm1, dword [rsi + 0x2cc]
test rax, rax
je 0x14001a2a0
mulss xmm1, dword [rax + 0x2c8]
movss xmm0, dword [rcx + 0x3920]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm0, dword [rsi + 0x224]
movss dword [rsi + 0x224], xmm0
movss xmm1, dword [rsi + 0x220]
movss xmm0, dword [rsi + 0x224]
movss xmm4, dword [rsp + 0x58]
movss xmm5, dword [rsp + 0x5c]
maxss xmm1, xmm4
movss xmm7, dword [rsp + 0x60]
maxss xmm0, xmm5
movss xmm6, dword [rsp + 0x64]
mov ecx, dword [rbp + 0x20]
mov eax, ecx
and eax, 0x401
movss dword [rsi + 0x220], xmm1
movss dword [rsi + 0x224], xmm0
movss xmm0, dword [rsi + 0x22c]
movss xmm1, dword [rsi + 0x228]
minss xmm0, xmm6
minss xmm1, xmm7
movss dword [rsi + 0x22c], xmm0
movss dword [rsi + 0x228], xmm1
movss xmm0, dword [rsi + 0x90]
addss xmm0, dword [rsi + 0x50]
movss dword [rsi + 0x230], xmm0
movss xmm0, dword [rsi + 0x94]
addss xmm0, dword [rsi + 0x54]
movss dword [rsi + 0x234], xmm0
movss xmm0, dword [rsi + 0x50]
addss xmm0, dword [rsi + 0x58]
subss xmm0, dword [rsi + 0x98]
movss dword [rsi + 0x238], xmm0
movss xmm0, dword [rsi + 0x5c]
addss xmm0, dword [rsi + 0x54]
subss xmm0, dword [rsi + 0x9c]
movss dword [rsi + 0x23c], xmm0
cmp eax, 1
jne 0x14001a39f
movss xmm2, dword [rsi + 0x8c]
jmp 0x14001a3a8
movss xmm2, dword [r14 + 0x3928]
movss xmm0, dword [rsi + 0x80]
movss xmm3, dword [0x1400533f0]
mulss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rsi + 0x230]
addss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rsi + 0x8c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x240], xmm0
movss xmm1, dword [rsi + 0x234]
addss xmm1, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x244], xmm0
movss xmm0, dword [rsi + 0x80]
movss xmm2, dword [rsi + 0x238]
mulss xmm0, xmm3
addss xmm2, xmm3
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rsi + 0x8c]
subss xmm2, xmm1
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x248], xmm0
movss xmm1, dword [rsi + 0x23c]
addss xmm1, xmm3
subss xmm1, dword [rsi + 0x8c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x24c], xmm0
movss xmm0, dword [rsi + 0x244]
comiss xmm5, xmm0
jbe 0x14001a490
movaps xmm1, xmm5
jmp 0x14001a497
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm2, dword [rsi + 0x240]
comiss xmm4, xmm2
jbe 0x14001a4a9
movaps xmm0, xmm4
jmp 0x14001a4b0
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [rsi + 0x240], xmm0
movss dword [rsi + 0x244], xmm1
movss xmm0, dword [rsi + 0x24c]
comiss xmm5, xmm0
ja 0x14001a4d4
movaps xmm5, xmm6
minss xmm5, xmm0
movss xmm0, dword [rsi + 0x248]
comiss xmm4, xmm0
ja 0x14001a4e8
movaps xmm4, xmm7
minss xmm4, xmm0
movss dword [rsi + 0x248], xmm4
movss dword [rsi + 0x24c], xmm5
movss xmm0, dword [rsi + 0x58]
comiss xmm0, xmm14
jbe 0x14001a515
test ecx, 0x2000040
jne 0x14001a515
mulss xmm0, dword [0x1400533fc]
jmp 0x14001a526
movss xmm0, dword [r14 + 0x3d40]
mulss xmm0, dword [0x140053498]
cvttss2si eax, xmm0
mov rdx, rsi
lea rcx, [rbp - 0x70]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x2a4], xmm0
movss xmm1, dword [rsi + 0x80]
movss xmm0, dword [rsi + 0x238]
addss xmm1, xmm1
subss xmm0, dword [rsi + 0x230]
addss xmm1, dword [rsi + 0x68]
subss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
movss dword [rsi + 0xc0], xmm0
movss xmm0, dword [rsi + 0x23c]
subss xmm0, dword [rsi + 0x234]
movss xmm1, dword [rsi + 0x84]
addss xmm1, xmm1
addss xmm1, dword [rsi + 0x6c]
subss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
movss dword [rsi + 0xc4], xmm0
call fcn.14001eec0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0xb8], xmm0
movss dword [rsi + 0xbc], xmm1
mov dword [rsi + 0xc8], 0x7f7fffff
mov dword [rsi + 0xcc], 0x7f7fffff
mov rcx, qword [rsi + 0x2d8]
mov qword [rsi + 0xa0], 0
mov rax, qword [r14 + 0x3d38]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.14003bd50
mov rcx, qword [0x14005b740]
lea r8, [rsp + 0x60]
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xed], 1
mov rbx, qword [rcx + 0x4008]
mov rcx, qword [rbx + 0x2d8]
call fcn.14003bc40
mov rax, qword [rbx + 0x2d8]
mov rcx, qword [rax + 0x60]
movsxd rdx, dword [rax + 0x58]
add rdx, rdx
mov eax, dword [rcx + rdx*8 - 0x10]
movss xmm0, dword [rcx + rdx*8 - 0xc]
movss xmm1, dword [rcx + rdx*8 - 8]
movss xmm2, dword [rcx + rdx*8 - 4]
mov dword [rbx + 0x270], eax
movss dword [rbx + 0x274], xmm0
movss dword [rbx + 0x278], xmm1
movss dword [rbx + 0x27c], xmm2
movzx eax, byte [rsi + 0x42d]
and al, 5
cmp al, 1
je 0x14001a7d4
xor bl, bl
cmp edi, 0x1000000
jne 0x14001a753
cmp dword [rsp + 0x54], 0x3000000
je 0x14001a753
mov r9, qword [rsp + 0x78]
movsxd rax, dword [r9 + 0x1c8]
cmp eax, 2
jl 0x14001a71c
mov rcx, rax
mov rax, qword [r9 + 0x1d0]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x14001a71c
movss xmm1, dword [rsi + 0x54]
movss xmm5, dword [rdx + 0x54]
movaps xmm2, xmm1
movss xmm7, dword [rdx + 0x50]
movaps xmm0, xmm5
addss xmm0, dword [rdx + 0x5c]
movss xmm6, dword [rsi + 0x50]
movaps xmm3, xmm7
addss xmm3, dword [rdx + 0x58]
addss xmm2, dword [rsi + 0x5c]
movaps xmm4, xmm6
comiss xmm0, xmm1
addss xmm4, dword [rsi + 0x58]
jbe 0x14001a71c
comiss xmm2, xmm5
jbe 0x14001a71c
comiss xmm3, xmm6
jbe 0x14001a71c
comiss xmm4, xmm7
jbe 0x14001a71c
mov r8b, 1
jmp 0x14001a71f
xor r8b, r8b
mov rdx, qword [rsi + 0x2d8]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], 0
jne 0x14001a753
mov rax, qword [r9 + 0x2d8]
cmp dword [rax + 0x20], 0
je 0x14001a753
test r8b, r8b
jne 0x14001a753
mov bl, 1
mov qword [rsi + 0x2d8], rax
mov rcx, qword [r14 + 0x4bf0]
test rcx, rcx
jne 0x14001a766
mov rcx, qword [r14 + 0x4a68]
test r13b, r13b
jne 0x14001a79a
test rcx, rcx
je 0x14001a795
mov rax, qword [rcx + 0x3d0]
cmp qword [rsi + 0x3d0], rax
je 0x14001a79a
mov rax, qword [rsi + 0x448]
test rax, rax
je 0x14001a795
cmp rax, qword [rcx + 0x448]
je 0x14001a79a
xor r8b, r8b
jmp 0x14001a79d
mov r8b, 1
movss dword [rsp + 0x30], xmm8
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x60]
movzx r9d, r12b
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.140017480
test bl, bl
je 0x14001a7d4
lea rax, [rsi + 0x2e0]
mov qword [rsi + 0x2d8], rax
mov r12d, dword [rbp + 0x20]
mov ecx, r12d
movss xmm3, dword [rsi + 0x78]
shr ecx, 3
not cl
and cl, 1
ucomiss xmm3, xmm14
jp 0x14001a837
jne 0x14001a837
movss xmm0, dword [rsi + 0x80]
mov eax, r12d
movss xmm1, dword [rsi + 0x58]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x98]
addss xmm0, dword [rsi + 0x90]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x14001a82f
movss xmm3, dword [rsi + 0x68]
jmp 0x14001a833
movaps xmm3, xmm14
maxss xmm3, xmm1
movss xmm2, dword [rsi + 0x7c]
ucomiss xmm2, xmm14
jp 0x14001a880
jne 0x14001a880
movss xmm0, dword [rsi + 0x84]
movss xmm1, dword [rsi + 0x5c]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x9c]
addss xmm0, dword [rsi + 0x94]
subss xmm1, xmm0
test cl, cl
je 0x14001a878
movss xmm2, dword [rsi + 0x6c]
jmp 0x14001a87c
movaps xmm2, xmm14
maxss xmm2, xmm1
movss xmm1, dword [rsi + 0x230]
subss xmm1, dword [rsi + 0xb8]
movss xmm0, dword [rsi + 0x80]
maxss xmm0, dword [rsi + 0x8c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x250], xmm0
movss xmm1, dword [rsi + 0x234]
movss xmm0, dword [rsi + 0x84]
maxss xmm0, dword [rsi + 0x8c]
subss xmm1, dword [rsi + 0xbc]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x254], xmm0
addss xmm3, dword [rsi + 0x250]
movss dword [rsi + 0x258], xmm3
addss xmm2, dword [rsi + 0x254]
movss dword [rsi + 0x25c], xmm2
movups xmm0, xmmword [rsi + 0x250]
movups xmmword [rsi + 0x260], xmm0
movss xmm0, dword [rsi + 0x50]
subss xmm0, dword [rsi + 0xb8]
addss xmm0, dword [rsi + 0x80]
addss xmm0, dword [rsi + 0x90]
movss dword [rsi + 0x280], xmm0
movss xmm0, dword [rsi + 0x54]
subss xmm0, dword [rsi + 0xbc]
addss xmm0, dword [rsi + 0x84]
addss xmm0, dword [rsi + 0x94]
movss dword [rsi + 0x284], xmm0
movss xmm1, dword [rsi + 0x78]
ucomiss xmm1, xmm14
jp 0x14001a99c
jne 0x14001a99c
movss xmm0, dword [rsi + 0x80]
movss xmm1, dword [rsi + 0x58]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x98]
addss xmm0, dword [rsi + 0x90]
subss xmm1, xmm0
addss xmm1, dword [rsi + 0x280]
movss dword [rsi + 0x288], xmm1
movss xmm2, dword [rsi + 0x7c]
ucomiss xmm2, xmm14
jp 0x14001a9e2
jne 0x14001a9e2
movss xmm0, dword [rsi + 0x84]
movss xmm2, dword [rsi + 0x5c]
addss xmm0, xmm0
subss xmm2, xmm0
movss xmm0, dword [rsi + 0x9c]
addss xmm0, dword [rsi + 0x94]
subss xmm2, xmm0
addss xmm2, dword [rsi + 0x284]
movzx r8d, byte [rsp + 0x42]
lea rcx, [rsi + 0x1a4]
xor edi, edi
movss dword [rsi + 0x28c], xmm2
movss xmm0, dword [rsi + 0x90]
addss xmm0, dword [rsi + 0x80]
subss xmm0, dword [rsi + 0xb8]
movss dword [rsi + 0x17c], xmm0
mov qword [rsi + 0x180], rdi
movss xmm2, dword [rsi + 0x50]
movss xmm0, dword [rsi + 0x80]
movss xmm1, dword [rsi + 0xb8]
movss xmm3, dword [rsi + 0x84]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rsi + 0x90]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rsi + 0xbc]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
xorps xmm0, xmm0
addsd xmm2, xmm0
movss xmm0, dword [rsi + 0x54]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movss xmm0, dword [rsi + 0x94]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rsi + 0x148], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rsi + 0x14c], xmm0
movss xmm0, dword [rsi + 0x148]
movss xmm1, dword [rsi + 0x14c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rsi + 0x188], xmm2
movss dword [rsi + 0x18c], xmm0
movss xmm1, dword [rsi + 0x148]
movss xmm2, dword [rsi + 0x14c]
movss dword [rsi + 0x138], xmm1
movss dword [rsi + 0x13c], xmm2
movss dword [rsi + 0x140], xmm1
movss dword [rsi + 0x144], xmm2
movsd xmm0, qword [rsi + 0x148]
movsd qword [rsi + 0x150], xmm0
movsd xmm1, qword [rsi + 0x148]
movsd qword [rsi + 0x158], xmm1
mov qword [rsi + 0x168], rdi
mov qword [rsi + 0x160], rdi
mov qword [rsi + 0x170], rdi
mov word [rsi + 0x178], di
mov dword [rsi + 0x190], edi
movzx eax, word [rsi + 0x196]
mov word [rsi + 0x194], ax
mov dword [rsi + 0x196], 0x10000
movss xmm0, dword [rsi + 0xc4]
comiss xmm0, xmm14
seta al
mov byte [rsi + 0x19a], al
mov byte [rsi + 0x19b], dil
movss xmm1, dword [r14 + 0x392c]
call fcn.140007040
lea rcx, [rsi + 0x1c8]
mov qword [rsi + 0x1c0], rdi
call fcn.1400327b0
lea rax, [rsi + 0x2a8]
mov qword [rsi + 0x1d8], rax
mov eax, 1
mov qword [rsi + 0x1e0], rdi
mov dword [rsi + 0x1ec], eax
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x14001abdf
mov eax, dword [r15 + 0x1ec]
mov dword [rsi + 0x1f0], eax
lea rcx, [rsi + 0x200]
mov eax, dword [rsi + 0x2a4]
mov dword [rsi + 0x1f4], eax
mov dword [rsi + 0x1f8], 0xbf800000
call fcn.140032960
lea rcx, [rsi + 0x210]
call fcn.140032960
movzx eax, byte [rsi + 0x108]
test al, al
jle 0x14001ac26
dec al
mov byte [rsi + 0x108], al
movzx eax, byte [rsi + 0x109]
test al, al
jle 0x14001ac39
dec al
mov byte [rsi + 0x109], al
test r13b, r13b
je 0x14001ac5e
mov edx, 2
mov rcx, rsi
call fcn.14001b890
cmp rsi, qword [r14 + 0x4a68]
jne 0x14001ac5e
xor edx, edx
mov rcx, rsi
call fcn.140021800
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x14001acbc
mov rdx, qword [rsi + 0x38]
cmp byte [rdx + 0x5b], dil
je 0x14001acbc
mov rax, qword [0x14005b740]
mov rcx, qword [rax + 0x4a00]
cmp rdx, qword [rcx]
je 0x14001acbc
movzx eax, byte [rsi + 0x42d]
and al, 5
cmp al, 1
je 0x14001acbc
mov byte [rdx + 0x5b], dil
test dword [r14 + 0x5ec4], 0x100
mov byte [r14 + 0x4c10], dil
je 0x14001acb9
mov rdx, qword [rsi + 8]
lea rcx, str._viewport__Window__s_PlatformRequestClose_n
call fcn.1400316d0
mov byte [rbx], dil
test r12b, 1
jne 0x14001ad16
test byte [rsi + 0x42d], 1
jne 0x14001ad16
movss xmm2, dword [rsi + 0x8c]
lea rdx, [rbp - 0x70]
movss xmm0, dword [rbp - 0x60]
mov r9, rbx
movss xmm1, dword [rbp - 0x58]
addss xmm0, xmm2
mov r8, qword [rbp - 0x50]
subss xmm1, xmm2
mov rcx, rsi
movss dword [rbp - 0x70], xmm0
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp - 0x6c], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp - 0x64], xmm0
movss dword [rbp - 0x68], xmm1
call fcn.140017f40
mov dword [rsi + 0x290], edi
test byte [r14 + 8], 0x40
je 0x14001ae89
cmp qword [r14 + 0x4020], rsi
jne 0x14001ae49
movzx eax, byte [r14 + 0xe31]
cmp byte [r14 + 0x79], al
jne 0x14001ae49
mov rax, qword [rsi + 0x3c8]
test dword [rax + 0x14], 0x200000
jne 0x14001ae49
mov rbx, qword [0x14005b740]
mov eax, dword [rsi + 0xac]
mov dword [rbx + 0x48a4], eax
mov rax, qword [rsi + 0x3c8]
mov qword [rbp - 0x50], rax
cmp byte [rbx + 0x79], dil
jne 0x14001adcd
movss xmm0, dword [rbx + 0x3920]
movss xmm2, dword [rbx + 0x407c]
addss xmm0, xmm0
comiss xmm2, xmm14
addss xmm0, dword [rbx + 0x3d40]
movss xmm3, dword [rax + 0x60]
jb 0x14001ae49
movss xmm1, dword [rbx + 0x4080]
comiss xmm1, xmm14
jb 0x14001ae49
comiss xmm3, xmm2
jbe 0x14001ae49
comiss xmm0, xmm1
jbe 0x14001ae49
call fcn.140024fc0
test al, al
je 0x14001ae49
lea rdx, [rbp - 0x50]
call fcn.140025110
mov rdi, qword [0x14005b740]
test byte [rdi + 0x4c30], 1
jne 0x14001adf4
call fcn.14001b400
cmp dword [rdi + 0x4c54], 0xffffffff
jne 0x14001ae02
call fcn.140024f00
mov r9, qword [rbp - 0x50]
lea r8, [0x14004cd88]
sub r9, r8
mov byte [rdi + 0x4c2d], 0
lea r10, [0x14004cda0]
nop
movsxd rcx, dword [r8]
shl rcx, 4
add rcx, 0x39bc
add rcx, rbx
call fcn.14000d6a0
mov dword [r9 + r8 + 0x430], eax
add r8, 4
cmp r8, r10
jl 0x14001ae20
xor edi, edi
cmp byte [r14 + 0x4c2c], 0
je 0x14001ae89
bt r12d, 0x15
jb 0x14001ae89
mov rax, qword [r14 + 0x4020]
test rax, rax
je 0x14001ae6f
cmp qword [rax + 0x3c8], rsi
je 0x14001ae89
cmp rsi, qword [rsi + 0x3c8]
jne 0x14001ae89
test dword [rsi + 0x14], 0x20000000
jne 0x14001ae89
mov rcx, rsi
call fcn.1400303f0
test byte [rsi + 0x42d], 1
je 0x14001aedd
mov r8, qword [0x14005b740]
mov edx, dword [rsi + 0x45c]
mov ecx, dword [r14 + 0x4888]
mov eax, dword [rsi + 0xac]
mov dword [r8 + 0x48a4], eax
mov dword [r8 + 0x48a8], ecx
mov dword [r8 + 0x48ac], edx
movups xmm0, xmmword [rsi + 0x460]
movups xmmword [r8 + 0x48c0], xmm0
movups xmmword [r8 + 0x48b0], xmm0
jmp 0x14001afc0
mov rax, qword [0x14005b740]
movss xmm7, dword [rbp - 0x58]
movss xmm6, dword [rbp - 0x60]
movaps xmm3, xmm7
movss xmm5, dword [rbp - 0x54]
movaps xmm0, xmm6
movss xmm2, dword [rax + 0x3944]
movaps xmm4, xmm5
movss xmm1, dword [rax + 0x3948]
subss xmm0, xmm2
movss xmm8, dword [rbp - 0x5c]
addss xmm3, xmm2
movaps xmm2, xmm8
addss xmm4, xmm1
subss xmm2, xmm1
movss xmm1, dword [rax + 0xe10]
comiss xmm1, xmm0
jb 0x14001af80
movss xmm0, dword [rax + 0xe14]
comiss xmm0, xmm2
jb 0x14001af80
comiss xmm3, xmm1
jbe 0x14001af80
comiss xmm4, xmm0
jbe 0x14001af80
mov rax, qword [rax + 0x4a18]
movss xmm2, dword [rax + 0xc]
movss xmm3, dword [rax + 8]
movaps xmm0, xmm2
addss xmm0, dword [rax + 0x14]
movaps xmm1, xmm3
addss xmm1, dword [rax + 0x10]
comiss xmm0, xmm8
jbe 0x14001af80
comiss xmm5, xmm2
jbe 0x14001af80
comiss xmm1, xmm6
jbe 0x14001af80
comiss xmm7, xmm3
ja 0x14001af84
mov dword [rsp + 0x70], edi
mov eax, dword [rsi + 0xac]
mov rdx, qword [0x14005b740]
mov ecx, dword [r14 + 0x4888]
mov dword [rdx + 0x48a4], eax
mov eax, dword [rsp + 0x70]
mov dword [rdx + 0x48ac], eax
mov dword [rdx + 0x48a8], ecx
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rdx + 0x48c0], xmm0
movups xmmword [rdx + 0x48b0], xmm0
mov eax, dword [r14 + 0x488c]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
test eax, eax
je 0x14001aff6
cmp dword [rsi + 0x10], eax
je 0x14001aff1
cmp dword [rsi + 0xac], eax
jne 0x14001aff6
call fcn.1400317b0
mov edi, dword [rsp + 0x4c]
xor r13d, r13d
bt r12d, 0x1d
jb 0x14001b083
mov rcx, qword [0x14005b740]
lea r8, [rsi + 0x248]
lea rdx, [rsi + 0x240]
mov r9b, 1
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xed], 1
mov rbx, qword [rcx + 0x4008]
mov rcx, qword [rbx + 0x2d8]
call fcn.14003bc40
mov rax, qword [rbx + 0x2d8]
mov rcx, qword [rax + 0x60]
movsxd rdx, dword [rax + 0x58]
add rdx, rdx
movss xmm0, dword [rcx + rdx*8 - 0xc]
movss xmm1, dword [rcx + rdx*8 - 8]
movss xmm2, dword [rcx + rdx*8 - 4]
mov eax, dword [rcx + rdx*8 - 0x10]
mov dword [rbx + 0x270], eax
movss dword [rbx + 0x274], xmm0
movss dword [rbx + 0x278], xmm1
movss dword [rbx + 0x27c], xmm2
mov rbx, qword [rsp + 0x258]
mov byte [rsi + 0xed], 0
inc word [rsi + 0xf8]
cmp dword [rsp + 0x44], edi
mov rdi, qword [rsp + 0x218]
mov dword [r14 + 0x48e0], r13d
mov r13, qword [rsp + 0x208]
je 0x14001b360
movzx eax, byte [rsi + 0x42d]
and al, 5
cmp al, 1
jne 0x14001b1f4
mov eax, dword [r14 + 0x3f60]
cmp dword [rsi + 0x29c], eax
jne 0x14001b1ed
mov byte [rsi + 0x111], 1
jmp 0x14001b1f4
mov rcx, qword [rsi + 0x38]
mov rdx, qword [0x14005b740]
test rcx, rcx
je 0x14001b103
mov eax, dword [rdx + 0x3f60]
mov dword [rcx + 0x6c], eax
cmp qword [rdx + 0x4a10], rcx
je 0x14001b142
test rcx, rcx
je 0x14001b131
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x4a08], eax
mov rax, qword [rdx + 0x3888]
mov qword [rdx + 0x4a10], rcx
test rax, rax
je 0x14001b142
call rax
jmp 0x14001b142
mov dword [rdx + 0x4a08], 0x3f800000
mov qword [rdx + 0x4a10], rcx
mov rcx, qword [0x14005b740]
mov qword [rcx + 0x4008], rsi
movsxd rax, dword [rsi + 0x1e8]
cmp eax, 0xffffffff
je 0x14001b16f
imul rdx, rax, 0x238
add rdx, qword [rcx + 0x4d10]
xor r13d, r13d
jmp 0x14001b175
xor r13d, r13d
mov edx, r13d
mov qword [rcx + 0x4ce8], rdx
mov rax, qword [rsi]
movss xmm0, dword [rax + 0x3d44]
mulss xmm0, dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x3a8]
mulss xmm0, dword [rsi + 0x2cc]
test rax, rax
je 0x14001b1ab
mulss xmm0, dword [rax + 0x2c8]
movss dword [rcx + 0x3d58], xmm0
movss dword [rcx + 0x3d40], xmm0
test rdx, rdx
jne 0x14001b1db
cmp qword [rsi + 0x1e0], rdx
jne 0x14001b1db
mov r15, qword [rsp + 0x78]
mov al, 1
mov byte [rsi + 0x198], al
jmp 0x14001affd
mov r15, qword [rsp + 0x78]
xor al, al
mov byte [rsi + 0x198], al
jmp 0x14001affd
mov byte [rsi + 0x110], 1
bt r12d, 0x18
jae 0x14001b2bc
test r12b, 0x40
jne 0x14001b281
cmp byte [rsi + 0x108], 0
jg 0x14001b281
cmp byte [rsi + 0x109], 0
jg 0x14001b281
bt r12d, 0x17
jae 0x14001b248
cmp byte [r14 + 0x4aa8], 0
je 0x14001b248
mov rcx, qword [r14 + 0x4a68]
test rcx, rcx
je 0x14001b248
mov rax, qword [rsi + 0x3d8]
cmp qword [rcx + 0x3d8], rax
jne 0x14001b248
mov al, 1
jmp 0x14001b24a
xor al, al
cmp byte [r14 + 0x5e80], 0
jne 0x14001b281
test al, al
jne 0x14001b281
movss xmm0, dword [rsi + 0x220]
comiss xmm0, dword [rsi + 0x228]
jae 0x14001b27a
movss xmm0, dword [rsi + 0x224]
comiss xmm0, dword [rsi + 0x22c]
jb 0x14001b281
mov byte [rsi + 0x110], 1
test r15, r15
je 0x14001b2bc
cmp byte [r15 + 0xee], 0
jne 0x14001b29a
cmp byte [r15 + 0x110], 0
jle 0x14001b2a1
mov byte [rsi + 0x110], 1
cmp byte [r15 + 0xee], 0
jne 0x14001b2b5
cmp byte [r15 + 0x111], 0
jle 0x14001b2bc
mov byte [rsi + 0x111], 1
comiss xmm14, dword [r14 + 0x38e0]
jb 0x14001b2cd
mov byte [rsi + 0x110], 1
cmp byte [rsi + 0x110], 0
jg 0x14001b2ed
cmp byte [rsi + 0x111], 0
jg 0x14001b2ed
xor cl, cl
cmp byte [rsi + 0x112], cl
jg 0x14001b2ef
xor al, al
jmp 0x14001b2f1
mov cl, 1
mov al, 1
mov byte [rsi + 0xf2], al
movzx eax, byte [rsi + 0x113]
test al, al
jle 0x14001b311
dec al
mov byte [rsi + 0x113], al
or dword [rsi + 0x14], 0xc0200
cmp byte [rsi + 0xee], 0
jne 0x14001b327
cmp byte [rsi + 0xeb], 0
je 0x14001b327
test cl, cl
je 0x14001b359
cmp byte [rsi + 0x108], 0
jg 0x14001b359
cmp byte [rsi + 0x109], 0
jg 0x14001b359
cmp byte [rsi + 0x111], 0
jg 0x14001b359
mov byte [rsi + 0xf0], 1
movzx eax, word [rsi + 0x194]
mov word [rsi + 0x196], ax
jmp 0x14001b360
mov byte [rsi + 0xf0], 0
cmp byte [rsi + 0xf3], 0
movaps xmm14, xmmword [rsp + 0x170]
mov r15, qword [rsp + 0x200]
mov r12, qword [rsp + 0x210]
jne 0x14001b3d9
cmp byte [r14 + 0x8c], 0
je 0x14001b394
cmp qword [rsp + 0x68], 0
je 0x14001b3af
cmp byte [r14 + 0x8d], 0
je 0x14001b3d9
movsx eax, byte [r14 + 0x5ef2]
cmp eax, dword [r14 + 0x3fd8]
jne 0x14001b3d9
movzx eax, byte [rsi + 0x108]
test al, al
jle 0x14001b3c2
inc al
mov byte [rsi + 0x108], al
movzx eax, byte [rsi + 0x109]
test al, al
jle 0x14001b3d5
inc al
mov byte [rsi + 0x109], al
xor al, al
jmp 0x14001b3e3
cmp byte [rsi + 0xf0], 0
sete al
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.140049ee0
add rsp, 0x220
pop r14
pop rsi
pop rbp
ret