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

Disassembly:
mov r11, rsp
push rbp
push rsi
push r15
lea rbp, [r11 - 0x158]
sub rsp, 0x240
movaps xmmword [r11 - 0xd8], xmm15
mov rax, qword [0x1800e7010]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r15, qword [0x1800ebe10]
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], r14
mov r11, rcx
mov qword [rbp - 0x60], rcx
mov ecx, r10d
mov qword [rbp - 0x68], rdx
movzx r9d, byte [r11]
lea r8, [r11 + 1]
test r9b, r9b
je 0x180010a40
lea rdi, [0x1800bfac0]
cmp r9b, 0x23
jne 0x180010a24
cmp byte [r8], r9b
jne 0x180010a24
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 0x180010a11
not ecx
call fcn.18000dce0
test rax, rax
mov qword [rsp + 0x70], rax
mov r8, rax
mov rsi, rax
sete byte [rsp + 0x41]
test rax, rax
jne 0x180010a71
mov edx, ebx
mov rcx, r11
call fcn.18000de40
mov r8, qword [rsp + 0x70]
mov rsi, rax
mov r9d, dword [r15 + 0x3f58]
lea r14, [r15 + 0x3fa8]
mov edi, dword [rsi + 0x290]
mov ecx, ebx
and ecx, 0xc0200
mov dword [rsp + 0x48], r9d
mov r13d, ebx
mov dword [rsp + 0x4c], edi
or r13d, 6
cmp ecx, 0xc0200
cmovne r13d, ebx
cmp dword [r14], 0
mov dword [rsp + 0x44], r13d
jne 0x180010ac0
cmp byte [r15 + 0x3f69], 0
je 0x180010ac0
mov al, 1
jmp 0x180010ac2
xor al, al
mov byte [rsi + 0xeb], al
lea eax, [r9 - 1]
cmp edi, eax
setl bl
mov byte [rsp + 0x42], bl
bt r13d, 0x1a
jae 0x180010b08
movsxd rax, dword [r15 + 0x49b0]
imul rcx, rax, 0x38
add rcx, qword [r15 + 0x49a8]
cmp rsi, qword [rcx + 8]
mov eax, dword [rcx]
setne dl
cmp dword [rsi + 0xfc], eax
setne al
or dl, al
or bl, dl
mov byte [rsp + 0x42], bl
movzx r12d, byte [rsi + 0xe9]
xor ecx, ecx
cmp edi, r9d
je 0x180010cb3
mov rbx, qword [0x1800ebe10]
mov qword [rbp - 0x50], rsi
bt r13d, 0x18
jae 0x180010b41
mov eax, r13d
and eax, 0x14000000
cmp eax, 0x4000000
je 0x180010b41
mov dil, 1
jmp 0x180010b44
xor dil, dil
movzx eax, byte [rsi + 0xec]
test r8, r8
je 0x180010b59
cmp dil, al
je 0x180010c38
test dil, dil
jne 0x180010b7d
lea rdx, [rbp - 0x50]
lea rcx, [rbx + 0x3f88]
call fcn.180038920
movzx eax, word [rbx + 0x3f88]
dec ax
jmp 0x180010c2a
test r8, r8
je 0x180010c38
cmp dil, al
je 0x180010c38
test dil, dil
je 0x180010c38
movsx edx, word [rsi + 0xf8]
mov r9d, dword [rbx + 0x3f88]
inc edx
cmp edx, r9d
jge 0x180010be5
movsxd rax, edx
lea r8, [rax*8]
nop dword [rax + rax]
mov rax, qword [rbx + 0x3f90]
lea r8, [r8 + 8]
inc edx
mov rcx, qword [rax + r8 - 8]
dec word [rcx + 0xf8]
mov r9d, dword [rbx + 0x3f88]
cmp edx, r9d
jl 0x180010bc0
mov rax, qword [rbx + 0x3f90]
movsx rdx, word [rsi + 0xf8]
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 + 0x3f88]
mov rax, 0xffffffffffffffff
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
mov word [rsi + 0xf8], ax
movzx eax, byte [rsp + 0x42]
mov byte [rsi + 0xec], dil
mov byte [rsi + 0xe9], al
test al, al
je 0x180010c6a
or byte [rsi + 0x10c], 8
or byte [rsi + 0x10d], 8
or byte [rsi + 0x10e], 8
or byte [rsi + 0x10f], 8
mov eax, dword [rsi + 0xc]
mov edi, dword [rsp + 0x4c]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0xc], r13d
mov dword [rsi + 0x290], r9d
movsd xmm0, qword [r15 + 0x3f50]
mov word [rsi + 0xf4], cx
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x298], xmm0
movzx eax, word [r15 + 0x3fc8]
inc dword [r15 + 0x3fc8]
mov word [rsi + 0xf6], ax
jmp 0x180010cba
mov eax, dword [rsi + 0xc]
mov dword [rsp + 0x44], eax
test dword [r15 + 0x48b0], 0x200
je 0x180010ce2
mov r8d, dword [r15 + 0x48c0]
mov rcx, rsi
mov edx, dword [r15 + 0x4918]
call fcn.180029360
mov r9d, dword [rsp + 0x48]
cmp edi, r9d
je 0x180010dcd
cmp dword [rsi + 0x440], 0
jne 0x180010da7
cmp qword [rsi + 0x430], 0
jne 0x180010da7
mov rax, qword [0x1800ebe10]
xor cl, cl
cmp byte [rax + 0x7a], cl
jne 0x180010d1d
cmp byte [rsi + 0x2c], cl
je 0x180010da9
test dword [rsi + 0xc], 0x1200001
lea rdi, [rsi + 0xc]
jne 0x180010da9
cmp byte [rsi + 0xeb], cl
jne 0x180010da9
movzx ebx, byte [rsi + 0x415]
mov rdx, qword [rbp - 0x68]
mov rcx, rsi
call fcn.18002a010
test byte [rsi + 0x415], 1
mov edx, dword [rdi]
mov dword [rsp + 0x44], edx
je 0x180010d5c
and dword [r15 + 0x48b0], 0xffffffef
test byte [rsi + 0x415], 4
je 0x180010dd3
test bl, 4
jne 0x180010dd3
test bl, 2
je 0x180010dd3
cmp byte [rsi + 0xe9], 0
mov r9d, dword [rsp + 0x48]
jne 0x180010dd8
test r12b, r12b
jne 0x180010dd8
or byte [rsi + 0x10c], 8
or byte [rsi + 0x10d], 8
or byte [rsi + 0x10e], 8
or byte [rsi + 0x10f], 8
mov byte [rsi + 0xe9], 1
jmp 0x180010dd8
mov cl, 1
movzx ebx, byte [rsi + 0x415]
lea rdi, [rsi + 0xc]
test cl, cl
jne 0x180010d39
mov edx, dword [rsp + 0x44]
and bl, 0xfb
and bl, 0xfd
and bl, 0xfe
mov byte [rsi + 0x415], bl
jmp 0x180010dd8
mov edx, dword [rsp + 0x44]
jmp 0x180010ddc
mov r9d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x4c]
test byte [rsi + 0x415], 1
je 0x180010dfc
mov rax, qword [rsi + 0x430]
mov r13, qword [rax + 0x88]
mov qword [rbp + 0x38], r13
test r13, r13
jne 0x180010e22
movsxd rax, dword [r14]
test eax, eax
jne 0x180010e0e
xor eax, eax
mov r13d, eax
mov qword [rbp + 0x38], rax
jmp 0x180010e24
imul rcx, rax, 0x58
mov rax, qword [r15 + 0x3fb0]
mov r13, qword [rcx + rax - 0x58]
mov qword [rbp + 0x38], r13
xor eax, eax
cmp edi, r9d
je 0x180010e38
test edx, 0x5000000
mov rbx, rax
cmovne rbx, r13
jmp 0x180010e3f
mov rbx, qword [rsi + 0x3a0]
lea rdi, [rsi + 0x120]
mov qword [rsp + 0x78], rbx
cmp dword [rdi], 0
jne 0x180010e72
cmp dword [rdi + 4], 0
jne 0x180010e63
mov edx, 8
mov rcx, rdi
call fcn.1800394b0
movsxd rdx, dword [rdi]
mov eax, dword [rsi + 8]
mov rcx, qword [rdi + 8]
mov dword [rcx + rdx*4], eax
inc dword [rdi]
mov rdx, qword [0x1800ebe10]
xor eax, eax
movups xmm1, xmmword [r15 + 0x4884]
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], eax
xorps xmm0, xmm0
mov eax, dword [r15 + 0x48ac]
mov qword [r15 + 0x3fd8], rsi
mov r8d, dword [r14 + 4]
movups xmmword [rbp + 8], xmm0
mov dword [rbp + 0x10], eax
mov rax, qword [rdx + 0x3fd8]
movups xmm0, xmmword [r15 + 0x4874]
mov qword [rbp - 0x30], rsi
movups xmmword [rbp - 0x18], xmm1
movzx ecx, word [rax + 0x120]
movzx eax, word [rdx + 0x4940]
movsd xmm1, qword [r15 + 0x48a4]
mov word [rbp + 0x16], ax
movzx eax, word [rdx + 0x4950]
mov word [rbp + 0x18], ax
movzx eax, word [rdx + 0x4960]
mov word [rbp + 0x1a], ax
movzx eax, word [rdx + 0x4970]
mov word [rbp + 0x1c], ax
movzx eax, word [rdx + 0x4990]
mov word [rbp + 0x1e], ax
movzx eax, word [rdx + 0x4980]
mov word [rbp + 0x20], ax
movzx eax, word [rdx + 0x49b0]
movups xmmword [rbp - 0x28], xmm0
mov word [rbp + 0x22], ax
movups xmm0, xmmword [r15 + 0x4894]
movzx eax, word [rdx + 0x5cd0]
mov word [rbp + 0x14], cx
mov ecx, dword [r14]
mov word [rbp + 0x24], ax
movsd qword [rbp + 8], xmm1
movups xmmword [rbp - 8], xmm0
cmp ecx, r8d
jne 0x180010f6e
inc ecx
test r8d, r8d
je 0x180010f5a
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180010f5f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, r14
call fcn.1800391c0
movsxd rax, dword [r14]
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
imul rcx, rax, 0x58
mov rax, qword [r14 + 8]
movups xmmword [rcx + rax], xmm0
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
movaps xmm1, xmmword [rbp]
movups xmmword [rcx + rax + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x10]
movups xmmword [rcx + rax + 0x30], xmm1
movsd xmm1, qword [rbp + 0x20]
movups xmmword [rcx + rax + 0x40], xmm0
movsd qword [rcx + rax + 0x50], xmm1
inc dword [r14]
mov eax, dword [rsp + 0x44]
bt eax, 0x1c
jae 0x180010fc4
inc dword [r15 + 0x49c0]
mov ecx, dword [rsp + 0x4c]
cmp ecx, dword [rsp + 0x48]
je 0x180010fe2
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.1800108d0
mov qword [rsi + 0x3a8], r13
mov r14, qword [0x1800ebe10]
mov r12d, dword [rsi + 8]
lea rbx, [r14 + 0x4970]
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x180011028
inc r8d
test ecx, ecx
je 0x180011011
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180011016
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.1800394b0
movsxd rcx, dword [rbx]
xor r10d, r10d
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r12d
inc dword [rbx]
mov ebx, dword [rsp + 0x44]
mov dword [r14 + 0x4854], r12d
mov eax, dword [r15 + 0x4854]
mov dword [rsi + 0x408], eax
mov qword [r15 + 0x3fd8], r10
bt ebx, 0x1a
jae 0x180011097
lea rcx, [r15 + 0x49b0]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
add rbx, qword [r15 + 0x49a8]
mov rdx, rbx
mov qword [rbx + 8], rsi
mov eax, dword [r13 + 0x188]
mov dword [rbx + 0x18], eax
call fcn.180038270
mov eax, dword [rbx]
xor r10d, r10d
mov ebx, dword [rsp + 0x44]
mov dword [rsi + 0xfc], eax
xor dl, dl
xor r14b, r14b
xor r12b, r12b
mov byte [rsp + 0x40], dl
test byte [r15 + 0x48b0], 1
je 0x180011144
mov r8d, dword [r15 + 0x48b4]
movzx ecx, byte [rsi + 0x10c]
movsx eax, cl
test r8d, eax
setne dl
mov byte [rsp + 0x40], dl
test r8d, eax
je 0x180011135
movss xmm0, dword [r15 + 0x48d0]
movss xmm1, dword [r15 + 0x48cc]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x1800d4dfc]
jbe 0x180011135
movsd xmm0, qword [r15 + 0x48c4]
and ecx, 0xf1
mov eax, dword [rsi + 0x10c]
and eax, 0xffffff00
movsd qword [rsi + 0x110], xmm0
movsd xmm1, qword [r15 + 0x48cc]
or ecx, eax
mov dword [rsi + 0x10c], ecx
movsd qword [rsi + 0x118], xmm1
jmp 0x180011144
lea rdx, [r15 + 0x48c4]
mov rcx, rsi
call fcn.180014710
test byte [r15 + 0x48b0], 2
xorps xmm15, xmm15
je 0x180011199
movsx eax, byte [rsi + 0x10d]
lea rdx, [r15 + 0x48d4]
mov r8d, dword [r15 + 0x48b8]
and eax, r8d
je 0x18001117b
movss xmm0, dword [rdx]
comiss xmm0, xmm15
jbe 0x18001117b
mov r14b, 1
jmp 0x18001117f
test eax, eax
je 0x180011191
movss xmm0, dword [r15 + 0x48d8]
comiss xmm0, xmm15
jbe 0x180011191
mov r12b, 1
mov rcx, rsi
call fcn.180014880
test byte [r15 + 0x48b0], 0x80
je 0x1800111df
movss xmm0, dword [r15 + 0x48e4]
comiss xmm0, xmm15
jb 0x1800111c1
movss dword [rsi + 0xc0], xmm0
mov dword [rsi + 0xc8], r10d
movss xmm0, dword [r15 + 0x48e8]
comiss xmm0, xmm15
jb 0x1800111df
movss dword [rsi + 0xc4], xmm0
mov dword [rsi + 0xcc], r10d
test byte [r15 + 0x48b0], 4
mov r13d, dword [rsp + 0x48]
je 0x1800111fe
movsd xmm0, qword [r15 + 0x48dc]
movsd qword [rsi + 0x70], xmm0
jmp 0x18001120d
cmp dword [rsp + 0x4c], r13d
je 0x18001120d
mov qword [rsi + 0x70], 0
test dword [r15 + 0x48b0], 0x400
je 0x18001123e
movups xmm0, xmmword [r15 + 0x491c]
movups xmmword [rsi + 0x14], xmm0
movsd xmm1, qword [r15 + 0x492c]
movsd qword [rsi + 0x24], xmm1
mov eax, dword [r15 + 0x4934]
mov dword [rsi + 0x2c], eax
test byte [r15 + 0x48b0], 8
je 0x18001128f
mov ecx, dword [r15 + 0x48bc]
movzx edx, byte [r15 + 0x48ed]
test ecx, ecx
je 0x180011266
movsx eax, byte [rsi + 0x10e]
test ecx, eax
je 0x18001128f
movzx ecx, byte [rsi + 0x10e]
mov eax, dword [rsi + 0x10c]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [rsi + 0xe6], dl
mov dword [rsi + 0x10c], ecx
test byte [r15 + 0x48b0], 0x20
je 0x1800112a1
mov rcx, rsi
call fcn.180013d70
cmp byte [rsi + 0xe9], 0
je 0x1800112c6
and byte [rsi + 0x10c], 0xf7
and byte [rsi + 0x10d], 0xf7
and byte [rsi + 0x10e], 0xf7
and byte [rsi + 0x10f], 0xf7
cmp dword [rsp + 0x4c], r13d
je 0x180013670
movzx r13d, byte [rsi + 0x109]
mov r8d, 1
movaps xmmword [rsp + 0x210], xmm6
mov eax, ebx
movaps xmmword [rsp + 0x200], xmm7
and eax, 0x3000000
cmp qword [rbp - 0x68], 0
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x1e0], xmm9
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm11
movaps xmmword [rsp + 0x1b0], xmm12
movaps xmmword [rsp + 0x1a0], xmm13
mov byte [rsi + 0xe3], 1
movaps xmmword [rsp + 0x190], xmm14
mov dword [rsp + 0x54], eax
setne al
mov byte [rsi + 0xed], al
mov dword [rsi + 0x268], 0xff7fffff
mov dword [rsi + 0x26c], 0xff7fffff
mov dword [rsi + 0x270], 0x7f7fffff
mov dword [rsi + 0x274], 0x7f7fffff
mov ecx, dword [rdi + 4]
mov dword [rsp + 0x6c], r8d
cmp ecx, r8d
jge 0x1800113ae
test ecx, ecx
je 0x180011392
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180011397
mov eax, 8
cmp eax, r8d
mov edx, r8d
mov rcx, rdi
cmovg edx, eax
call fcn.1800394b0
mov r8d, 1
mov dword [rdi], r8d
mov rcx, qword [rsi + 0x2d0]
call fcn.180072db0
mov rax, 0xffffffffffffffff
mov dword [rsi + 0x1e0], eax
bt ebx, 0x1d
jae 0x180011400
mov rcx, qword [rsi + 0x2d0]
lea r8d, [rax + 3]
add rcx, 0xa8
call fcn.180077630
mov rdx, qword [rsi + 0x2d0]
mov r8d, 1
lea rcx, [rdx + 0xa8]
call fcn.180077b40
cmp byte [rsi + 0x414], 0
je 0x180011445
mov rcx, qword [rsi + 0x2d0]
mov edx, dword [rsi + 0x40c]
add rcx, 0x10
mov byte [rsi + 0x414], 0
call fcn.180038f40
mov rcx, qword [rsi + 0x2d0]
mov edx, dword [rsi + 0x410]
add rcx, 0x20
call fcn.180038ce0
xor eax, eax
mov qword [rsi + 0x40c], rax
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x180011457
cmp qword [rax + 0x88], rsi
je 0x18001147b
test byte [rsi + 0x415], 1
jne 0x18001147b
cmp qword [r15 + 0x4ba8], 0
je 0x180011533
test dword [rsi + 0xc], 0x80000
jne 0x180011533
mov r9, qword [rsp + 0x70]
test r9, r9
je 0x180011538
mov r10, qword [rbp - 0x60]
mov r9, qword [rsi]
mov rax, r10
mov r8, r9
sub r8, r10
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800114b3
inc rax
test ecx, ecx
jne 0x1800114a0
test edx, edx
je 0x180011533
movsxd rdi, dword [rsi + 0xa0]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r10 + rbx], 0
jne 0x1800114c5
inc rbx
cmp rdi, rbx
jae 0x18001151c
test r9, r9
je 0x1800114ee
mov rax, qword [0x1800ebe10]
test rax, rax
je 0x1800114ee
dec dword [rax + 0xfc]
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x1800ebe10]
test rax, rax
je 0x180011509
inc dword [rax + 0xfc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r10, qword [rbp - 0x60]
mov rdi, rbx
mov r9, rax
mov r8, rbx
mov rdx, r10
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], rax
mov dword [rsi + 0xa0], edi
mov r9, qword [rsp + 0x70]
lea rdx, [rsi + 0x60]
mov rcx, rsi
lea r8, [rsi + 0x68]
call fcn.18000e3e0
movzx eax, byte [rsi + 0x108]
test al, al
jle 0x18001155b
dec al
mov byte [rsi + 0x108], al
movzx eax, byte [rsi + 0x109]
test al, al
jle 0x18001156e
dec al
mov byte [rsi + 0x109], al
movzx eax, byte [rsi + 0x10a]
test al, al
jle 0x180011581
dec al
mov byte [rsi + 0x10a], al
test r9, r9
jne 0x180011597
test r14b, r14b
je 0x180011590
test r12b, r12b
jne 0x180011597
mov byte [rsi + 0x109], 1
xor edi, edi
cmp byte [rsp + 0x42], dil
je 0x1800115db
mov eax, dword [rsp + 0x44]
test eax, 0x6000000
je 0x1800115db
mov byte [rsi + 0x109], 1
test al, 0x40
je 0x1800115db
test r14b, r14b
jne 0x1800115c1
mov dword [rsi + 0x58], edi
mov dword [rsi + 0x50], edi
test r12b, r12b
jne 0x1800115cc
mov dword [rsi + 0x5c], edi
mov dword [rsi + 0x54], edi
mov qword [rsi + 0x68], 0
mov qword [rdx], 0
call fcn.180021560
mov rcx, qword [rsi + 0x30]
mov rdx, qword [0x1800ebe10]
test rcx, rcx
je 0x1800115f9
mov eax, dword [rdx + 0x3f58]
mov dword [rcx + 0x64], eax
cmp qword [rdx + 0x49e0], rcx
je 0x18001163f
test rcx, rcx
je 0x18001162e
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x49d8], eax
mov rax, qword [rdx + 0x3878]
mov qword [rdx + 0x49e0], rcx
test rax, rax
je 0x18001163f
call rax
mov rdx, qword [0x1800ebe10]
jmp 0x18001163f
mov dword [rdx + 0x49d8], 0x3f800000
mov qword [rdx + 0x49e0], rcx
test dword [r15 + 8], 0x8000
movss xmm13, dword [0x1800d4ec0]
je 0x18001165d
mov rax, qword [rsi + 0x30]
movss xmm0, dword [rax + 0x28]
jmp 0x180011661
movaps xmm0, xmm13
movss dword [rsi + 0x2c4], xmm0
mov qword [rdx + 0x3fd8], rsi
movsxd rax, dword [rsi + 0x1e0]
cmp eax, 0xffffffff
je 0x18001168c
imul rcx, rax, 0x228
add rcx, qword [rdx + 0x4cb8]
jmp 0x18001168f
mov rcx, rdi
movss xmm0, dword [rdx + 0x3d3c]
mov qword [rdx + 0x4c90], rcx
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x1800116c2
mulss xmm0, dword [rax + 0x2c0]
movss dword [rdx + 0x3d50], xmm0
movss dword [rdx + 0x3d38], xmm0
mov r8d, dword [rsi + 0xc]
mov edi, r8d
mov dword [rsp + 0x44], r8d
and edi, 0x1000000
je 0x1800116f1
movss xmm0, dword [r15 + 0x3920]
jmp 0x180011715
test r8d, 0x6000000
je 0x18001170c
bt r8d, 0x1b
jb 0x18001170c
movss xmm0, dword [r15 + 0x3928]
jmp 0x180011715
movss xmm0, dword [r15 + 0x3904]
movss dword [rsi + 0x84], xmm0
movzx ecx, byte [rsi + 0x415]
and cl, 1
jne 0x180011760
mov eax, r8d
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x180011760
ucomiss xmm0, xmm15
jp 0x180011760
jne 0x180011760
bt r8d, 0xa
jae 0x180011756
movss xmm0, dword [r15 + 0x38fc]
movaps xmm1, xmm15
jmp 0x180011772
movaps xmm0, xmm15
movaps xmm1, xmm15
jmp 0x180011772
movss xmm1, dword [r15 + 0x38f8]
movss xmm0, dword [r15 + 0x38fc]
movzx r9d, byte [rsp + 0x41]
movss dword [rsi + 0x78], xmm1
movss dword [rsi + 0x7c], xmm0
movss xmm0, dword [rsi + 0x78]
mov dword [rsp + 0x50], r9d
maxss xmm0, dword [r15 + 0x393c]
maxss xmm0, dword [r15 + 0x4938]
movss dword [rsi + 0x194], xmm0
mov eax, dword [r15 + 0x493c]
mov dword [rsi + 0x198], eax
test r8b, 0x21
jne 0x18001195c
test cl, cl
jne 0x18001195c
test r8b, 1
je 0x1800117d1
movaps xmm3, xmm15
jmp 0x18001180d
movss xmm0, dword [rdx + 0x3d3c]
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x1800117fd
mulss xmm0, dword [rax + 0x2c0]
movss xmm3, dword [rdx + 0x3930]
addss xmm3, xmm3
addss xmm3, xmm0
movss xmm5, dword [rsi + 0x48]
movaps xmm4, xmm5
movss xmm7, dword [rsi + 0x4c]
addss xmm4, dword [rsi + 0x58]
addss xmm3, dword [rsi + 0x4c]
cmp qword [r15 + 0x3fe0], rsi
jne 0x180011911
cmp dword [r15 + 0x4024], 0
jne 0x180011911
cmp dword [r15 + 0x4028], 0
jne 0x180011911
mov rax, qword [rdx + 0x3fd8]
movss xmm2, dword [rdx + 0x3954]
movss xmm0, dword [rdx + 0x3958]
movaps xmm6, xmm2
movss xmm9, dword [rdx + 0xe04]
movaps xmm8, xmm0
maxss xmm5, dword [rax + 0x268]
maxss xmm7, dword [rax + 0x26c]
minss xmm4, dword [rax + 0x270]
minss xmm3, dword [rax + 0x274]
movaps xmm1, xmm5
subss xmm1, xmm2
movaps xmm2, xmm7
addss xmm6, xmm4
addss xmm8, xmm3
subss xmm2, xmm0
comiss xmm9, xmm1
jb 0x180011911
movss xmm0, dword [rdx + 0xe08]
comiss xmm0, xmm2
jb 0x180011911
comiss xmm6, xmm9
jbe 0x180011911
comiss xmm8, xmm0
jbe 0x180011911
mov rax, qword [rdx + 0x49e8]
movss xmm2, dword [rax + 0xc]
movss xmm6, dword [rax + 8]
movaps xmm0, xmm2
addss xmm0, dword [rax + 0x14]
movaps xmm1, xmm6
addss xmm1, dword [rax + 0x10]
comiss xmm0, xmm7
jbe 0x180011911
comiss xmm3, xmm2
jbe 0x180011911
comiss xmm1, xmm5
jbe 0x180011911
comiss xmm4, xmm6
jbe 0x180011911
cmp word [r15 + 0x3752], 2
jne 0x180011911
mov byte [rsi + 0xe7], 1
cmp byte [rsi + 0xe7], 0
je 0x180011963
movzx ecx, byte [rsi + 0xe6]
test cl, cl
movzx r9d, r9b
sete al
test cl, cl
mov byte [rsi + 0xe6], al
mov eax, 1
cmovne r9d, eax
mov dword [rsp + 0x50], r9d
bt r8d, 8
jb 0x180011963
comiss xmm15, dword [rdx + 0x5d5c]
jb 0x180011963
mov eax, dword [rdx + 0x1c]
mov dword [rdx + 0x5d5c], eax
jmp 0x180011963
mov byte [rsi + 0xe6], 0
mov ecx, dword [rsi + 0xc]
xor r8d, r8d
movss xmm12, dword [rsi + 0xd8]
movss xmm14, dword [rsi + 0xdc]
mov byte [rsi + 0xe7], 0
mov dword [rsi + 0x88], r8d
mov dword [rsi + 0x90], r8d
test cl, 1
je 0x18001199b
movaps xmm2, xmm15
jmp 0x1800119d7
movss xmm0, dword [rdx + 0x3d3c]
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x1800119c7
mulss xmm0, dword [rax + 0x2c0]
movss xmm2, dword [rdx + 0x3930]
addss xmm2, xmm2
addss xmm2, xmm0
bt ecx, 0xa
jae 0x180011a23
movss xmm1, dword [rdx + 0x3d3c]
mulss xmm1, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm1, dword [rsi + 0x2c4]
test rax, rax
je 0x180011a09
mulss xmm1, dword [rax + 0x2c0]
movss xmm0, dword [rdx + 0x3930]
addss xmm1, dword [rsi + 0x198]
addss xmm0, xmm0
addss xmm1, xmm0
jmp 0x180011a27
movaps xmm1, xmm15
addss xmm1, xmm2
mov dword [rsi + 0x94], r8d
mov qword [rsi + 0xd8], r8
lea rcx, [rbp + 0x30]
lea r8, [rsi + 0x68]
mov rdx, rsi
movss dword [rsi + 0x8c], xmm1
call fcn.18000e4f0
mov ebx, dword [rsp + 0x44]
lea rax, [rsi + 0xe6]
test bl, 0x40
je 0x180011a9d
cmp byte [rax], 0
mov qword [rsp + 0x60], rax
jne 0x180011a9d
test r14b, r14b
jne 0x180011a7f
movss xmm0, dword [rbp + 0x30]
movss dword [rsi + 0x58], xmm0
mov byte [rsp + 0x41], 1
test r12b, r12b
jne 0x180011b59
movss xmm0, dword [rbp + 0x34]
mov al, 1
movss dword [rsi + 0x5c], xmm0
mov dword [rsp + 0x50], eax
jmp 0x180011b59
mov rcx, rax
movzx eax, byte [rsi + 0x100]
test al, al
jg 0x180011abd
cmp byte [rsi + 0x101], 0
mov qword [rsp + 0x60], rcx
jle 0x180011b59
test r14b, r14b
jne 0x180011aea
test al, al
jle 0x180011aea
cmp byte [rsi + 0x103], r14b
je 0x180011adb
movss xmm0, dword [rsi + 0x58]
maxss xmm0, dword [rbp + 0x30]
jmp 0x180011ae0
movss xmm0, dword [rbp + 0x30]
movss dword [rsi + 0x58], xmm0
mov byte [rsp + 0x41], 1
test r12b, r12b
jne 0x180011b1d
cmp byte [rsi + 0x101], r12b
jle 0x180011b1d
cmp byte [rsi + 0x103], r12b
je 0x180011b0d
movss xmm0, dword [rsi + 0x5c]
maxss xmm0, dword [rbp + 0x34]
jmp 0x180011b12
movss xmm0, dword [rbp + 0x34]
mov al, 1
movss dword [rsi + 0x5c], xmm0
mov dword [rsp + 0x50], eax
cmp byte [rcx], 0
mov qword [rsp + 0x60], rcx
jne 0x180011b59
test dword [rsi + 0xc], 0x100
mov rdx, qword [0x1800ebe10]
mov qword [rsp + 0x60], rcx
jne 0x180011b59
comiss xmm15, dword [rdx + 0x5d5c]
mov qword [rsp + 0x60], rcx
jb 0x180011b59
mov eax, dword [rdx + 0x1c]
mov dword [rdx + 0x5d5c], eax
mov qword [rsp + 0x60], rcx
lea r8, [rsi + 0x58]
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.18000e160
mov rcx, qword [0x1800ebe10]
mov qword [rsp + 0x58], rcx
movss xmm3, dword [rax]
movss xmm0, dword [rax + 4]
mov rax, qword [rsp + 0x60]
movss dword [rsi + 0x58], xmm3
movss dword [rsi + 0x5c], xmm0
cmp byte [rax], 0
je 0x180011c04
test edi, edi
jne 0x180011c04
test byte [rsi + 0xc], 1
je 0x180011ba2
movaps xmm2, xmm15
jmp 0x180011bde
movss xmm0, dword [rcx + 0x3d3c]
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x180011bce
mulss xmm0, dword [rax + 0x2c0]
movss xmm2, dword [rcx + 0x3930]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm1, dword [rsi + 0x48]
addss xmm2, dword [rsi + 0x4c]
movaps xmm0, xmm1
addss xmm0, xmm3
subss xmm2, dword [rsi + 0x4c]
subss xmm0, xmm1
movss dword [rbp - 0x4c], xmm2
movss dword [rbp - 0x50], xmm0
jmp 0x180011c0e
movsd xmm0, qword [rsi + 0x58]
movsd qword [rbp - 0x50], xmm0
cmp byte [rsp + 0x42], 0
lea rcx, [rbp - 0x50]
movsd xmm0, qword [rcx]
mov rdx, rsi
movzx r14d, byte [rsp + 0x40]
mov eax, 0x48
movsd qword [rsi + 0x50], xmm0
lea r12, [rax + rdx]
lea rdx, [rsi + 0x50]
mov qword [rbp - 0x80], r12
je 0x180011c87
mov rax, 0xffffffffffffffff
mov dword [rsi + 0x104], eax
mov eax, ebx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180011c87
test r14b, r14b
jne 0x180011c87
movsxd rax, dword [r15 + 0x49b0]
imul rcx, rax, 0x38
mov rax, qword [r15 + 0x49b8]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
movss dword [r12], xmm0
movss dword [r12 + 4], xmm1
test edi, edi
je 0x180011d26
mov r9, qword [rsp + 0x78]
lea rbx, [r9 + 0x1c0]
movzx eax, word [rbx]
mov word [rsi + 0xf4], ax
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x180011cee
inc r8d
test ecx, ecx
je 0x180011cc2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180011cc7
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.1800389f0
mov rcx, qword [0x1800ebe10]
lea rdx, [rsi + 0x50]
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x58], rcx
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc dword [rbx]
mov ebx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x54]
bt ebx, 0x1a
jb 0x180011d2a
test r14b, r14b
jne 0x180011d2a
cmp eax, 0x3000000
je 0x180011d2a
movsd xmm0, qword [r9 + 0x130]
movsd qword [r12], xmm0
jmp 0x180011d2a
mov eax, dword [rsp + 0x54]
movss xmm1, dword [rsi + 0x110]
ucomiss xmm1, dword [0x1800d508c]
jp 0x180011d3d
je 0x180011d8a
cmp byte [rsi + 0x109], 0
jne 0x180011d8a
movss xmm0, dword [rdx]
xor r8d, r8d
mulss xmm0, dword [rsi + 0x118]
mov rcx, rsi
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x114]
movss dword [rbp - 0x50], xmm1
movss xmm1, dword [rdx + 4]
lea rdx, [rbp - 0x50]
mulss xmm1, dword [rsi + 0x11c]
subss xmm0, xmm1
movss dword [rbp - 0x4c], xmm0
call fcn.180014710
jmp 0x180011dd4
bt ebx, 0x1c
jb 0x180011db2
bt ebx, 0x1a
jae 0x180011da0
test r14b, r14b
jne 0x180011da0
test r13b, r13b
jg 0x180011db2
bt ebx, 0x19
jae 0x180011dd4
test r14b, r14b
jne 0x180011dd4
cmp eax, 0x3000000
je 0x180011dd4
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.18001a180
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [r12], xmm0
movss dword [r12 + 4], xmm1
cmp dword [rsi + 0x44], 0
jl 0x180011f56
cmp byte [rsi + 0xe2], 0
jne 0x180011f56
mov rax, qword [rsi + 0x30]
test dword [rax + 4], 0x400
jne 0x180011f56
movss xmm1, dword [rax + 8]
movss xmm0, dword [r12]
movaps xmm2, xmm1
comiss xmm0, xmm1
movss xmm6, dword [rax + 0xc]
movaps xmm3, xmm0
movss xmm7, dword [rsi + 0x4c]
movaps xmm4, xmm6
addss xmm2, dword [rax + 0x10]
addss xmm4, dword [rax + 0x14]
addss xmm3, dword [rsi + 0x50]
movaps xmm5, xmm7
addss xmm5, dword [rsi + 0x54]
jb 0x180011e49
comiss xmm7, xmm6
jb 0x180011e49
comiss xmm2, xmm3
jb 0x180011e49
comiss xmm4, xmm5
jae 0x180011f56
mov edx, dword [rsi + 8]
lea r9, [rsi + 0x50]
mov r8, r12
mov dword [rsp + 0x20], 0x20
mov rcx, rsi
call fcn.180021060
mov r13, qword [0x1800ebe10]
mov rcx, rax
mov qword [rsi + 0x30], rax
test rax, rax
je 0x180011e80
mov eax, dword [r13 + 0x3f58]
mov dword [rcx + 0x64], eax
cmp qword [r13 + 0x49e0], rcx
je 0x180011ec8
test rcx, rcx
je 0x180011eb6
mov eax, dword [rcx + 0x28]
mov dword [r13 + 0x49d8], eax
mov rax, qword [r13 + 0x3878]
mov qword [r13 + 0x49e0], rcx
test rax, rax
je 0x180011ec8
call rax
mov r13, qword [0x1800ebe10]
jmp 0x180011ec8
mov dword [r13 + 0x49d8], 0x3f800000
mov qword [r13 + 0x49e0], rcx
test dword [r15 + 8], 0x8000
je 0x180011edd
mov rax, qword [rsi + 0x30]
movss xmm0, dword [rax + 0x28]
jmp 0x180011ee1
movaps xmm0, xmm13
movss dword [rsi + 0x2c4], xmm0
mov qword [r13 + 0x3fd8], rsi
movsxd rax, dword [rsi + 0x1e0]
cmp eax, 0xffffffff
je 0x180011f0c
imul rcx, rax, 0x228
add rcx, qword [r13 + 0x4cb8]
jmp 0x180011f0e
xor ecx, ecx
movss xmm0, dword [r13 + 0x3d3c]
mov qword [r13 + 0x4c90], rcx
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x180011f42
mulss xmm0, dword [rax + 0x2c0]
movss dword [r13 + 0x3d50], xmm0
movss dword [r13 + 0x3d38], xmm0
jmp 0x180011f5b
mov r13, qword [rsp + 0x58]
movzx eax, byte [rsi + 0xe2]
movzx r8d, al
test al, al
je 0x180011f88
mov rdx, qword [rbp + 0x38]
mov rcx, rsi
call fcn.180021b70
movzx eax, byte [rsi + 0xe2]
mov r13, qword [0x1800ebe10]
movzx r8d, al
mov rdx, qword [rsi + 0x30]
movzx ecx, al
movss xmm10, dword [r15 + 0x399c]
movss xmm11, dword [r15 + 0x3998]
maxss xmm10, dword [r15 + 0x39a4]
movss xmm0, dword [rdx + 0x18]
movss xmm1, dword [rdx + 0x1c]
movaps xmm9, xmm0
movss xmm6, dword [rdx + 8]
movaps xmm8, xmm1
movss xmm7, dword [rdx + 0xc]
movaps xmm4, xmm6
movss dword [rbp + 0x38], xmm6
movaps xmm5, xmm7
movss dword [rbp + 0x3c], xmm7
movaps xmm3, xmm10
addss xmm3, xmm1
addss xmm9, dword [rdx + 0x20]
addss xmm8, dword [rdx + 0x24]
addss xmm4, dword [rdx + 0x10]
addss xmm5, dword [rdx + 0x14]
movss dword [rbp + 0x54], xmm3
maxss xmm11, dword [r15 + 0x39a0]
subss xmm8, xmm10
movss dword [rbp + 0x40], xmm4
movss dword [rbp + 0x44], xmm5
subss xmm9, xmm11
movaps xmm2, xmm11
movss dword [rbp + 0x5c], xmm8
addss xmm2, xmm0
movss dword [rbp + 0x58], xmm9
movss dword [rbp + 0x50], xmm2
test r14b, r14b
jne 0x1800121d7
test edi, edi
jne 0x1800121d7
test al, al
jne 0x1800120e0
subss xmm4, xmm6
comiss xmm4, xmm15
jbe 0x1800120d8
subss xmm5, xmm7
comiss xmm5, xmm15
jbe 0x1800120d8
movss xmm0, dword [rsi + 0x54]
cmp byte [r13 + 0x87], dil
je 0x180012094
test byte [rsi + 0xc], 1
je 0x18001207e
cmp qword [rsi + 0x438], 0
je 0x180012094
movss xmm0, dword [r13 + 0x3930]
addss xmm0, xmm0
addss xmm0, dword [r13 + 0x3d38]
subss xmm2, dword [rsi + 0x50]
subss xmm3, xmm0
movss xmm0, dword [r12 + 4]
comiss xmm3, xmm0
ja 0x1800120b1
movaps xmm3, xmm8
minss xmm3, xmm0
movss xmm0, dword [r12]
comiss xmm2, xmm0
ja 0x1800120c4
movaps xmm2, xmm9
minss xmm2, xmm0
movss dword [r12], xmm2
xor cl, cl
movss dword [r12 + 4], xmm3
jmp 0x1800121d7
test al, al
je 0x1800121d7
cmp dword [r15 + 0x38b0], 0
jle 0x1800121d7
movsx rdx, word [rdx + 0x80]
test edx, edx
js 0x18001211c
cmp edx, dword [r13 + 0x38b0]
jge 0x180012118
mov rax, qword [r13 + 0x38b8]
lea rcx, [rdx + rdx*8]
lea rdx, [rax + rcx*4]
movzx ecx, r8b
jmp 0x180012123
movzx ecx, r8b
lea rdx, [r13 + 0x49fc]
movss xmm2, dword [rsi + 0x54]
movaps xmm0, xmm11
addss xmm0, dword [rdx + 0x10]
movaps xmm1, xmm10
addss xmm1, dword [rdx + 0x14]
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm1
movss xmm4, dword [rdx + 0x10]
movss xmm3, dword [rdx + 0x1c]
addss xmm4, dword [rdx + 0x18]
addss xmm3, dword [rdx + 0x14]
subss xmm4, xmm11
subss xmm3, xmm10
movss dword [rbp + 0x58], xmm4
movss dword [rbp + 0x5c], xmm3
cmp byte [r13 + 0x87], 0
je 0x18001219c
test byte [rsi + 0xc], 1
je 0x180012186
cmp qword [rsi + 0x438], 0
je 0x18001219c
movss xmm2, dword [r13 + 0x3930]
addss xmm2, xmm2
addss xmm2, dword [r13 + 0x3d38]
subss xmm0, dword [rsi + 0x50]
subss xmm1, xmm2
movss xmm2, dword [r12 + 4]
comiss xmm1, xmm2
ja 0x1800121b8
movaps xmm1, xmm3
minss xmm1, xmm2
movss xmm2, dword [r12]
comiss xmm0, xmm2
ja 0x1800121ca
movaps xmm0, xmm4
minss xmm0, xmm2
movss dword [r12], xmm0
movss dword [r12 + 4], xmm1
cvttss2si eax, dword [r12]
test cl, cl
movzx ecx, byte [rsi + 0x415]
movd xmm1, eax
cvttss2si eax, dword [r12 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r12], xmm1
movss dword [r12 + 4], xmm0
jne 0x180012242
test cl, 1
jne 0x180012242
test edi, edi
je 0x18001221e
movss xmm0, dword [r15 + 0x391c]
jmp 0x180012246
mov eax, ebx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180012237
movss xmm0, dword [r15 + 0x3924]
jmp 0x180012246
movss xmm0, dword [r15 + 0x3900]
jmp 0x180012246
movaps xmm0, xmm15
mov r14d, dword [rsp + 0x44]
xor r12b, r12b
movss dword [rsi + 0x80], xmm0
mov dword [rsp + 0x58], r12d
cmp byte [rsp + 0x42], r12b
je 0x18001246c
bt r14d, 0xc
jb 0x18001246c
bt r14d, 0x1a
jae 0x18001227f
mov byte [rsp + 0x58], 1
jmp 0x18001229f
test cl, 1
jne 0x180012288
test edi, edi
jne 0x18001229f
bt r14d, 0x19
movzx r12d, r12b
mov eax, 1
cmovae r12d, eax
mov dword [rsp + 0x58], r12d
mov eax, dword [r13 + 0x49a0]
sub eax, 1
js 0x18001246c
movsxd r10, eax
imul r9, r10, 0x38
mov rdx, r10
lea r8, [r9 + 8]
add r8, qword [r13 + 0x49a8]
mov rcx, qword [r8]
test rcx, rcx
je 0x1800122d5
test dword [rcx + 0xc], 0x8000000
jne 0x1800122e4
sub r8, 0x38
sub rdx, 1
jns 0x1800122c4
jmp 0x18001246c
mov rdi, qword [rsi + 0x3b0]
mov rax, rsi
cmp rdi, rcx
je 0x18001246c
cmp rax, rcx
je 0x18001246c
mov rax, qword [rax + 0x3a8]
test rax, rax
jne 0x1800122f7
mov byte [rsp + 0x58], al
cmp rsi, rdi
jne 0x18001246c
mov r8, qword [r13 + 0x49a8]
add r8, 8
add r8, r9
mov rdx, qword [r8]
test rdx, rdx
je 0x1800123a4
test dword [rdx + 0xc], 0x8000000
je 0x1800123a4
cmp byte [rdx + 0xe3], 0
jne 0x18001234a
cmp byte [rdx + 0xe4], 0
je 0x1800123a4
mov rax, rsi
cmp rdi, rdx
je 0x1800123b2
cmp rax, rdx
je 0x1800123b2
mov rax, qword [rax + 0x3a8]
test rax, rax
jne 0x180012352
mov rax, qword [rdx + 0x3a8]
mov rcx, qword [rax + 0x3b0]
test rcx, rcx
je 0x1800123a4
mov rax, rsi
cmp rdi, rcx
je 0x1800123b6
nop
cmp rax, rcx
je 0x1800123b6
mov rax, qword [rax + 0x3a8]
test rax, rax
jne 0x180012380
mov rax, qword [rcx + 0x3a8]
mov rcx, qword [rax + 0x3b0]
test rcx, rcx
jne 0x180012376
sub r8, 0x38
sub r10, 1
jns 0x180012327
xor eax, eax
mov edx, eax
mov r8, qword [rdx + 0x3b0]
mov rdx, qword [r13 + 0x3f80]
movsxd rax, dword [r13 + 0x3f78]
mov r9, rdx
lea rcx, [rdx + rax*8]
cmp rdx, rcx
jae 0x1800123e5
cmp qword [r9], rdi
je 0x1800123e5
add r9, 8
cmp r9, rcx
jb 0x1800123d7
sub r9, rdx
mov rax, rdx
sar r9, 3
cmp rdx, rcx
jae 0x180012402
cmp qword [rax], r8
je 0x180012402
add rax, 8
cmp rax, rcx
jb 0x1800123f4
sub rax, rdx
mov r10, rdx
sar rax, 3
movsxd rbx, eax
cmp r9d, eax
jge 0x180012445
sub eax, r9d
dec eax
movsxd r8, eax
lea eax, [r9 + 1]
movsxd rcx, eax
movsxd rax, r9d
shl r8, 3
lea rdx, [rdx + rcx*8]
lea rcx, [r10 + rax*8]
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [r13 + 0x3f80]
mov qword [rax + rbx*8 - 8], rdi
jmp 0x18001246c
sub r9d, eax
lea rdx, [rdx + rbx*8]
movsxd r8, r9d
shl r8, 3
inc eax
movsxd rcx, eax
lea rcx, [r10 + rcx*8]
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [r13 + 0x3f80]
mov qword [rax + rbx*8], rdi
cmp qword [rsi + 0x438], 0
jne 0x180012483
test byte [rsi + 0x415], 1
je 0x180012483
xor cl, cl
jmp 0x180012485
mov cl, 1
movss xmm1, dword [r15 + 0x3d38]
xorps xmm0, xmm0
mov rdx, qword [rsp + 0x60]
movaps xmm2, xmm1
mulss xmm1, dword [0x1800d4e50]
xor r10d, r10d
cmp byte [r15 + 0x86], r10b
mov rax, 0xffffffffffffffff
mulss xmm2, dword [0x1800d4ed0]
mov r12d, r10d
setne r12b
mov dword [rbp + 0x48], eax
movups xmmword [rbp + 0x60], xmm0
inc r12d
mov byte [rsp + 0x40], cl
movss xmm0, dword [rsi + 0x80]
addss xmm0, xmm13
addss xmm1, xmm0
maxss xmm2, xmm1
cvttss2si eax, xmm2
movd xmm13, eax
cvtdq2ps xmm13, xmm13
test cl, cl
je 0x180012538
cmp byte [rdx], r10b
jne 0x180012538
lea rax, [rbp + 0x50]
mov r9d, r12d
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x48]
lea rax, [rbp + 0x60]
mov rcx, rsi
lea rdx, [rbp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.18000e8d0
mov r13, qword [0x1800ebe10]
mov rdx, qword [rsp + 0x60]
test al, al
je 0x180012538
mov r8b, 1
movzx r9d, r8b
jmp 0x180012543
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x41]
cmp byte [rsi + 0xe2], 0
movzx eax, byte [rbp + 0x48]
mov byte [rsi + 0xee], al
je 0x180012622
mov rax, qword [rsi + 0x30]
cmp byte [rax + 0x59], 0
jne 0x180012571
mov rcx, qword [rbp - 0x80]
movsd xmm0, qword [rcx]
movsd qword [rax + 8], xmm0
mov rax, qword [rsi + 0x30]
cmp byte [rax + 0x5a], 0
jne 0x180012585
movsd xmm0, qword [rsi + 0x50]
movsd qword [rax + 0x10], xmm0
mov rax, qword [rsi + 0x30]
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, xmm15
addss xmm0, dword [rax + 0x124]
addss xmm1, dword [rax + 0x120]
maxss xmm2, xmm1
movaps xmm1, xmm15
maxss xmm1, xmm0
movss dword [rax + 0x20], xmm2
movss dword [rax + 0x24], xmm1
mov rax, qword [rsi + 0x30]
movss xmm3, dword [rax + 8]
movss xmm2, dword [rax + 0xc]
movaps xmm1, xmm3
addss xmm1, dword [rax + 0x10]
movaps xmm0, xmm2
movss dword [rbp + 0x38], xmm3
addss xmm0, dword [rax + 0x14]
movss dword [rbp + 0x3c], xmm2
movss dword [rbp + 0x40], xmm1
movss dword [rbp + 0x44], xmm0
cmp byte [rdx], 0
mov rax, qword [rsi + 0x30]
movsd xmm0, qword [rax + 8]
movsd qword [rsi + 0x3c], xmm0
jne 0x180012798
cmp qword [rsp + 0x70], 0
lea rax, [rbp - 0x50]
movss xmm6, dword [rsi + 0x94]
movss xmm2, dword [rsi + 0x230]
movaps xmm0, xmm6
movss xmm3, dword [rsi + 0x234]
addss xmm0, dword [rsi + 0x8c]
subss xmm2, dword [rsi + 0x228]
subss xmm3, dword [rsi + 0x22c]
movss xmm4, dword [rsi + 0x5c]
movss xmm5, dword [rsi + 0x58]
subss xmm4, xmm0
addss xmm2, xmm12
addss xmm3, xmm14
jne 0x18001269a
mov qword [rbp - 0x50], 0
jmp 0x1800126c0
movss xmm0, dword [rsi + 0x78]
movss xmm1, dword [rsi + 0x7c]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rsi + 0x60]
addss xmm1, dword [rsi + 0x64]
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
movss xmm7, dword [rax]
movss xmm1, dword [rax + 4]
test r9b, r9b
jne 0x1800126d1
movaps xmm5, xmm2
test r8b, r8b
jne 0x1800126d9
movaps xmm4, xmm3
bt r14d, 0xe
jb 0x1800126ef
comiss xmm1, xmm4
jbe 0x1800126eb
test r14b, 8
je 0x1800126ef
xor cl, cl
jmp 0x1800126f1
mov cl, 1
mov byte [rsi + 0xe1], cl
lea rdx, [r15 + 0x3964]
bt r14d, 0xf
jb 0x180012738
test cl, cl
je 0x18001270f
movss xmm0, dword [rdx]
jmp 0x180012713
movaps xmm0, xmm15
subss xmm5, xmm0
comiss xmm7, xmm5
jbe 0x18001272b
mov eax, r14d
and eax, 0x808
cmp eax, 0x800
je 0x180012738
mov byte [rsi + 0xe0], 0
movaps xmm1, xmm15
jmp 0x18001275e
mov byte [rsi + 0xe0], 1
test cl, cl
jne 0x18001275a
comiss xmm1, xmm4
jbe 0x180012752
test r14b, 8
jne 0x180012752
mov cl, 1
jmp 0x180012754
xor cl, cl
mov byte [rsi + 0xe1], cl
movss xmm1, dword [rdx]
test cl, cl
je 0x180012768
movss xmm0, dword [rdx]
jmp 0x18001276c
movaps xmm0, xmm15
movss dword [rsi + 0xd8], xmm0
addss xmm6, xmm1
addss xmm0, dword [rsi + 0x90]
movss dword [rsi + 0xdc], xmm1
movss dword [rsi + 0x94], xmm6
movss dword [rsi + 0x90], xmm0
movaps xmm14, xmmword [rsp + 0x190]
mov edi, r14d
and edi, 0x5000000
cmp edi, 0x1000000
jne 0x1800127c9
cmp dword [rsp + 0x54], 0x3000000
je 0x1800127c9
mov rax, qword [rsp + 0x78]
add rax, 0x268
jmp 0x1800127cd
lea rax, [rbp + 0x38]
mov rdx, qword [rbp - 0x80]
movups xmm0, xmmword [rax]
mov ecx, dword [rsi + 0xc]
movss xmm6, dword [rsi + 0x4c]
movss xmm3, dword [rdx]
movaps xmm5, xmm6
movaps xmm4, xmm3
addss xmm4, dword [rsi + 0x50]
addss xmm5, dword [rsi + 0x54]
movups xmmword [rbp - 0x50], xmm0
and ecx, 1
je 0x1800127ff
movaps xmm2, xmm15
jmp 0x18001283d
movss xmm0, dword [r13 + 0x3d3c]
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x18001282c
mulss xmm0, dword [rax + 0x2c0]
movss xmm2, dword [r13 + 0x3930]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [rdx + 4]
addss xmm2, xmm6
movss dword [rbp - 0x40], xmm3
movaps xmm1, xmm3
addss xmm1, dword [rsi + 0x58]
movss dword [rbp - 0x3c], xmm0
movss dword [rbp - 0x34], xmm2
movss dword [rbp - 0x38], xmm1
movss dword [rsi + 0x218], xmm3
movss dword [rsi + 0x21c], xmm6
movss dword [rsi + 0x220], xmm4
movss dword [rsi + 0x224], xmm5
test byte [rsi + 0x415], 1
je 0x1800128e3
test ecx, ecx
je 0x180012895
movaps xmm0, xmm15
jmp 0x1800128d3
movss xmm1, dword [r13 + 0x3d3c]
mulss xmm1, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm1, dword [rsi + 0x2c4]
test rax, rax
je 0x1800128c2
mulss xmm1, dword [rax + 0x2c0]
movss xmm0, dword [r13 + 0x3930]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm0, dword [rsi + 0x21c]
movss dword [rsi + 0x21c], xmm0
movss xmm1, dword [rsi + 0x218]
mov eax, r14d
movss xmm0, dword [rsi + 0x21c]
and eax, 0x401
movss xmm4, dword [rbp - 0x50]
movss xmm5, dword [rbp - 0x4c]
maxss xmm1, xmm4
movss xmm12, dword [rbp - 0x48]
maxss xmm0, xmm5
movss xmm11, dword [rbp - 0x44]
movss dword [rsi + 0x218], xmm1
movss dword [rsi + 0x21c], xmm0
movss xmm1, dword [rsi + 0x220]
movss xmm0, dword [rsi + 0x224]
minss xmm1, xmm12
minss xmm0, xmm11
movss dword [rsi + 0x220], xmm1
movss dword [rsi + 0x224], xmm0
movss xmm6, dword [rdx]
movss xmm7, dword [rsi + 0x4c]
movaps xmm8, xmm6
movaps xmm9, xmm7
addss xmm6, dword [rsi + 0x50]
addss xmm7, dword [rsi + 0x54]
addss xmm8, dword [rsi + 0x88]
addss xmm9, dword [rsi + 0x8c]
subss xmm6, dword [rsi + 0x90]
subss xmm7, dword [rsi + 0x94]
movss dword [rsi + 0x228], xmm8
movss dword [rsi + 0x22c], xmm9
movss dword [rsi + 0x230], xmm6
movss dword [rsi + 0x234], xmm7
cmp eax, 1
jne 0x1800129c2
movss xmm10, dword [rsi + 0x84]
jmp 0x1800129cb
movss xmm10, dword [r15 + 0x3938]
movss xmm2, dword [0x1800d4e74]
lea r13, [rsi + 0x238]
movss xmm0, dword [rsi + 0x78]
addss xmm8, xmm2
movss xmm3, dword [rsi + 0x84]
addss xmm9, xmm2
mulss xmm0, xmm2
addss xmm6, xmm2
lea r14, [rsi + 0x240]
addss xmm7, xmm2
cvttss2si eax, xmm0
addss xmm9, xmm10
subss xmm7, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, xmm3
addss xmm8, xmm1
subss xmm6, xmm1
cvttss2si eax, xmm8
movd xmm8, eax
cvttss2si eax, xmm9
cvtdq2ps xmm8, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm6
movss dword [rsi + 0x23c], xmm0
movss dword [r13], xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm7
movss dword [r14], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x244], xmm0
movss xmm0, dword [r13 + 4]
comiss xmm5, xmm0
jbe 0x180012a80
movaps xmm1, xmm5
jmp 0x180012a88
movaps xmm1, xmm11
minss xmm1, xmm0
comiss xmm4, xmm8
jbe 0x180012a93
movaps xmm0, xmm4
jmp 0x180012a9c
movaps xmm0, xmm12
minss xmm0, xmm8
movss dword [r13], xmm0
movss dword [r13 + 4], xmm1
movss xmm0, dword [r13 + 0xc]
comiss xmm5, xmm0
ja 0x180012abb
movaps xmm5, xmm11
minss xmm5, xmm0
movss xmm0, dword [r13 + 8]
comiss xmm4, xmm0
ja 0x180012ace
movaps xmm4, xmm12
minss xmm4, xmm0
movss dword [r13 + 8], xmm4
movss dword [r13 + 0xc], xmm5
movss xmm0, dword [rsi + 0x50]
comiss xmm0, xmm15
jbe 0x180012af9
test dword [rsp + 0x44], 0x2000040
jne 0x180012af9
mulss xmm0, dword [0x1800d4e80]
jmp 0x180012b0a
movss xmm0, dword [r15 + 0x3d38]
mulss xmm0, dword [0x1800d4fb4]
cvttss2si eax, xmm0
mov rdx, rsi
lea rcx, [rbp - 0x78]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x29c], xmm0
movss xmm0, dword [rsi + 0x230]
subss xmm0, dword [rsi + 0x228]
movss xmm1, dword [rsi + 0x78]
addss xmm1, xmm1
addss xmm1, dword [rsi + 0x60]
subss xmm1, xmm0
movaps xmm0, xmm15
maxss xmm0, xmm1
movss xmm1, dword [rsi + 0x7c]
addss xmm1, xmm1
movss dword [rsi + 0xb8], xmm0
movss xmm0, dword [rsi + 0x234]
subss xmm0, dword [rsi + 0x22c]
addss xmm1, dword [rsi + 0x64]
subss xmm1, xmm0
movaps xmm0, xmm15
maxss xmm0, xmm1
movss dword [rsi + 0xbc], xmm0
call fcn.180018660
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0xb0], xmm0
movss dword [rsi + 0xb4], xmm1
mov dword [rsi + 0xc0], 0x7f7fffff
mov dword [rsi + 0xc4], 0x7f7fffff
mov qword [rsi + 0x98], 0
mov rax, qword [r15 + 0x3d30]
mov rcx, qword [rsi + 0x2d0]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.180073800
mov rcx, qword [0x1800ebe10]
lea r8, [rbp - 0x48]
xor r9d, r9d
lea rdx, [rbp - 0x50]
mov rax, qword [rcx + 0x3fd8]
mov byte [rax + 0xe5], 1
mov rbx, qword [rcx + 0x3fd8]
mov rcx, qword [rbx + 0x2d0]
call fcn.1800736f0
mov rax, qword [rbx + 0x2d0]
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 + 0x268], eax
movss dword [rbx + 0x26c], xmm0
movss dword [rbx + 0x270], xmm1
movss dword [rbx + 0x274], xmm2
movzx eax, byte [rsi + 0x415]
and al, 5
cmp al, 1
je 0x180012db7
xor bl, bl
cmp edi, 0x1000000
jne 0x180012d32
cmp dword [rsp + 0x54], 0x3000000
je 0x180012d32
mov r9, qword [rsp + 0x78]
movsxd rax, dword [r9 + 0x1c0]
cmp eax, 2
jl 0x180012cfb
mov rcx, rax
mov rax, qword [r9 + 0x1c8]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x180012cfb
movss xmm1, dword [rsi + 0x4c]
movss xmm5, dword [rdx + 0x4c]
movaps xmm2, xmm1
mov rcx, qword [rbp - 0x80]
movaps xmm0, xmm5
addss xmm0, dword [rdx + 0x54]
movss xmm7, dword [rdx + 0x48]
addss xmm2, dword [rsi + 0x54]
movss xmm6, dword [rcx]
movaps xmm3, xmm7
addss xmm3, dword [rdx + 0x50]
comiss xmm0, xmm1
movaps xmm4, xmm6
addss xmm4, dword [rsi + 0x50]
jbe 0x180012cfb
comiss xmm2, xmm5
jbe 0x180012cfb
comiss xmm3, xmm6
jbe 0x180012cfb
comiss xmm4, xmm7
jbe 0x180012cfb
mov r8b, 1
jmp 0x180012cfe
xor r8b, r8b
mov rdx, qword [rsi + 0x2d0]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], 0
jne 0x180012d32
mov rax, qword [r9 + 0x2d0]
cmp dword [rax + 0x20], 0
jle 0x180012d32
test r8b, r8b
jne 0x180012d32
mov bl, 1
mov qword [rsi + 0x2d0], rax
mov rcx, qword [r15 + 0x4b98]
test rcx, rcx
jne 0x180012d45
mov rcx, qword [r15 + 0x4a28]
cmp byte [rsp + 0x58], 0
jne 0x180012d7b
test rcx, rcx
je 0x180012d76
mov rax, qword [rcx + 0x3c8]
cmp qword [rsi + 0x3c8], rax
je 0x180012d7b
mov rax, qword [rsi + 0x430]
test rax, rax
je 0x180012d76
cmp rax, qword [rcx + 0x430]
je 0x180012d7b
xor r8b, r8b
jmp 0x180012d7e
mov r8b, 1
movzx r9d, byte [rsp + 0x40]
lea rax, [rbp + 0x60]
movss dword [rsp + 0x30], xmm13
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.18000f890
test bl, bl
je 0x180012db7
lea rax, [rsi + 0x2d8]
mov qword [rsi + 0x2d0], rax
mov edi, dword [rsp + 0x44]
mov ecx, edi
movss xmm4, dword [rsi + 0x70]
shr ecx, 3
not cl
and cl, 1
ucomiss xmm4, xmm15
jp 0x180012e1b
jne 0x180012e1b
movss xmm0, dword [rsi + 0x78]
mov eax, edi
movss xmm1, dword [rsi + 0x50]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x90]
addss xmm0, dword [rsi + 0x88]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x180012e11
movss xmm7, dword [rsi + 0x60]
maxss xmm7, xmm1
jmp 0x180012e1e
movaps xmm7, xmm15
maxss xmm7, xmm1
jmp 0x180012e1e
movaps xmm7, xmm4
movss xmm5, dword [rsi + 0x74]
ucomiss xmm5, xmm15
jp 0x180012e6a
jne 0x180012e6a
movss xmm0, dword [rsi + 0x7c]
movss xmm1, dword [rsi + 0x54]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rsi + 0x94]
addss xmm0, dword [rsi + 0x8c]
subss xmm1, xmm0
test cl, cl
je 0x180012e60
movss xmm6, dword [rsi + 0x64]
maxss xmm6, xmm1
jmp 0x180012e6d
movaps xmm6, xmm15
maxss xmm6, xmm1
jmp 0x180012e6d
movaps xmm6, xmm5
ucomiss xmm4, xmm15
movss xmm2, dword [rsi + 0x84]
movss xmm8, dword [rsi + 0x78]
movss xmm10, dword [rsi + 0xb0]
movaps xmm1, xmm8
movss xmm0, dword [rsi + 0x228]
maxss xmm1, xmm2
subss xmm0, xmm10
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss dword [rsi + 0x248], xmm3
addss xmm7, xmm3
movss xmm9, dword [rsi + 0x7c]
movss xmm11, dword [rsi + 0xb4]
movaps xmm1, xmm9
movss xmm0, dword [rsi + 0x22c]
maxss xmm1, xmm2
subss xmm0, xmm11
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm2, eax
mov rax, qword [rbp - 0x80]
cvtdq2ps xmm2, xmm2
movss dword [rsi + 0x24c], xmm2
addss xmm6, xmm2
movss dword [rsi + 0x250], xmm7
movss dword [rsi + 0x254], xmm6
movups xmm0, xmmword [rsi + 0x248]
movups xmmword [rsi + 0x258], xmm0
movss xmm12, dword [rax]
movss xmm6, dword [rsi + 0x88]
movaps xmm2, xmm12
subss xmm2, xmm10
addss xmm2, xmm8
addss xmm2, xmm6
movss dword [rsi + 0x278], xmm2
movss xmm13, dword [rsi + 0x4c]
movss xmm7, dword [rsi + 0x8c]
movaps xmm3, xmm13
subss xmm3, xmm11
addss xmm3, xmm9
addss xmm3, xmm7
movss dword [rsi + 0x27c], xmm3
jp 0x180012f8d
jne 0x180012f8d
movss xmm4, dword [rsi + 0x50]
movaps xmm0, xmm8
addss xmm0, xmm8
movaps xmm1, xmm6
addss xmm1, dword [rsi + 0x90]
subss xmm4, xmm0
subss xmm4, xmm1
ucomiss xmm5, xmm15
addss xmm4, xmm2
movss dword [rsi + 0x280], xmm4
jp 0x180012fc2
jne 0x180012fc2
movss xmm5, dword [rsi + 0x54]
movaps xmm0, xmm9
addss xmm0, xmm9
movaps xmm1, xmm7
addss xmm1, dword [rsi + 0x94]
subss xmm5, xmm0
subss xmm5, xmm1
movzx r8d, byte [rsp + 0x42]
addss xmm5, xmm3
xor r12d, r12d
lea rcx, [rsi + 0x19c]
cvtps2pd xmm3, xmm9
movss dword [rsi + 0x284], xmm5
movaps xmm0, xmm6
addss xmm0, xmm8
cvtps2pd xmm2, xmm8
subss xmm0, xmm10
cvtps2pd xmm1, xmm10
movss dword [rsi + 0x174], xmm0
mov qword [rsi + 0x178], r12
cvtps2pd xmm0, xmm12
addsd xmm2, xmm0
cvtps2pd xmm0, xmm6
subsd xmm2, xmm1
cvtps2pd xmm1, xmm11
addsd xmm2, xmm0
xorps xmm0, xmm0
addsd xmm2, xmm0
cvtps2pd xmm0, xmm13
addsd xmm3, xmm0
cvtps2pd xmm0, xmm7
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rsi + 0x140], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rsi + 0x144], xmm0
movss xmm0, dword [rsi + 0x140]
movss xmm1, dword [rsi + 0x144]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rsi + 0x180], xmm2
movss dword [rsi + 0x184], xmm0
movss xmm1, dword [rsi + 0x140]
movss xmm0, dword [rsi + 0x144]
movss dword [rsi + 0x130], xmm1
movss dword [rsi + 0x134], xmm0
movss dword [rsi + 0x138], xmm1
movss dword [rsi + 0x13c], xmm0
movss dword [rsi + 0x148], xmm1
movss dword [rsi + 0x14c], xmm0
movss dword [rsi + 0x150], xmm1
movss dword [rsi + 0x154], xmm0
mov qword [rsi + 0x160], r12
mov qword [rsi + 0x158], r12
mov qword [rsi + 0x168], r12
mov word [rsi + 0x170], r12w
mov dword [rsi + 0x188], r12d
movzx eax, word [rsi + 0x18e]
mov word [rsi + 0x18c], ax
mov word [rsi + 0x18e], r12w
mov byte [rsi + 0x190], r12b
movss xmm0, dword [rsi + 0xbc]
comiss xmm0, xmm15
seta al
mov byte [rsi + 0x191], al
mov byte [rsi + 0x192], r12b
movss xmm1, dword [r15 + 0x393c]
call fcn.1800aa1b0
lea rcx, [rsi + 0x1c0]
mov qword [rsi + 0x1b8], r12
call fcn.180038a80
movaps xmm13, xmmword [rsp + 0x1a0]
lea rax, [rsi + 0x2a0]
movaps xmm12, xmmword [rsp + 0x1b0]
mov ecx, 1
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
mov qword [rsi + 0x1d0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 0x1d8], r12
test rax, rax
mov dword [rsi + 0x1e4], ecx
je 0x1800131b2
mov eax, dword [rax + 0x1e4]
jmp 0x1800131b4
mov eax, ecx
mov dword [rsi + 0x1e8], eax
mov eax, dword [rsi + 0x29c]
mov dword [rsi + 0x1ec], eax
mov dword [rsi + 0x1f0], 0xbf800000
mov ecx, dword [rsi + 0x1fc]
test ecx, ecx
jns 0x1800131f7
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x1f8]
test eax, eax
cmovg edx, eax
call fcn.1800394b0
mov dword [rsi + 0x1f8], r12d
mov ecx, dword [rsi + 0x20c]
test ecx, ecx
jns 0x180013225
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x208]
test eax, eax
cmovg edx, eax
call fcn.1800394b0
mov dword [rsi + 0x208], r12d
movzx eax, byte [rsi + 0x100]
test al, al
jle 0x18001323f
dec al
mov byte [rsi + 0x100], al
movzx eax, byte [rsi + 0x101]
test al, al
jle 0x180013252
dec al
mov byte [rsi + 0x101], al
cmp byte [rsp + 0x58], r12b
je 0x18001326b
mov rcx, rsi
call fcn.180013d70
xor edx, edx
mov rcx, rsi
call fcn.18001b3e0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1800132c5
mov rdx, qword [rsi + 0x30]
cmp byte [rdx + 0x5b], r12b
je 0x1800132c5
mov rax, qword [0x1800ebe10]
mov rcx, qword [rax + 0x49d0]
cmp rdx, qword [rcx]
je 0x1800132c5
movzx eax, byte [rsi + 0x415]
and al, 5
cmp al, 1
je 0x1800132c5
mov byte [rdx + 0x5b], r12b
test byte [r15 + 0x5e3c], 0x80
mov byte [r15 + 0x4bb8], r12b
je 0x1800132c2
mov rdx, qword [rsi]
lea rcx, str._viewport__Window__s_PlatformRequestClose_n
call fcn.180035f80
mov byte [rbx], r12b
test dil, 1
jne 0x18001331f
test byte [rsi + 0x415], 1
jne 0x18001331f
movss xmm2, dword [rsi + 0x84]
lea rdx, [rbp - 0x78]
movss xmm0, dword [rbp - 0x40]
mov r9, rbx
movss xmm1, dword [rbp - 0x38]
addss xmm0, xmm2
mov r8, qword [rbp - 0x60]
subss xmm1, xmm2
mov rcx, rsi
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x3c]
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rbp - 0x34]
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x70], xmm1
call fcn.1800103f0
mov dword [rsi + 0x288], r12d
test byte [r15 + 8], 0x40
je 0x180013504
cmp qword [r15 + 0x3ff0], rsi
jne 0x1800134c5
movzx eax, byte [r15 + 0xe21]
cmp byte [r15 + 0x79], al
jne 0x1800134c5
mov rax, qword [rsi + 0x3c0]
test dword [rax + 0xc], 0x200000
jne 0x1800134c5
mov r14, qword [0x1800ebe10]
mov eax, dword [rsi + 0xa4]
cmp byte [r14 + 0x79], 0
mov dword [r14 + 0x4874], eax
mov r12, qword [rsi + 0x3c0]
jne 0x1800133db
movss xmm0, dword [r14 + 0x3930]
movss xmm2, dword [r14 + 0x404c]
addss xmm0, xmm0
comiss xmm2, xmm15
addss xmm0, dword [r14 + 0x3d38]
movss xmm3, dword [r12 + 0x58]
jb 0x1800134bb
movss xmm1, dword [r14 + 0x4050]
comiss xmm1, xmm15
jb 0x1800134bb
comiss xmm3, xmm2
jbe 0x1800134bb
comiss xmm0, xmm1
jbe 0x1800134bb
mov ecx, 0x25
call fcn.18001e5f0
test al, al
je 0x1800134bb
mov rdi, qword [0x1800ebe10]
lea rdx, str._IMWINDOW
mov r8d, 0x20
lea rcx, [rdi + 0x4c00]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea rcx, [rdi + 0x4c58]
mov byte [rdi + 0x4c20], 0
xor edx, edx
call fcn.180038190
lea rax, [rdi + 0x4c68]
xor ecx, ecx
mov qword [rdi + 0x4c70], rcx
mov rbx, qword [0x1800ebe10]
mov qword [rdi + 0x4be8], rax
mov qword [rax], r12
mov dword [rdi + 0x4bf0], 8
mov eax, dword [rdi + 0x3f58]
mov dword [rdi + 0x4bfc], eax
test byte [rbx + 0x4bd8], 1
jne 0x180013468
call fcn.1800139e0
cmp dword [rbx + 0x4bfc], 0xffffffff
jne 0x180013476
call fcn.18001e530
lea r8, [0x1800bfa48]
mov byte [rbx + 0x4bd5], 0
sub r12, r8
lea r9, [0x1800bfa60]
nop
movsxd rcx, dword [r8]
shl rcx, 4
add rcx, 0x39b8
add rcx, r14
call fcn.1800031f0
mov dword [r12 + r8 + 0x418], eax
add r8, 4
cmp r8, r9
jl 0x180013490
mov edi, dword [rsp + 0x44]
xor r12d, r12d
lea r14, [rsi + 0x240]
cmp byte [r15 + 0x4bd4], 0
je 0x180013504
bt edi, 0x15
jb 0x180013504
mov rax, qword [r15 + 0x3ff0]
test rax, rax
je 0x1800134ea
cmp qword [rax + 0x3c0], rsi
je 0x180013504
cmp rsi, qword [rsi + 0x3c0]
jne 0x180013504
test dword [rsi + 0xc], 0x20000000
jne 0x180013504
mov rcx, rsi
call fcn.18002a430
test byte [rsi + 0x415], 1
je 0x180013550
mov r8, qword [0x1800ebe10]
mov edx, dword [rsi + 0x444]
mov ecx, dword [r15 + 0x4858]
mov eax, dword [rsi + 0xa4]
mov dword [r8 + 0x4874], eax
mov dword [r8 + 0x4878], ecx
mov dword [r8 + 0x487c], edx
movups xmm0, xmmword [rsi + 0x448]
movups xmmword [r8 + 0x4880], xmm0
jmp 0x18001362d
mov rax, qword [0x1800ebe10]
movss xmm8, dword [rbp - 0x38]
movss xmm7, dword [rbp - 0x40]
movaps xmm3, xmm8
movss xmm5, dword [rbp - 0x34]
movaps xmm0, xmm7
movss xmm2, dword [rax + 0x3954]
movaps xmm4, xmm5
movss xmm1, dword [rax + 0x3958]
subss xmm0, xmm2
movss xmm6, dword [rbp - 0x3c]
addss xmm3, xmm2
movaps xmm2, xmm6
addss xmm4, xmm1
subss xmm2, xmm1
movss xmm1, dword [rax + 0xe04]
comiss xmm1, xmm0
jb 0x1800135f3
movss xmm0, dword [rax + 0xe08]
comiss xmm0, xmm2
jb 0x1800135f3
comiss xmm3, xmm1
jbe 0x1800135f3
comiss xmm4, xmm0
jbe 0x1800135f3
mov rax, qword [rax + 0x49e8]
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, xmm6
jbe 0x1800135f3
comiss xmm5, xmm2
jbe 0x1800135f3
comiss xmm1, xmm7
jbe 0x1800135f3
comiss xmm8, xmm3
ja 0x1800135f8
mov dword [rsp + 0x6c], r12d
mov eax, dword [rsi + 0xa4]
mov rdx, qword [0x1800ebe10]
mov ecx, dword [r15 + 0x4858]
mov dword [rdx + 0x4874], eax
mov eax, dword [rsp + 0x6c]
mov dword [rdx + 0x487c], eax
mov dword [rdx + 0x4878], ecx
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rdx + 0x4880], xmm0
mov eax, dword [r15 + 0x485c]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm6, xmmword [rsp + 0x210]
test eax, eax
je 0x180013747
cmp dword [rsi + 8], eax
je 0x180013666
cmp dword [rsi + 0xa4], eax
jne 0x180013747
call fcn.180036d70
jmp 0x180013747
mov rcx, qword [rsi + 0x30]
mov rdx, qword [0x1800ebe10]
test rcx, rcx
je 0x180013689
mov eax, dword [rdx + 0x3f58]
mov dword [rcx + 0x64], eax
cmp qword [rdx + 0x49e0], rcx
je 0x1800136c8
test rcx, rcx
je 0x1800136b7
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x49d8], eax
mov rax, qword [rdx + 0x3878]
mov qword [rdx + 0x49e0], rcx
test rax, rax
je 0x1800136c8
call rax
jmp 0x1800136c8
mov dword [rdx + 0x49d8], 0x3f800000
mov qword [rdx + 0x49e0], rcx
mov rcx, qword [0x1800ebe10]
mov qword [rcx + 0x3fd8], rsi
movsxd rax, dword [rsi + 0x1e0]
cmp eax, 0xffffffff
je 0x1800136f2
imul rdx, rax, 0x228
add rdx, qword [rcx + 0x4cb8]
jmp 0x1800136f6
xor eax, eax
mov edx, eax
movss xmm0, dword [rcx + 0x3d3c]
mov qword [rcx + 0x4c90], rdx
mulss xmm0, dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x3a0]
mulss xmm0, dword [rsi + 0x2c4]
test rax, rax
je 0x180013729
mulss xmm0, dword [rax + 0x2c0]
movss dword [rcx + 0x3d50], xmm0
lea r14, [rsi + 0x240]
movss dword [rcx + 0x3d38], xmm0
lea r13, [rsi + 0x238]
mov ecx, dword [rsp + 0x44]
mov r12, qword [rsp + 0x230]
mov rdi, qword [rsp + 0x238]
bt ecx, 0x1d
jb 0x1800137dc
mov rcx, qword [0x1800ebe10]
mov r9b, 1
mov r8, r14
mov rdx, r13
mov rax, qword [rcx + 0x3fd8]
mov byte [rax + 0xe5], 1
mov rbx, qword [rcx + 0x3fd8]
mov rcx, qword [rbx + 0x2d0]
call fcn.1800736f0
mov rax, qword [rbx + 0x2d0]
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 ecx, dword [rsp + 0x44]
mov dword [rbx + 0x268], eax
movss dword [rbx + 0x26c], xmm0
movss dword [rbx + 0x270], xmm1
movss dword [rbx + 0x274], xmm2
mov r14, qword [rsp + 0x220]
xor eax, eax
mov r13, qword [rsp + 0x228]
mov rbx, qword [rsp + 0x278]
mov byte [rsi + 0xe5], 0
inc word [rsi + 0xf0]
mov dword [r15 + 0x48b0], eax
mov eax, dword [rsp + 0x4c]
cmp eax, dword [rsp + 0x48]
je 0x1800139af
movzx eax, byte [rsi + 0x415]
and al, 5
cmp al, 1
jne 0x180013845
mov eax, dword [r15 + 0x3f58]
cmp dword [rsi + 0x294], eax
jne 0x18001383e
mov byte [rsi + 0x109], 1
jmp 0x180013845
mov byte [rsi + 0x108], 1
bt ecx, 0x18
jae 0x18001390b
test cl, 0x40
jne 0x1800138cf
cmp byte [rsi + 0x100], 0
jg 0x1800138cf
cmp byte [rsi + 0x101], 0
jg 0x1800138cf
bt ecx, 0x17
jae 0x180013896
cmp byte [r15 + 0x4a6c], 0
je 0x180013896
mov rcx, qword [r15 + 0x4a28]
test rcx, rcx
je 0x180013896
mov rax, qword [rsi + 0x3d0]
cmp qword [rcx + 0x3d0], rax
jne 0x180013896
mov al, 1
jmp 0x180013898
xor al, al
cmp byte [r15 + 0x5df8], 0
jne 0x1800138cf
test al, al
jne 0x1800138cf
movss xmm0, dword [rsi + 0x218]
comiss xmm0, dword [rsi + 0x220]
jae 0x1800138c8
movss xmm0, dword [rsi + 0x21c]
comiss xmm0, dword [rsi + 0x224]
jb 0x1800138cf
mov byte [rsi + 0x108], 1
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18001390b
cmp byte [rax + 0xe6], 0
jne 0x1800138eb
cmp byte [rax + 0x108], 0
jle 0x1800138f2
mov byte [rsi + 0x108], 1
cmp byte [rax + 0xe6], 0
jne 0x180013904
cmp byte [rax + 0x109], 0
jle 0x18001390b
mov byte [rsi + 0x109], 1
comiss xmm15, dword [r15 + 0x38f0]
jb 0x18001391c
mov byte [rsi + 0x108], 1
cmp byte [rsi + 0x108], 0
jg 0x18001393c
cmp byte [rsi + 0x109], 0
jg 0x18001393c
xor cl, cl
cmp byte [rsi + 0x10a], cl
jg 0x18001393e
xor al, al
jmp 0x180013940
mov cl, 1
mov al, 1
mov byte [rsi + 0xea], al
movzx eax, byte [rsi + 0x10b]
test al, al
jle 0x180013960
dec al
mov byte [rsi + 0x10b], al
or dword [rsi + 0xc], 0xc0200
cmp byte [rsi + 0xe6], 0
jne 0x180013976
cmp byte [rsi + 0xe3], 0
je 0x180013976
test cl, cl
je 0x1800139a8
cmp byte [rsi + 0x100], 0
jg 0x1800139a8
cmp byte [rsi + 0x101], 0
jg 0x1800139a8
cmp byte [rsi + 0x109], 0
jg 0x1800139a8
mov byte [rsi + 0xe8], 1
movzx eax, word [rsi + 0x18c]
mov word [rsi + 0x18e], ax
jmp 0x1800139af
mov byte [rsi + 0xe8], 0
cmp byte [rsi + 0xe8], 0
sete al
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1800b8990
movaps xmm15, xmmword [rsp + 0x180]
add rsp, 0x240
pop r15
pop rsi
pop rbp
ret