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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
mov rdx, qword [0x180066470]
mov r8d, 1
movaps xmmword [rax - 0x48], xmm6
mov rbx, r9
movaps xmmword [rax - 0x58], xmm7
mov r12, rcx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [rdx + 0x1860]
mov byte [rax + 0x92], r8b
mov rdi, qword [rdx + 0x1860]
xor edx, edx
cmp byte [rdi + 0x94], dl
jne 0x180013ec3
mov ecx, dword [rbp + 0x120]
mov r13d, ecx
mov r14, qword [0x180066470]
mov eax, ecx
shr eax, 0xe
mov esi, ecx
not al
shr r13d, 0x14
and al, r8b
shr esi, 0xf
mov dword [rsp + 0x5c], eax
and r13b, r8b
and sil, r8b
mov qword [rbp - 0x70], r14
mov eax, ecx
mov dword [rsp + 0x54], r13d
shr eax, 0x10
not al
mov dword [rbp - 0x58], esi
and al, r8b
mov dword [rsp + 0x78], eax
test r13b, r13b
je 0x180013d55
call fcn.18000b76c
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.180012aa4
movss xmm0, dword [0x180052d40]
lea rcx, [rbp - 0x28]
mov r9d, 1
movss dword [rbp - 0x30], xmm0
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
mov rdx, r12
mov dword [rsp + 0x68], eax
mov r15d, eax
call fcn.18000c920
test r13b, r13b
je 0x180013db0
mov rcx, qword [0x180066470]
movss xmm6, dword [rcx + 0x1778]
mulss xmm6, dword [0x180053368]
jmp 0x180013db5
movss xmm6, dword [rbp - 0x24]
call fcn.18000c25c
movss xmm7, dword [r14 + 0x1460]
lea rcx, [rsp + 0x70]
mov rdx, qword [rbx]
movaps xmm3, xmm7
addss xmm3, xmm7
movaps xmm2, xmm0
addss xmm3, xmm6
call fcn.18000c110
movss xmm9, dword [rdi + 0xe4]
xorps xmm14, xmm14
movss xmm6, dword [rdi + 0xe0]
movaps xmm8, xmm9
movss xmm0, dword [rbp - 0x28]
movaps xmm10, xmm6
comiss xmm0, xmm14
movss xmm11, dword [rsp + 0x70]
movss xmm12, dword [rsp + 0x74]
addss xmm10, xmm11
addss xmm8, xmm12
movss dword [rbp - 0x2c], xmm9
movss dword [rbp - 0x40], xmm6
movss dword [rbp - 0x3c], xmm9
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x20], xmm10
movss dword [rbp - 0x38], xmm10
movss dword [rbp - 0x34], xmm8
jbe 0x180013e51
addss xmm0, dword [r14 + 0x1474]
jmp 0x180013e54
xorps xmm0, xmm0
movss dword [rbp - 0x80], xmm6
movaps xmm1, xmm10
movss dword [rbp - 0x7c], xmm9
addss xmm1, xmm0
mov qword [rsp + 0x70], rdi
movaps xmm0, xmm8
addss xmm0, xmm14
movss dword [rbp - 0x78], xmm1
movss dword [rbp - 0x74], xmm0
test r13b, r13b
je 0x180013f44
movaps xmm0, xmm10
lea rdx, [rsp + 0x70]
movaps xmm1, xmm8
subss xmm0, xmm6
subss xmm1, xmm9
xor r8d, r8d
mov ecx, r15d
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
call fcn.18000ae28
test al, al
jne 0x180013f18
call fcn.180011788
call fcn.180011e84
xor al, al
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [0x180066470]
mov rax, qword [rcx + 0x1860]
mov byte [rax + 0x92], 1
mov rbx, qword [rcx + 0x1860]
mov qword [rsp + 0x70], rbx
subss xmm11, dword [rbx + 0x88]
jmp 0x180013f64
movaps xmm1, xmm7
lea rcx, [rbp - 0x80]
call fcn.180016430
mov edx, r15d
lea rcx, [rbp - 0x80]
call fcn.1800162f0
test al, al
je 0x180013ec3
mov edx, r15d
lea rcx, [rbp - 0x40]
call fcn.180016364
mov byte [rsp + 0x51], al
mov r12b, al
test al, al
je 0x180013f86
mov dword [r14 + 0x1a68], 1
test sil, sil
je 0x180014010
mov rcx, qword [r14 + 0x1770]
mov edx, 0x2a
call fcn.180021888
mov rdx, qword [r14 + 0x1770]
lea r10, [r14 + 0x2938]
mov r9, rax
mov ecx, dword [rdx]
mov dword [r10], ecx
mov ecx, dword [rdx + 4]
mov dword [r10 + 4], ecx
mov rcx, r10
mov rdx, qword [r14 + 0x1770]
movsd xmm0, qword [rdx + 8]
movsd qword [r10 + 8], xmm0
mov rdx, qword [r14 + 0x1770]
mov r8d, dword [rdx + 0x60]
mov dword [r10 + 0x60], r8d
mov rdx, qword [r14 + 0x1770]
mov r8d, dword [rdx + 0x64]
mov dword [r10 + 0x64], r8d
mov rax, qword [r14 + 0x1770]
mov rdx, qword [rax + 0x58]
mov qword [r10 + 0x58], rdx
mov qword [r10 + 0x40], r9
mov eax, dword [r9 + 4]
mov dword [r10 + 0x48], eax
call fcn.180017c68
test dword [rbp + 0x120], 0x440
lea rsi, [r14 + 0x1c50]
mov edx, r15d
mov rcx, rdi
sete r8b
call fcn.180012578
xor r8d, r8d
mov bl, al
test al, al
je 0x180014115
mov ecx, dword [rdi + 0x298]
cmp dword [rdi + 0x290], ecx
jne 0x180014115
lea r9d, [r8 + 1]
mov byte [rsp + 0x58], r9b
mov byte [rsp + 0x59], r8b
test r12b, r12b
je 0x18001406e
mov r15b, r9b
cmp byte [r14 + 0x3b0], r8b
jne 0x180014071
mov r15b, r8b
test r13b, r13b
mov byte [rsp + 0x50], r15b
mov r13d, dword [rsp + 0x68]
je 0x1800140c9
cmp dword [r14 + 0x1890], r8d
jne 0x1800140c9
cmp dword [rsi], r13d
jne 0x1800140c9
mov rax, qword [rsp + 0x70]
lea rcx, str.SCROLLY
xor edx, edx
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001301c
xor r8d, r8d
mov r9d, 1
cmp dword [r14 + 0x1894], eax
mov al, r9b
je 0x1800140cc
mov al, r8b
mov ecx, dword [r14 + 0x1890]
mov byte [rsp + 0x5a], r8b
cmp ecx, r13d
je 0x1800140e9
test byte [rbp + 0x120], 0x10
mov r13b, r9b
jne 0x1800140ec
mov r13b, r8b
mov edx, 8
test bl, bl
jne 0x180014137
test r15b, r15b
jne 0x180014137
test al, al
jne 0x180014137
cmp byte [r14 + 0x3b0], r8b
je 0x1800142d1
mov byte [rsp + 0x5a], r9b
jmp 0x1800142d1
mov byte [rsp + 0x58], r8b
mov r9d, 1
test bl, bl
je 0x180014058
mov byte [rsp + 0x59], r9b
mov byte [rsp + 0x58], r8b
jmp 0x18001405d
cmp ecx, dword [rsp + 0x68]
je 0x1800142b5
mov ebx, dword [rbp + 0x110]
lea r15, [rsi + 8]
mov ecx, dword [r15 + 4]
inc ebx
mov eax, dword [rsi + 0x3c]
mov dword [rsp + 0x60], eax
cmp ebx, ecx
jle 0x180014181
test ecx, ecx
je 0x18001416b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001416d
mov eax, edx
cmp eax, ebx
mov edx, ebx
mov rcx, r15
cmovg edx, eax
call fcn.18001ccf0
mov edx, 8
mov dword [r15], ebx
mov ecx, dword [rsi + 0x1c]
cmp ebx, ecx
jle 0x1800141ac
test ecx, ecx
je 0x18001419a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001419c
mov eax, edx
cmp eax, ebx
lea rcx, [rsi + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.18001cc64
mov dword [rsi + 0x18], ebx
mov rcx, qword [rsi + 0x20]
movsxd r8, ebx
mov rbx, qword [rbp + 0x108]
mov rdx, rbx
call fcn.180013144
mov edx, dword [r15]
lea rax, [rbp - 0x80]
mov rcx, qword [rsi + 0x10]
xor r12d, r12d
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rbp - 0x80], r12
call fcn.1800133e8
mov ecx, dword [rbp - 0x80]
mov edx, eax
sub ecx, ebx
mov dword [rsi + 0x3c], eax
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x38], ecx
mov dword [rsi + 0xcdc], 0xbe99999a
cmp dword [rsi], eax
jne 0x180014239
cmp dword [rsp + 0x60], edx
jne 0x180014239
cmp dword [rsi + 0x48], edx
mov eax, edx
mov ecx, dword [rsp + 0x54]
cmovl eax, dword [rsi + 0x48]
cmp dword [rsi + 0x4c], edx
mov dword [rsi + 0x48], eax
mov eax, edx
cmovl eax, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], edx
mov dword [rsi + 0x4c], eax
cmovl edx, dword [rsi + 0x50]
mov dword [rsi + 0x50], edx
lea edx, [r12 + 1]
jmp 0x180014283
mov ecx, dword [rsp + 0x54]
mov edx, 1
mov dword [rsi], eax
mov al, cl
mov qword [rsi + 0x44], r12
xor al, dl
mov dword [rsi + 0xcd2], 0x630000
mov dword [rsi + 0xcd6], 0x3e70000
mov qword [rsi + 0x4c], r12
mov dword [rsi + 0x54], 0x10000
mov dword [rsi + 0x5c], r12d
mov byte [rsi + 0x58], al
test cl, cl
jne 0x180014283
cmp byte [rsp + 0x58], r12b
movzx r13d, r13b
cmovne r13d, edx
test dword [rbp + 0x120], 0x2000
je 0x180014292
mov byte [rsi + 0x54], dl
test cl, cl
jne 0x1800142b0
cmp byte [rsp + 0x59], r12b
jne 0x1800142ad
cmp byte [rsp + 0x50], r12b
je 0x1800142b0
cmp byte [r14 + 0x125], r12b
je 0x1800142b0
mov r13b, dl
mov r12b, byte [rsp + 0x51]
mov ecx, dword [rsp + 0x68]
mov rdx, rdi
call fcn.18001a82c
mov rcx, rdi
call fcn.180012504
mov edx, 8
xor r8d, r8d
mov eax, dword [rsp + 0x68]
movss xmm15, dword [0x180052ce0]
mov byte [rsp + 0x59], r8b
mov byte [rsp + 0x50], r8b
cmp dword [r14 + 0x1890], eax
jne 0x1800145cc
mov edi, dword [rsp + 0x5c]
test dil, dil
jne 0x18001439e
cmp byte [r14 + 0x189d], r8b
jne 0x18001439e
mov ebx, dword [rbp + 0x110]
mov ecx, dword [rsi + 0xc]
inc ebx
cmp ebx, ecx
jle 0x180014342
test ecx, ecx
je 0x18001432d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001432f
mov eax, edx
cmp eax, ebx
lea rcx, [rsi + 8]
mov edx, ebx
cmovg edx, eax
call fcn.18001ccf0
xor r8d, r8d
mov rdi, qword [rbp + 0x108]
lea rax, [rbp - 0x80]
mov dword [rsi + 8], ebx
xor r9d, r9d
mov rcx, qword [rsi + 0x10]
mov edx, ebx
mov qword [rbp - 0x80], r8
mov r8, rdi
mov qword [rsp + 0x20], rax
call fcn.1800133e8
mov ecx, dword [rbp - 0x80]
mov edx, eax
sub ecx, edi
mov dword [rsi + 0x3c], eax
cmp dword [rsi + 0x48], eax
mov edi, dword [rsp + 0x5c]
mov dword [rsi + 0x38], ecx
mov ecx, eax
cmovl ecx, dword [rsi + 0x48]
cmp dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
cmovl eax, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], edx
mov dword [rsi + 0x4c], eax
cmovl edx, dword [rsi + 0x50]
xor r8d, r8d
mov dword [rsi + 0x50], edx
mov eax, dword [rbp + 0x110]
mov ebx, 1
mov dword [rsi + 0x40], eax
cmp byte [r14 + 0x118], r8b
mov dword [r14 + 0x2c40], ebx
sete al
mov byte [r14 + 0x189e], al
movss xmm1, dword [r14 + 0x110]
subss xmm1, xmm6
subss xmm1, dword [r14 + 0x145c]
addss xmm1, dword [rsi + 0x44]
cmp byte [rsp + 0x54], r8b
je 0x180014407
mov rax, qword [rsp + 0x70]
movss xmm2, dword [r14 + 0x114]
subss xmm2, dword [rax + 0xe4]
subss xmm2, dword [r14 + 0x1460]
jmp 0x180014415
movss xmm2, dword [r14 + 0x1778]
mulss xmm2, xmm15
test r13b, r13b
jne 0x180014505
test r12b, r12b
je 0x180014439
cmp byte [r14 + 0xc8], r8b
jne 0x18001447b
cmp byte [r14 + 0x3b5], r8b
jne 0x180014505
cmp byte [r14 + 0x3b0], r8b
je 0x1800144a3
cmp byte [rsi + 0xce1], r8b
jne 0x1800144a3
test r12b, r12b
je 0x18001451c
mov rcx, rsi
call fcn.18001d3e8
xor r8d, r8d
mov dword [rsi + 0x48], eax
mov byte [rsi + 0x57], r8b
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], eax
mov dword [rsi + 0xcdc], 0xbe99999a
jmp 0x18001451c
cmp byte [r14 + 0x3b5], r8b
je 0x180014439
mov edx, 0x1000c
mov rcx, rsi
call fcn.1800176d8
mov edx, 0x3000d
mov rcx, rsi
call fcn.1800176d8
xor r8d, r8d
jmp 0x18001451c
cmp byte [r14 + 0x118], r8b
je 0x18001451c
cmp byte [rsi + 0xce1], r8b
jne 0x180014525
movss xmm0, dword [r14 + 0x364]
ucomiss xmm0, xmm14
jp 0x1800144d7
jne 0x1800144d7
movss xmm0, dword [r14 + 0x368]
ucomiss xmm0, xmm14
jp 0x1800144d7
je 0x18001451c
mov rcx, rsi
call fcn.18001d3e8
mov ecx, dword [rsi + 0x50]
cmp dword [rsi + 0x4c], ecx
jne 0x1800144ed
mov ecx, dword [rsi + 0x48]
mov dword [rsi + 0x4c], ecx
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x48], eax
mov dword [rsi + 0xcdc], 0xbe99999a
mov byte [rsi + 0xce0], bl
jmp 0x18001449e
mov eax, dword [rsi + 0x3c]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x4c], r8d
mov byte [rsi + 0x57], r8b
mov byte [rsi + 0xce1], bl
cmp byte [rsi + 0xce1], r8b
je 0x180014535
cmp byte [r14 + 0x118], r8b
jne 0x180014535
mov byte [rsi + 0xce1], r8b
lea rbx, [r14 + 0x32a]
cmp word [rbx], r8w
je 0x1800145cc
cmp byte [r14 + 0x125], r8b
je 0x180014558
cmp byte [r14 + 0x127], r8b
je 0x1800145b7
test dil, dil
je 0x1800145b7
mov r15, qword [rbp + 0x130]
mov edi, r8d
mov r14d, dword [rbp + 0x120]
cmp word [rbx], r8w
je 0x1800145b3
movzx eax, word [rbx]
lea rcx, [rsp + 0x60]
mov r8, qword [rbp + 0x128]
mov r9, r15
mov edx, r14d
mov dword [rsp + 0x60], eax
call fcn.180015cfc
xor r8d, r8d
test al, al
je 0x1800145a8
mov edx, dword [rsp + 0x60]
mov rcx, rsi
call fcn.1800176d8
xor r8d, r8d
inc edi
add rbx, 2
cmp edi, 0x11
jl 0x18001456e
mov r14, qword [rbp - 0x70]
xor edx, edx
lea rcx, [r14 + 0x32a]
lea r8d, [rdx + 0x22]
call fcn.180050450
xor r8d, r8d
mov r13d, dword [rsp + 0x68]
mov al, r8b
mov byte [rsp + 0x51], al
cmp dword [r14 + 0x1890], r13d
jne 0x18001488f
cmp byte [r14 + 0x189d], r8b
jne 0x18001488f
cmp byte [rsp + 0x5a], r8b
jne 0x18001488f
mov cl, byte [r14 + 0x126]
mov dl, byte [r14 + 0xc8]
mov al, cl
neg al
sbb r15d, r15d
and r15d, 0x20000
test dl, dl
je 0x180014674
cmp byte [r14 + 0x128], r8b
je 0x180014636
cmp byte [r14 + 0x125], r8b
jne 0x180014636
mov eax, 1
jmp 0x180014639
mov eax, r8d
test eax, eax
jne 0x180014686
mov cl, r8b
mov r9d, 1
mov byte [rsp + 0x58], cl
test dl, dl
je 0x18001469e
mov al, byte [r14 + 0x127]
mov r12b, al
cmp byte [r14 + 0x128], r8b
je 0x1800146a5
cmp byte [r14 + 0x125], r8b
jne 0x1800146a5
cmp al, r8b
jne 0x1800146a5
mov r13b, r9b
jmp 0x1800146a8
cmp byte [r14 + 0x125], r8b
je 0x18001463d
cmp byte [r14 + 0x128], r8b
jne 0x18001463d
cmp byte [r14 + 0x127], r8b
jne 0x18001463d
test cl, cl
jne 0x18001463d
mov r9d, 1
mov cl, r9b
jmp 0x180014646
mov r12b, byte [r14 + 0x125]
mov r13b, r8b
mov al, byte [r14 + 0x125]
test al, al
je 0x1800146d3
cmp byte [r14 + 0x126], r8b
jne 0x1800146d3
cmp byte [r14 + 0x127], r8b
jne 0x1800146d3
cmp byte [r14 + 0x128], r8b
jne 0x1800146d3
mov bl, r9b
jmp 0x1800146f8
mov bl, r8b
cmp byte [r14 + 0x126], r8b
je 0x1800146f8
test al, al
jne 0x1800146f8
cmp byte [r14 + 0x127], r8b
jne 0x1800146f8
mov dil, r9b
cmp byte [r14 + 0x128], r8b
je 0x1800146fb
mov dil, r8b
test cl, cl
je 0x18001471c
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x18001471c
mov dl, r9b
call fcn.180016074
xor r8d, r8d
test al, al
jne 0x180014740
test dil, dil
je 0x180014767
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x180014767
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014767
cmp byte [rsp + 0x5c], r8b
je 0x180014767
cmp byte [rbp - 0x58], r8b
jne 0x180014767
cmp byte [rsp + 0x54], r8b
je 0x18001475c
mov eax, dword [rsi + 0x50]
cmp dword [rsi + 0x4c], eax
je 0x180014767
mov edx, 1
mov byte [rsp + 0x64], dl
jmp 0x180014771
mov byte [rsp + 0x64], r8b
mov edx, 1
cmp byte [rsp + 0x58], r8b
je 0x180014792
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x180014792
call fcn.180016074
xor r8d, r8d
test al, al
jne 0x1800147b5
test bl, bl
je 0x1800147d6
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x1800147d6
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x1800147d6
mov ebx, dword [rsp + 0x54]
cmp byte [rbp - 0x58], r8b
jne 0x1800147da
test bl, bl
je 0x1800147cb
mov eax, dword [rsi + 0x50]
cmp dword [rsi + 0x4c], eax
je 0x1800147da
mov edx, 1
mov byte [rsp + 0x65], dl
jmp 0x1800147e4
mov ebx, dword [rsp + 0x54]
mov byte [rsp + 0x65], r8b
mov edx, 1
cmp byte [rsp + 0x58], r8b
je 0x180014805
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x180014805
call fcn.180016074
xor r8d, r8d
test al, al
jne 0x180014829
test dil, dil
je 0x18001483a
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x18001483a
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x18001483a
cmp byte [rsp + 0x5c], r8b
je 0x18001483a
mov edx, 1
mov dil, dl
jmp 0x180014842
mov dil, r8b
mov edx, 1
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x38]
test ecx, ecx
js 0x18001492a
call fcn.180016074
xor r8d, r8d
test al, al
je 0x18001492a
neg r12b
mov eax, 0x10004
sbb edx, edx
and edx, 0xc
add edx, 0x10000
test r13b, r13b
cmovne edx, eax
or edx, r15d
mov rcx, rsi
call fcn.1800176d8
mov al, byte [rsp + 0x51]
xor r8d, r8d
mov r15, qword [rbp + 0x130]
mov r13d, dword [rsp + 0x54]
mov edx, dword [rbp + 0x120]
mov dil, byte [rsp + 0x50]
mov r12d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x5c]
cmp dword [r14 + 0x1890], r12d
jne 0x180015387
test al, al
je 0x1800148fb
test bl, bl
je 0x1800148e3
movsxd r8, dword [rbp + 0x110]
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp + 0x108]
call fcn.180013144
xor r8d, r8d
mov byte [rsp + 0x59], 1
test dil, dil
je 0x180015387
mov edx, dword [rbp + 0x120]
test dl, 0x20
je 0x180015387
test bl, bl
je 0x18001517a
mov ebx, dword [rsi + 8]
mov ecx, dword [rsi + 0x2c]
shl ebx, 2
cmp ebx, ecx
jle 0x180015158
test ecx, ecx
je 0x180015143
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180015148
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180014961
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014961
neg r12b
mov eax, 0x10005
sbb edx, edx
and edx, 0xc
add edx, 0x10001
jmp 0x180014877
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x1800149da
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x1800149da
test bl, bl
je 0x1800149da
cmp byte [r14 + 0x125], r8b
je 0x1800149ca
mov rcx, qword [rsp + 0x70]
movss xmm1, dword [rcx + 0x70]
movaps xmm0, xmm1
subss xmm0, dword [r14 + 0x1778]
addss xmm1, dword [rcx + 0xfc]
maxss xmm0, xmm14
subss xmm1, xmm0
movss dword [rcx + 0x70], xmm0
movss dword [rcx + 0xfc], xmm1
mov al, byte [rsp + 0x51]
jmp 0x18001488f
movzx eax, r13b
lea edx, [rax*4 + 0x10002]
jmp 0x18001487d
mov rbx, qword [0x180066470]
mov ecx, dword [rbx + 0x44]
test ecx, ecx
js 0x180014a7a
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014a7a
cmp byte [rsp + 0x54], r8b
je 0x180014a7a
cmp byte [r14 + 0x125], r8b
je 0x180014a6a
mov rax, qword [rbx + 0x1860]
movaps xmm2, xmm14
mov rcx, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x8c]
movss xmm1, dword [rax + 0x3c]
movss xmm4, dword [rcx + 0x70]
movaps xmm3, xmm4
addss xmm3, dword [r14 + 0x1778]
addss xmm4, dword [rcx + 0xfc]
subss xmm1, xmm0
maxss xmm2, xmm1
minss xmm3, xmm2
subss xmm4, xmm3
movss dword [rcx + 0x70], xmm3
movss dword [rcx + 0xfc], xmm4
jmp 0x1800149c1
movzx eax, r13b
lea edx, [rax*4 + 0x10003]
jmp 0x18001487d
mov rax, qword [0x180066470]
mov r13d, 1
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x180014ab7
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014ab7
mov al, byte [r14 + 0x125]
neg al
mov eax, 0x10004
sbb edx, edx
and edx, 2
add edx, eax
jmp 0x18001487d
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x180014ae4
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014ae4
mov al, byte [r14 + 0x125]
neg al
mov eax, 0x10005
jmp 0x180014aab
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x180014b18
mov dl, r13b
call fcn.180016074
mov ebx, dword [rsp + 0x5c]
xor r8d, r8d
test al, al
je 0x180014b1c
test bl, bl
je 0x180014b1c
or r15d, 0x10008
mov edx, r15d
jmp 0x180014880
mov ebx, dword [rsp + 0x5c]
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180014b8b
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014b8b
test bl, bl
je 0x180014b8b
mov eax, dword [rsi + 0x50]
cmp dword [rsi + 0x4c], eax
jne 0x180014b82
test r12b, r12b
je 0x180014b51
mov edx, 0x3000c
jmp 0x180014b7a
cmp byte [r14 + 0xc8], r8b
je 0x180014b82
cmp byte [r14 + 0x128], r8b
je 0x180014b82
cmp byte [r14 + 0x127], r8b
jne 0x180014b82
cmp byte [r14 + 0x125], r8b
jne 0x180014b82
mov edx, 0x30004
mov rcx, rsi
call fcn.1800176d8
or r15d, 0x10009
jmp 0x180014b10
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180014c4a
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014c4a
mov edx, dword [rbp + 0x120]
mov eax, edx
shr eax, 0xb
and al, r13b
mov r13d, dword [rsp + 0x54]
test r13b, r13b
je 0x180014bd7
mov cl, byte [r14 + 0x125]
test al, al
je 0x180014bf7
test cl, cl
jne 0x180014bfb
mov r15, qword [rbp + 0x130]
mov eax, 1
mov byte [rsp + 0x5a], al
mov dil, al
mov byte [rsp + 0x50], al
mov al, byte [rsp + 0x51]
jmp 0x1800148a6
test cl, cl
jne 0x180014bd7
mov r15, qword [rbp + 0x130]
test bl, bl
je 0x180015128
mov r8, qword [rbp + 0x128]
lea rcx, [rsp + 0x60]
mov eax, 0xa
mov r9, r15
mov dword [rsp + 0x60], eax
call fcn.180015cfc
xor r8d, r8d
test al, al
je 0x180015131
mov edx, dword [rsp + 0x60]
mov rcx, rsi
call fcn.1800176d8
mov al, byte [rsp + 0x51]
xor r8d, r8d
jmp 0x18001489b
mov r12d, dword [rbp + 0x120]
bt r12d, 0xa
jae 0x180014ce1
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x34]
test ecx, ecx
js 0x180014ce1
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014ce1
cmp byte [r14 + 0x125], r8b
jne 0x180014ce1
cmp byte [r14 + 0x126], r8b
jne 0x180014ce1
cmp byte [r14 + 0x127], r8b
jne 0x180014ce1
test bl, bl
je 0x180014ce1
mov r15, qword [rbp + 0x130]
lea rcx, [rsp + 0x60]
mov r8, qword [rbp + 0x128]
mov r9, r15
mov edx, r12d
mov dword [rsp + 0x60], 9
call fcn.180015cfc
xor r8d, r8d
test al, al
je 0x18001513a
mov edx, dword [rsp + 0x60]
mov rcx, rsi
call fcn.1800176d8
mov al, byte [rsp + 0x51]
xor r8d, r8d
jmp 0x180014896
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x180014d0b
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014d0b
mov al, r13b
mov byte [rsp + 0x5a], r13b
jmp 0x18001488f
cmp byte [rsp + 0x58], r8b
je 0x180014dca
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x180014d5d
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014d5d
test bl, bl
mov ebx, dword [rsp + 0x78]
je 0x180014d61
test bl, bl
je 0x180014d61
mov edx, 0x1000a
mov rcx, rsi
call fcn.1800176d8
mov eax, dword [rsi + 0x48]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
jmp 0x180014888
mov ebx, dword [rsp + 0x78]
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x180014d90
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014d90
cmp byte [rsp + 0x5c], r8b
je 0x180014d90
test bl, bl
je 0x180014d90
mov edx, 0x1000b
jmp 0x180014d47
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x6c]
test ecx, ecx
js 0x180014dca
mov dl, r13b
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180014dca
mov eax, dword [rsi + 0x3c]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x4c], r8d
mov byte [rsi + 0x57], r8b
mov byte [rsi + 0xce0], r13b
jmp 0x1800149c1
mov r13b, byte [rsp + 0x64]
test r13b, r13b
jne 0x180014ffd
cmp byte [rsp + 0x65], r8b
jne 0x180014ffd
test dil, dil
je 0x1800149c1
call fcn.18001274c
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x1800149c1
mov rcx, rax
call fcn.180036d20
mov rcx, qword [0x180066470]
mov edi, 1
add dword [rcx + 0x354], edi
mov rcx, qword [0x180066470]
mov rdx, qword [rcx + 0xf0]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call rdx
xor r13d, r13d
mov qword [rbp - 0x80], rax
mov r12, rax
mov r15d, r13d
cmp byte [rbx], r13b
je 0x180014ec4
mov rsi, qword [rbp + 0x130]
lea r12d, [r13 + 1]
mov r14d, dword [rbp + 0x120]
mov rdi, rax
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov rdx, rbx
call fcn.180013170
movsxd rcx, eax
mov eax, dword [rsp + 0x78]
add rbx, rcx
test eax, eax
je 0x180014eb0
cmp eax, 0x10000
jae 0x180014eab
mov r8, qword [rbp + 0x128]
lea rcx, [rsp + 0x78]
mov r9, rsi
mov edx, r14d
call fcn.180015cfc
test al, al
je 0x180014eab
movzx eax, word [rsp + 0x78]
add r15d, r12d
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r13b
jne 0x180014e5c
mov r14, qword [rbp - 0x70]
mov edi, 1
mov r12, qword [rbp - 0x80]
lea rsi, [r14 + 0x1c50]
movsxd rax, r15d
mov word [r12 + rax*2], r13w
test r15d, r15d
jle 0x180014fd6
mov ecx, dword [rsi + 0x3c]
lea rbx, [rsi + 0x48]
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x180014f0d
mov edx, eax
cmp eax, ecx
jle 0x180014ef3
mov dword [rbx + 4], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x180014f01
mov dword [rbx + 8], ecx
mov r9d, ecx
mov eax, edx
mov r8d, r9d
cmp edx, r9d
jne 0x180014f0d
mov dword [rbx], edx
mov r9d, dword [rbx]
cmp r9d, ecx
jle 0x180014f1a
mov dword [rbx], ecx
mov r9d, ecx
mov ecx, dword [rsi + 0x3c]
cmp eax, r8d
je 0x180014f4a
mov edx, eax
cmp eax, ecx
jle 0x180014f2d
mov dword [rbx + 4], ecx
mov edx, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x180014f3b
mov dword [rbx + 8], ecx
mov r10d, ecx
mov eax, edx
mov r8d, r10d
cmp edx, r10d
jne 0x180014f4a
mov dword [rbx], edx
mov r9d, edx
cmp r9d, ecx
jle 0x180014f51
mov dword [rbx], ecx
cmp eax, r8d
je 0x180014f8b
mov rdx, rbx
mov rcx, rsi
jge 0x180014f74
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18001d970
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x180014f85
sub eax, r8d
mov r9d, eax
call fcn.18001d970
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
mov byte [rbx + 0xf], r13b
mov edx, dword [rbx]
mov r9d, r15d
mov r8, r12
mov rcx, rsi
call fcn.1800199a0
test al, al
je 0x180014fb9
mov edx, dword [rbx]
lea rcx, [rbx + 0x18]
mov r9d, r15d
xor r8d, r8d
call fcn.18001d244
add dword [rbx], r15d
mov byte [rbx + 0xf], r13b
jmp 0x180014fcf
movzx eax, word [rbx + 0xc8a]
test ax, ax
je 0x180014fcf
sub ax, di
mov word [rbx + 0xc8a], ax
mov byte [rsi + 0xce0], dil
test r12, r12
je 0x180014fe8
mov rax, qword [0x180066470]
dec dword [rax + 0x354]
mov rax, qword [0x180066470]
mov rcx, r12
call qword [rax + 0xf8]
jmp 0x180014888
cmp qword [r14 + 0xe0], r8
je 0x180015085
mov eax, dword [rsi + 0x4c]
mov ebx, dword [rsi + 0x50]
cmp eax, ebx
je 0x18001501c
mov r15d, ebx
cmovge ebx, eax
cmovl r15d, eax
jmp 0x180015022
mov ebx, dword [rsi + 0x3c]
mov r15d, r8d
mov ecx, dword [rsi + 0x2c]
mov eax, ebx
sub eax, r15d
lea edi, [rax*4 + 1]
cmp edi, ecx
jle 0x180015059
test ecx, ecx
je 0x180015044
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180015049
mov eax, 8
cmp eax, edi
lea rcx, [rsi + 0x28]
mov edx, edi
cmovg edx, eax
call fcn.18001cc64
mov dword [rsi + 0x28], edi
mov edx, edi
mov rcx, qword [rsi + 0x10]
movsxd rax, ebx
lea r9, [rcx + rax*2]
movsxd rax, r15d
lea r8, [rcx + rax*2]
mov rcx, qword [rsi + 0x30]
call fcn.180013494
mov rcx, qword [rsi + 0x30]
call fcn.18001a874
xor r8d, r8d
test r13b, r13b
je 0x1800149c1
mov eax, dword [rsi + 0x50]
cmp dword [rsi + 0x4c], eax
jne 0x1800150a7
mov eax, dword [rsi + 0x3c]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x4c], r8d
mov byte [rsi + 0x57], r8b
lea rbx, [rsi + 0x48]
mov byte [rsi + 0xce0], 1
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x180014888
mov ecx, dword [rsi + 0x3c]
cmp eax, ecx
jle 0x1800150ce
mov dword [rbx + 4], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x1800150d9
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x1800150e0
mov dword [rbx], eax
cmp dword [rbx], ecx
jle 0x1800150e6
mov dword [rbx], ecx
cmp eax, r8d
je 0x18001511c
mov rdx, rbx
mov rcx, rsi
jge 0x180015109
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18001d970
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x18001511a
sub eax, r8d
mov r9d, eax
call fcn.18001d970
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
xor r8d, r8d
mov byte [rbx + 0xf], r8b
jmp 0x1800149c1
mov al, byte [rsp + 0x51]
jmp 0x1800148a1
mov al, byte [rsp + 0x51]
jmp 0x18001489b
mov al, byte [rsp + 0x51]
jmp 0x180014896
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x28]
mov edx, ebx
cmovg edx, eax
call fcn.18001cc64
mov dword [rsi + 0x28], ebx
xor r9d, r9d
mov r8, qword [rsi + 0x10]
mov edx, ebx
mov rcx, qword [rsi + 0x30]
call fcn.180013494
mov edx, dword [rbp + 0x120]
xor r8d, r8d
mov ebx, dword [rsp + 0x5c]
test edx, 0x1c0
je 0x18001533e
mov edi, 0x14
lea ebx, [rdi + 0x2c]
test bl, dl
je 0x1800151ba
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x34]
test ecx, ecx
js 0x1800151ba
lea edx, [rdi - 0x13]
call fcn.180016074
xor r8d, r8d
test al, al
je 0x1800151b4
mov edi, r8d
jmp 0x180015223
mov edx, dword [rbp + 0x120]
mov ebx, 0x80
test bl, dl
je 0x180015216
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x1800151eb
lea edx, [rbx - 0x7f]
call fcn.180016074
xor r8d, r8d
test al, al
je 0x1800151e5
lea edi, [rbx - 0x7d]
jmp 0x180015223
mov edx, dword [rbp + 0x120]
mov rax, qword [0x180066470]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x180015216
mov edx, 1
call fcn.180016074
xor r8d, r8d
test al, al
je 0x180015210
lea edi, [r8 + 4]
jmp 0x180015223
mov edx, dword [rbp + 0x120]
mov eax, 0x100
mov ebx, r8d
test eax, edx
cmovne ebx, eax
test ebx, ebx
je 0x18001533a
xor edx, edx
lea rcx, [rbp - 0x18]
lea r8d, [rdx + 0x38]
call fcn.180050450
mov eax, dword [rbp + 0x120]
mov dword [rbp - 0x14], eax
mov al, byte [rsp + 0x5c]
xor al, 1
mov dword [rbp - 0x18], ebx
mov rbx, qword [rsi + 0x10]
mov byte [rbp - 8], al
mov rcx, rbx
mov rax, qword [rsi + 0x30]
mov qword [rbp], rax
mov eax, dword [rsi + 0x38]
mov dword [rbp + 8], eax
mov eax, dword [rsi + 0x40]
mov dword [rbp + 0xc], eax
xor eax, eax
mov byte [rbp + 0x10], al
movsxd rax, dword [rsi + 0x48]
mov qword [rbp - 0x10], r15
mov dword [rbp - 4], edi
lea rdx, [rbx + rax*2]
call fcn.18001336c
movsxd rdx, dword [rsi + 0x4c]
mov rcx, rbx
mov edi, eax
mov dword [rbp + 0x14], eax
lea rdx, [rbx + rdx*2]
call fcn.18001336c
movsxd rdx, dword [rsi + 0x50]
mov rcx, rbx
mov r15d, eax
mov dword [rbp + 0x18], eax
lea rdx, [rbx + rdx*2]
call fcn.18001336c
lea rcx, [rbp - 0x18]
mov dword [rbp + 0x1c], eax
mov ebx, eax
call qword [rbp + 0x128]
cmp dword [rbp + 0x14], edi
je 0x1800152d5
movsxd rdx, dword [rbp + 0x14]
mov rcx, qword [rbp]
add rdx, rcx
call fcn.180013308
mov dword [rsi + 0x48], eax
cmp dword [rbp + 0x18], r15d
je 0x1800152ee
movsxd rdx, dword [rbp + 0x18]
mov rcx, qword [rbp]
add rdx, rcx
call fcn.180013308
mov dword [rsi + 0x4c], eax
cmp dword [rbp + 0x1c], ebx
je 0x180015306
movsxd rdx, dword [rbp + 0x1c]
mov rcx, qword [rbp]
add rdx, rcx
call fcn.180013308
mov dword [rsi + 0x50], eax
xor r10d, r10d
cmp byte [rbp + 0x10], r10b
je 0x180015381
mov r8, qword [rbp]
xor r9d, r9d
mov edx, dword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x20], r10
call fcn.1800133e8
mov dword [rsi + 0x3c], eax
mov eax, dword [rbp + 8]
mov dword [rsi + 0x38], eax
mov dword [rsi + 0xcdc], 0xbe99999a
mov ebx, dword [rsp + 0x5c]
xor r10d, r10d
test bl, bl
je 0x18001538a
mov rdi, qword [rbp + 0x108]
mov rcx, qword [rsi + 0x30]
mov rdx, rdi
call fcn.1800343a0
xor r10d, r10d
test eax, eax
je 0x18001538a
movsxd r8, dword [rbp + 0x110]
mov rcx, rdi
mov rdx, qword [rsi + 0x30]
call fcn.180013144
mov edi, 1
xor r10d, r10d
mov byte [rsp + 0x59], dil
jmp 0x18001538f
mov ebx, dword [rsp + 0x5c]
jmp 0x180015341
xor r10d, r10d
mov edi, 1
cmp byte [rsp + 0x5a], r10b
je 0x1800153ab
cmp dword [r14 + 0x1890], r12d
jne 0x1800153c5
xor edx, edx
xor ecx, ecx
call fcn.18001a82c
xor r10d, r10d
cmp dword [r14 + 0x1890], r12d
jne 0x1800153c5
test bl, bl
je 0x1800153c5
mov r12, qword [rsi + 0x30]
mov qword [rbp + 0x108], r12
jmp 0x1800153cc
mov r12, qword [rbp + 0x108]
test r13b, r13b
jne 0x180015434
mov rax, qword [0x180066470]
lea rcx, [rbp - 0x40]
movdqu xmm0, xmmword [rax + 0x152c]
movups xmmword [rbp - 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x34], xmm0
call fcn.18000d9bc
movss xmm0, dword [r14 + 0x1464]
movaps xmm1, xmm10
movaps xmm2, xmm6
unpcklps xmm1, xmm8
unpcklps xmm2, xmm9
movq rdx, xmm1
movq rcx, xmm2
movss dword [rsp + 0x20], xmm0
mov r8d, eax
mov r9b, dil
call fcn.180018f2c
xor r10d, r10d
mov r15, qword [rsp + 0x70]
movaps xmm0, xmm6
movss dword [rbp - 0x50], xmm6
movaps xmm1, xmm12
movss dword [rbp - 0x4c], xmm9
addss xmm0, xmm11
addss xmm1, xmm9
lea rax, [rbp - 0x70]
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm1
test r13b, r13b
je 0x180015478
movsd xmm0, qword [r15 + 0xe0]
movsd qword [rbp - 0x70], xmm0
jmp 0x180015498
addss xmm6, dword [r14 + 0x145c]
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x1460]
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm0
movsd xmm0, qword [rax]
movaps xmm13, xmm14
mov eax, dword [rsp + 0x68]
movaps xmm10, xmm14
movsd qword [rbp - 0x60], xmm0
cmp dword [rsi], eax
jne 0x1800154ec
test r13b, r13b
je 0x1800154ec
movsxd r8, dword [r15 + 0x1d0]
lea rcx, str.SCROLLY
mov rax, qword [r15 + 0x1d8]
xor edx, edx
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001301c
xor r10d, r10d
cmp dword [r14 + 0x1890], eax
jne 0x1800154ec
lea r11d, [r10 + 1]
mov al, r11b
jmp 0x1800154f5
mov al, r10b
mov r11d, 1
mov ecx, dword [rsp + 0x68]
cmp dword [r14 + 0x1890], ecx
je 0x1800155e4
test al, al
jne 0x1800155e4
mov rdi, r10
test r13b, r13b
je 0x18001556a
mov dl, byte [r12]
lea rdi, [r12 + 1]
mov ecx, r10d
test dl, dl
je 0x180015540
mov r8d, 0xa
cmp dl, r8b
lea eax, [rcx + 1]
mov dl, byte [rdi]
cmovne eax, ecx
add rdi, r11
mov ecx, eax
test dl, dl
jne 0x18001552c
sub rdi, r11
mov eax, 0xa
cmp byte [rdi], al
je 0x180015554
cmp byte [rdi], 0xd
je 0x180015554
add ecx, r11d
movd xmm10, ecx
movaps xmm13, xmm11
cvtdq2ps xmm10, xmm10
mulss xmm10, dword [r14 + 0x1778]
mov rax, qword [0x180066470]
lea rbx, [rbp - 0x50]
test r13b, r13b
lea rcx, [rbp - 0x40]
cmovne rbx, r10
movdqu xmm0, xmmword [rax + 0x14bc]
movups xmmword [rbp - 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x34], xmm0
call fcn.18000d9bc
movss xmm2, dword [r14 + 0x1778]
lea r9, [rbp - 0x60]
mov rdx, qword [r14 + 0x1770]
mov rcx, qword [r15 + 0x270]
mov qword [rsp + 0x40], rbx
movss dword [rsp + 0x38], xmm14
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
call fcn.18002095c
xor r15d, r15d
jmp 0x180015c45
movss xmm0, dword [r14 + 0x10]
or edx, 0xffffffff
movsxd rax, dword [rsi + 0x48]
movaps xmm9, xmm14
mov rdi, qword [rsi + 0x10]
movaps xmm8, xmm14
addss xmm0, dword [rsi + 0xcdc]
mov r12, r10
mov ecx, r11d
mov r9d, edx
mov r15d, 0xfffffc19
lea r8, [rdi + rax*2]
mov eax, dword [rsi + 0x50]
movss dword [rsi + 0xcdc], xmm0
cmp dword [rsi + 0x4c], eax
je 0x180015638
cmovl eax, dword [rsi + 0x4c]
lea ecx, [rdx + 3]
cdqe
mov r15d, edx
lea r12, [rdi + rax*2]
movzx edx, word [rdi]
mov ebx, r10d
movzx eax, r13b
add ecx, eax
mov rax, rdi
test dx, dx
je 0x180015691
mov r13d, 0xa
cmp dx, r13w
jne 0x180015685
add ebx, r11d
cmp r9d, 0xffffffff
jne 0x180015670
cmp rax, r8
jb 0x180015670
sub ecx, r11d
mov r9d, ebx
test ecx, ecx
jle 0x180015691
cmp r15d, 0xffffffff
jne 0x180015685
cmp rax, r12
jb 0x180015685
sub ecx, r11d
mov r15d, ebx
test ecx, ecx
jle 0x180015691
add rax, 2
movzx edx, word [rax]
test dx, dx
jne 0x180015652
add ebx, r11d
mov rdx, r8
cmp r9d, 0xffffffff
mov r13d, ebx
cmovne r13d, r9d
cmp r15d, 0xffffffff
cmove r15d, ebx
cmp r8, rdi
jbe 0x1800156c5
mov ecx, 0xa
lea rax, [rdx - 2]
cmp word [rax], cx
je 0x1800156c5
mov rdx, rax
cmp rax, rdi
ja 0x1800156b4
mov byte [rsp + 0x28], r10b
lea rcx, [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], r10
call fcn.180013b7c
movss xmm0, dword [r14 + 0x1778]
xor ecx, ecx
movd xmm7, r13d
cvtdq2ps xmm7, xmm7
movss xmm6, dword [rax]
mulss xmm7, xmm0
movss dword [rsp + 0x60], xmm6
test r15d, r15d
js 0x180015750
mov rdx, r12
cmp r12, rdi
jbe 0x18001571f
lea r8d, [r9 + 0xa]
lea rax, [rdx - 2]
cmp word [rax], r8w
je 0x18001571f
mov rdx, rax
cmp rax, rdi
ja 0x18001570d
mov byte [rsp + 0x28], cl
mov r8, r12
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x70]
call fcn.180013b7c
movss xmm0, dword [r14 + 0x1778]
movd xmm9, r15d
cvtdq2ps xmm9, xmm9
movss xmm8, dword [rax]
mulss xmm9, xmm0
mov r13d, dword [rsp + 0x54]
xor r15d, r15d
test r13b, r13b
je 0x18001576f
movd xmm10, ebx
movaps xmm13, xmm11
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm0
cmp byte [rsi + 0xce0], r15b
je 0x180015831
test dword [rbp + 0x120], 0x1000
jne 0x1800157cf
movss xmm2, dword [rsi + 0x44]
movaps xmm0, xmm11
comiss xmm2, xmm6
mulss xmm0, dword [0x180053310]
movaps xmm1, xmm6
jbe 0x1800157af
subss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
jmp 0x1800157bd
subss xmm1, xmm11
comiss xmm1, xmm2
jb 0x1800157d3
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x44], xmm0
jmp 0x1800157d3
mov dword [rsi + 0x44], r15d
mov r12, qword [rsp + 0x70]
test r13b, r13b
je 0x180015836
movss xmm1, dword [r12 + 0x70]
movaps xmm2, xmm7
subss xmm2, dword [r14 + 0x1778]
comiss xmm1, xmm2
jbe 0x1800157ff
movaps xmm0, xmm14
maxss xmm0, xmm2
jmp 0x18001580b
movaps xmm0, xmm7
subss xmm0, xmm12
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [r12 + 0x70], xmm0
addss xmm1, dword [r12 + 0xe4]
movss dword [r12 + 0xe4], xmm1
movss dword [rbp - 0x5c], xmm1
jmp 0x180015836
mov r12, qword [rsp + 0x70]
mov edx, dword [rsi + 0x4c]
mov ecx, dword [rsi + 0x50]
movss xmm11, dword [rsi + 0x44]
mov byte [rsi + 0xce0], r15b
cmp edx, ecx
je 0x180015a67
mov eax, ecx
cmovge ecx, edx
cmovl eax, edx
cdqe
lea rbx, [rdi + rax*2]
movsxd rax, ecx
lea rdi, [rdi + rax*2]
test r13b, r13b
je 0x180015877
movss dword [rbp - 0x30], xmm14
movaps xmm12, xmm14
jmp 0x180015880
movss xmm12, dword [0x180052cf8]
mov rax, qword [0x180066470]
lea rcx, [rbp - 0x70]
movdqu xmm0, xmmword [rax + 0x173c]
movups xmmword [rbp - 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x64], xmm0
call fcn.18000d9bc
mov qword [rsp + 0x70], rbx
mov r15d, eax
addss xmm8, dword [rbp - 0x60]
addss xmm9, dword [rbp - 0x5c]
subss xmm8, xmm11
subss xmm9, xmm14
cmp rbx, rdi
jae 0x180015a64
movss xmm3, dword [rbp - 0x44]
xor esi, esi
movss xmm4, dword [rbp - 0x4c]
movss xmm6, dword [rbp - 0x30]
movaps xmm0, xmm3
addss xmm0, dword [r14 + 0x1778]
comiss xmm9, xmm0
ja 0x180015a52
comiss xmm4, xmm9
jbe 0x18001592e
cmp rbx, rdi
jae 0x180015a35
mov ecx, 0xa
movzx eax, word [rbx]
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp ax, cx
je 0x180015a35
cmp rbx, rdi
jb 0x18001590f
jmp 0x180015a35
mov byte [rsp + 0x28], 1
lea r9, [rsp + 0x70]
mov r8, rdi
mov qword [rsp + 0x20], rsi
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.180013b7c
movss xmm0, dword [rbp - 0x70]
comiss xmm14, xmm0
jb 0x18001598c
mov rax, qword [r14 + 0x1770]
cmp dword [rax + 0x20], 0x20
jle 0x180015972
mov rax, qword [rax + 0x28]
movss xmm0, dword [rax + 0x80]
jmp 0x180015977
movss xmm0, dword [rax + 0x48]
mulss xmm0, xmm15
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x70], xmm0
movss xmm4, dword [rbp - 0x4c]
movaps xmm2, xmm8
movss xmm3, dword [rbp - 0x44]
addss xmm2, xmm0
movss xmm5, dword [rbp - 0x48]
addss xmm8, xmm14
movaps xmm1, xmm6
movaps xmm0, xmm9
subss xmm1, dword [r14 + 0x1778]
addss xmm0, xmm12
minss xmm2, xmm5
maxss xmm8, dword [rbp - 0x50]
addss xmm1, xmm9
minss xmm0, xmm3
movss dword [rbp - 0x78], xmm2
movss dword [rbp - 0x80], xmm8
maxss xmm1, xmm4
comiss xmm0, xmm4
movss dword [rbp - 0x7c], xmm1
movss dword [rbp - 0x74], xmm0
jbe 0x180015a30
comiss xmm3, xmm1
jbe 0x180015a30
comiss xmm2, dword [rbp - 0x50]
jbe 0x180015a30
comiss xmm5, xmm8
jbe 0x180015a30
mov rcx, qword [r12 + 0x270]
lea r8, [rbp - 0x78]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x80]
mov r9d, r15d
movss dword [rsp + 0x20], xmm14
call fcn.18002069c
movss xmm3, dword [rbp - 0x44]
movss xmm4, dword [rbp - 0x4c]
mov rbx, qword [rsp + 0x70]
movss xmm8, dword [rbp - 0x60]
subss xmm8, xmm11
addss xmm9, dword [r14 + 0x1778]
cmp rbx, rdi
jb 0x1800158e5
movss xmm6, dword [rsp + 0x60]
lea rsi, [r14 + 0x1c50]
mov r13d, dword [rsp + 0x54]
xor r15d, r15d
mov rax, qword [0x180066470]
lea rdi, [rbp - 0x50]
movss xmm1, dword [rbp - 0x5c]
lea rcx, [rbp - 0x80]
movsxd rbx, dword [rsi + 0x38]
subss xmm1, xmm14
mov rsi, qword [rbp + 0x108]
test r13b, r13b
movdqu xmm0, xmmword [rax + 0x14bc]
cmovne rdi, r15
add rbx, rsi
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rbp - 0x60]
subss xmm0, xmm11
movss dword [rbp - 0x70], xmm0
call fcn.18000d9bc
movss xmm2, dword [r14 + 0x1778]
lea r9, [rbp - 0x70]
mov rdx, qword [r14 + 0x1770]
mov rcx, qword [r12 + 0x270]
mov qword [rsp + 0x40], rdi
movss dword [rsp + 0x38], xmm14
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.18002095c
cmp byte [r14 + 0xc9], r15b
je 0x180015b3d
movss xmm0, dword [r14 + 0x292c]
comiss xmm14, xmm0
jae 0x180015b3d
movss xmm1, dword [0x180053348]
call fcn.180040458
movss xmm1, dword [0x180053330]
comiss xmm1, xmm0
jae 0x180015b3d
mov al, r15b
jmp 0x180015b42
mov eax, 1
movss xmm8, dword [0x180052cf0]
addss xmm7, dword [rbp - 0x5c]
addss xmm6, dword [rbp - 0x60]
subss xmm7, xmm14
subss xmm6, xmm11
movaps xmm1, xmm7
movaps xmm2, xmm7
movss dword [rbp - 0x40], xmm6
movaps xmm3, xmm6
addss xmm3, xmm8
subss xmm1, dword [r14 + 0x1778]
subss xmm2, dword [0x180053354]
movss dword [rbp - 0x38], xmm3
addss xmm1, xmm15
movss dword [rbp - 0x34], xmm2
movss dword [rbp - 0x3c], xmm1
test al, al
je 0x180015c11
comiss xmm2, dword [rbp - 0x4c]
jbe 0x180015c11
movss xmm0, dword [rbp - 0x44]
comiss xmm0, xmm1
jbe 0x180015c11
comiss xmm3, dword [rbp - 0x50]
jbe 0x180015c11
movss xmm0, dword [rbp - 0x48]
comiss xmm0, xmm6
jbe 0x180015c11
mov rax, qword [0x180066470]
lea rcx, [rbp - 0x80]
movdqu xmm0, xmmword [rax + 0x14bc]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm2
movss dword [rbp - 0x74], xmm0
call fcn.18000d9bc
mov rcx, qword [r12 + 0x270]
lea r8, [rbp - 0x70]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea rdx, [rbp - 0x40]
call fcn.18001f8fc
movss xmm9, dword [rbp - 0x2c]
mov r12, qword [rbp + 0x108]
cmp byte [rsp + 0x5c], r15b
je 0x180015c45
subss xmm7, dword [r14 + 0x1778]
subss xmm6, xmm8
movss dword [r14 + 0x29fc], xmm7
movss dword [r14 + 0x29f8], xmm6
test r13b, r13b
je 0x180015c77
addss xmm10, dword [r14 + 0x1778]
addss xmm13, xmm14
lea rcx, [rbp - 0x70]
movss dword [rbp - 0x6c], xmm10
movss dword [rbp - 0x70], xmm13
call fcn.180011544
call fcn.180011788
call fcn.180011e84
mov eax, dword [rbp - 0x58]
test al, al
je 0x180015c86
call fcn.180017a14
mov eax, dword [rbp - 0x58]
cmp byte [r14 + 0x2a30], r15b
je 0x180015ca2
test al, al
jne 0x180015ca2
xor r8d, r8d
lea rcx, [rbp - 0x60]
mov rdx, r12
call fcn.180016780
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm14
jbe 0x180015ce2
movss xmm0, dword [rbp - 0x20]
mov r9d, 1
addss xmm0, dword [r14 + 0x1474]
addss xmm9, dword [r14 + 0x1460]
mov rdx, qword [rbp + 0x100]
xor r8d, r8d
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.180019208
test byte [rbp + 0x120], 0x20
movzx eax, byte [rsp + 0x59]
movzx ecx, byte [rsp + 0x50]
cmovne eax, ecx
jmp 0x180013ec5