Function at 0x140150800
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x970
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rsp + 0x920], rax
mov rdi, rcx
mov qword [rsp + 0xb0], rcx
mov r15, qword [rcx + 0x2978]
mov qword [rsp + 0x50], r15
lea r13, [rcx + 0x150]
movzx edx, word [r15]
mov rcx, r13
call fcn.140184c20
mov rsi, rax
mov rcx, qword [0x141443c60]
vmovss xmm0, dword [rcx + 0x3e80]
vdivss xmm1, xmm0, dword [0x14140ea74]
vmulss xmm2, xmm1, dword [0x14140eb24]
vmulss xmm0, xmm1, dword [0x14140eb34]
or dword [rcx + 0x4b58], 2
vunpcklps xmm0, xmm2, xmm0
vmovsd qword [rcx + 0x4b7c], xmm0
mov dword [rcx + 0x4b60], 4
mov byte [rsp + 0x40], 1
mov r8d, 0x18
lea rdx, [rsp + 0x40]
lea rcx, [0x1413ccc80]
call fcn.1401ef0a0
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
xor ebx, ebx
cmp byte [rcx + 0xf8], bl
jne 0x140155ae4
vxorps xmm6, xmm6, xmm6
vmovss dword [rsp + 0x1d8], xmm6
vmovss dword [rsp + 0x1dc], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x1d8]
lea rcx, [0x1413ccc68]
call fcn.140217480
test al, al
je 0x140150926
mov rdx, r15
mov rcx, rdi
call fcn.14010b500
mov rdx, r15
mov rcx, rdi
call fcn.14014ae80
mov rbx, rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x1a0], rax
vmovss xmm7, dword [0x14140ebbc]
test rax, rax
je 0x140150996
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss dword [rsp + 0x1e0], xmm6
vmovss dword [rsp + 0x1e4], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x1e0]
lea rcx, [0x1413ccca0]
call fcn.140217480
test al, al
je 0x140150996
mov rdx, rbx
mov rcx, rdi
call fcn.140157500
cmp byte [rdi + 0xf98], 0
je 0x140150ab5
movzx r15d, word [r15]
movzx edx, r15w
mov rcx, r13
call fcn.1401851f0
cmp dword [rax + 6], 0
je 0x140150ab0
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss dword [rsp + 0x1e8], xmm6
vmovss dword [rsp + 0x1ec], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x1e8]
lea rcx, [0x1413ccc90]
call fcn.140217480
test al, al
je 0x140150ab0
lea r14, [rdi + 0x3340]
test byte [rsi + 8], 2
mov rdx, rsi
jne 0x140150a0f
lea rdx, [rsi + 9]
movzx eax, byte [rdx + 8]
test al, 1
je 0x140150a36
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rdx]
mov rbx, qword [rcx + rax*8]
jmp 0x140150a51
test al, 2
je 0x140150a4a
mov rdx, qword [rdx]
mov rcx, r13
call fcn.140184990
mov rbx, rax
jmp 0x140150a51
lea rbx, [0x1413ca658]
mov word [rsp + 0x48], r15w
mov byte [r14], 1
mov byte [r14 + 0x560], 0
mov rcx, r14
call fcn.1400c0fe0
lea rcx, [r14 + 8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140150a84
mov word [rdx], r15w
add qword [rcx + 8], 2
jmp 0x140150a8e
lea r8, [rsp + 0x48]
call fcn.1400cb650
sub r14, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [r14 + rbx + 0x78], al
lea rbx, [rbx + 1]
test al, al
jne 0x140150aa0
mov r15, qword [rsp + 0x50]
mov ecx, dword [r15 + 0x12]
test ecx, ecx
je 0x140150bd0
movzx ebx, word [rdi + 0xd07]
shl rbx, 0x20
mov eax, dword [rdi + 0xd03]
or rbx, rax
lea r15, [rcx + rcx*2]
movzx ecx, byte [rbx + r15*4 + 2]
shl ecx, 0x10
movzx eax, word [rbx + r15*4]
or ecx, eax
je 0x140150bcb
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
movzx r14d, byte [rbx + r15*4 + 2]
shl r14d, 0x10
movzx eax, word [rbx + r15*4]
or r14d, eax
mov r12d, dword [rdi + 0x2a00]
cmp r12d, r14d
jne 0x140150b1f
call fcn.140077e80
vmovss dword [rsp + 0x1f0], xmm6
vmovss dword [rsp + 0x1f4], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x1f0]
lea rcx, [0x1413c8c48]
call fcn.140217480
test al, al
je 0x140150b62
movzx ecx, byte [rbx + r15*4 + 2]
shl ecx, 0x10
movzx eax, word [rbx + r15*4]
or ecx, eax
mov dword [rdi + 0x2a00], ecx
cmp r12d, r14d
jne 0x140150bcb
mov r9d, 3
mov r8, qword [0x141443c60]
mov eax, dword [r8 + 0x4c00]
cmp eax, r9d
jge 0x140150b90
mov r9d, eax
test eax, eax
jle 0x140150bcb
nop word [rax + rax]
cdqe
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov eax, dword [r8 + 0x4c00]
dec r9d
test r9d, r9d
jg 0x140150b90
mov r15, qword [rsp + 0x50]
movzx eax, byte [rsi + 0x1a]
test al, 1
je 0x140150bf8
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 0x12]
mov rbx, qword [rcx + rax*8]
jmp 0x140150c14
test al, 2
je 0x140150c0d
mov rdx, qword [rsi + 0x12]
mov rcx, r13
call fcn.140184990
mov rbx, rax
jmp 0x140150c14
lea rbx, [0x1413ca658]
mov r9, r13
mov r8, rdi
mov rdx, qword [rdi + 0x238]
mov rcx, rbx
call fcn.140027490
test al, al
je 0x140150d4b
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov r14, qword [rdi + 0x30e8]
cmp r14, rbx
jne 0x140150c4f
call fcn.140077e80
vmovss dword [rsp + 0x118], xmm6
vmovss dword [rsp + 0x11c], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x118]
lea rcx, [0x1413ccd10]
call fcn.140217480
test al, al
je 0x140150ce6
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x140150ca4
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov r9, qword [rcx + rax*8]
jmp 0x140150cc0
test al, 2
je 0x140150cb9
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
mov r9, rax
jmp 0x140150cc0
lea r9, [0x1413ca658]
mov r8d, dword [rsi + 0x1b]
mov rax, qword [0x141443c60]
mov rdx, rbx
mov rcx, rdi
cmp byte [rax + 0x120], 0
je 0x140150ce1
call fcn.14007aec0
jmp 0x140150ce6
call fcn.14007af90
cmp r14, rbx
jne 0x140150d4b
mov r9d, 3
mov r8, qword [0x141443c60]
mov eax, dword [r8 + 0x4c00]
cmp eax, r9d
jge 0x140150d10
mov r9d, eax
test eax, eax
jle 0x140150d4b
nop dword [rax + rax]
cdqe
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov eax, dword [r8 + 0x4c00]
dec r9d
test r9d, r9d
jg 0x140150d10
cmp dword [rdi + 0x308e], 0
je 0x140150db9
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x120], xmm6
vmovss dword [rsp + 0x124], xmm6
xor r8d, r8d
lea rdx, [rsp + 0x120]
lea rcx, [0x1413ccd00]
call fcn.140217480
test al, al
je 0x140150db9
dec dword [rdi + 0x308e]
mov edx, dword [rdi + 0x308e]
movzx ecx, word [rdi + 0x308c]
shl rcx, 0x20
mov eax, dword [rdi + 0x3088]
or rcx, rax
mov rax, qword [rcx + rdx*8]
mov qword [rdi + 0x2978], rax
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
vmovss xmm9, dword [0x14140e870]
cmp byte [rdx + 0xf8], 0
jne 0x140150e05
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140150dfb
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
mov rdx, r15
mov rcx, rdi
call fcn.14014bca0
mov qword [rsp + 0xa8], rax
mov r12, qword [rax]
mov qword [rsp + 0xf8], r12
mov edx, dword [r15 + 0x12]
test edx, edx
je 0x140151186
movzx ecx, word [rdi + 0xd07]
shl rcx, 0x20
mov eax, dword [rdi + 0xd03]
or rcx, rax
lea rax, [rdx + rdx*2]
xor edx, edx
mov dword [rsp + 0x48], edx
cmp word [rcx + rax*4 + 6], dx
jne 0x140150e63
movzx eax, byte [rcx + rax*4 + 8]
cmp al, byte [rsp + 0x4a]
je 0x140151186
mov rcx, qword [rdi + 0x3100]
mov qword [rsp + 0x60], rcx
mov rbx, qword [0x141443c60]
mov r14, rcx
test rcx, rcx
jne 0x140150e9a
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x140150e92
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov r14, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x60]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [r14 + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
movzx edx, word [rdi + 0xd07]
shl rdx, 0x20
mov eax, dword [rdi + 0xd03]
or rdx, rax
mov eax, dword [r15 + 0x12]
lea rcx, [rax + rax*2]
xor r14d, r14d
mov dword [rsp + 0x48], r14d
movzx eax, word [rdx + rcx*4 + 6]
mov word [rsp + 0x48], ax
movzx eax, byte [rdx + rcx*4 + 8]
mov byte [rsp + 0x4a], al
movzx edx, word [rdi + 0xdec]
shl rdx, 0x20
mov eax, dword [rdi + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x48]
dec eax
mov rbx, qword [rdx + rax*8]
lea rcx, [0x1413c8560]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401f2900
test byte [rsi + 8], 2
je 0x140150faf
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
movzx eax, byte [rsi + 8]
test al, 1
je 0x140150f88
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov rax, qword [rcx + rax*8]
jmp 0x140150fa0
test al, 2
je 0x140150f99
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
jmp 0x140150fa0
lea rax, [0x1413ca658]
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, 1
call fcn.140150620
test al, al
je 0x140151102
movzx eax, byte [rsi + 8]
test al, 2
je 0x140151092
test al, 1
je 0x140150ffd
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov r9, qword [rcx + rax*8]
jmp 0x14015100b
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
mov r9, rax
mov dword [rsp + 0x48], r14d
movzx r8d, word [rdi + 0xd07]
shl r8, 0x20
mov ecx, dword [rdi + 0xd03]
or r8, rcx
mov ecx, dword [r15 + 0x12]
lea rdx, [rcx + rcx*2]
movzx eax, word [r8 + rdx*4 + 6]
mov word [rsp + 0x48], ax
movzx eax, byte [r8 + rdx*4 + 8]
mov byte [rsp + 0x4a], al
movzx r8d, word [rdi + 0xdec]
shl r8, 0x20
mov eax, dword [rdi + 0xde8]
or r8, rax
mov eax, dword [rsp + 0x48]
dec eax
mov r8, qword [r8 + rax*8]
lea rdx, [0x1413cab10]
lea rcx, [rsp + 0x520]
call fcn.140005590
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x140151102
lea rdx, [rsp + 0x520]
jmp 0x1401510f9
movzx edx, word [rdi + 0xd07]
shl rdx, 0x20
mov eax, dword [rdi + 0xd03]
or rdx, rax
mov eax, dword [r15 + 0x12]
lea rcx, [rax + rax*2]
mov dword [rsp + 0x48], r14d
movzx eax, word [rdx + rcx*4 + 6]
mov word [rsp + 0x48], ax
movzx eax, byte [rdx + rcx*4 + 8]
mov byte [rsp + 0x4a], al
movzx edx, word [r13 + 0xc9c]
shl rdx, 0x20
mov eax, dword [r13 + 0xc98]
or rdx, rax
mov eax, dword [rsp + 0x48]
dec eax
mov rdx, qword [rdx + rax*8]
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x140151102
mov rcx, qword [rcx + 0xc0]
call rax
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x14015112a
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov rbx, qword [rcx + rax*8]
jmp 0x140151146
test al, 2
je 0x14015113f
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
mov rbx, rax
jmp 0x140151146
lea rbx, [0x1413ca658]
lea rcx, [0x1413c6458]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, 2
jmp 0x1401513c5
mov rcx, qword [rdi + 0x3100]
mov qword [rsp + 0x60], rcx
mov rbx, qword [0x141443c60]
mov r14, rcx
test byte [rsi + 8], 2
je 0x1401512ef
test rcx, rcx
jne 0x1401511c7
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x1401511bf
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov r14, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x60]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [r14 + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
movzx eax, byte [rsi + 8]
test al, 1
je 0x14015121f
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov rbx, qword [rcx + rax*8]
jmp 0x14015123a
test al, 2
je 0x140151233
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
mov rbx, rax
jmp 0x14015123a
lea rbx, [0x1413ca658]
lea rcx, [0x1413c8560]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401f2900
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, 1
call fcn.140150620
test al, al
je 0x140151102
movzx eax, byte [rsi + 8]
test al, 1
je 0x1401512ae
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov rax, qword [rcx + rax*8]
jmp 0x1401512c6
test al, 2
je 0x1401512bf
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
jmp 0x1401512c6
lea rax, [0x1413ca658]
mov rcx, qword [0x141443c60]
mov r8, qword [rcx + 0xb8]
test r8, r8
je 0x140151102
mov rdx, rax
mov rcx, qword [rcx + 0xc0]
call r8
jmp 0x140151102
test rcx, rcx
jne 0x140151310
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x140151308
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov r14, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x60]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [r14 + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x140151369
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov rbx, qword [rcx + rax*8]
jmp 0x140151385
test al, 2
je 0x14015137e
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
mov rbx, rax
jmp 0x140151385
lea rbx, [0x1413ca658]
lea rcx, [0x1413c6458]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401f2900
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, 1
call fcn.140150620
test al, al
je 0x14015142f
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x1401513f6
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov rax, qword [rcx + rax*8]
jmp 0x14015140f
test al, 2
je 0x140151408
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
jmp 0x14015140f
lea rax, [0x1413ca658]
mov rcx, qword [0x141443c60]
mov r8, qword [rcx + 0xb8]
test r8, r8
je 0x14015142f
mov rdx, rax
mov rcx, qword [rcx + 0xc0]
call r8
movzx edx, word [r15]
mov rcx, r13
call fcn.140184c20
mov rdx, rax
mov eax, dword [rax + 0x1f]
test eax, eax
je 0x140151455
cmp byte [rdi + 0x27bd], 0
jne 0x140151455
or eax, 0xff000000
jmp 0x140151470
cmp byte [rdi + 0x27bc], 0
jne 0x140151465
mov eax, 0xffcc5555
jmp 0x140151470
xor r8d, r8d
mov rcx, rdi
call fcn.14014a5a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c8550]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1401514ea
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov r14d, dword [rsi + 0x1b]
movzx eax, byte [rsi + 0x1a]
test al, 1
je 0x140151523
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 0x12]
mov rcx, qword [rcx + rax*8]
jmp 0x14015153f
test al, 2
je 0x140151538
mov rdx, qword [rsi + 0x12]
mov rcx, r13
call fcn.140184990
mov rcx, rax
jmp 0x14015153f
lea rcx, [0x1413ca658]
lea rdx, [0x14145c6e0]
test r14d, r14d
je 0x14015158a
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
add rbx, rdx
inc eax
and eax, 0x80000007
jge 0x14015156c
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r9d, r14d
mov r8, rcx
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rcx, rbx
xor edx, edx
mov r8d, 1
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, 3
call fcn.140150620
test al, al
je 0x140151665
mov r14d, dword [rsi + 0x1b]
movzx eax, byte [rsi + 0x1a]
test al, 1
je 0x1401515e2
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 0x12]
mov rdx, qword [rcx + rax*8]
jmp 0x1401515fe
test al, 2
je 0x1401515f7
mov rdx, qword [rsi + 0x12]
mov rcx, r13
call fcn.140184990
mov rdx, rax
jmp 0x1401515fe
lea rdx, [0x1413ca658]
test r14d, r14d
je 0x140151649
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
lea rcx, [0x14145c6e0]
add rbx, rcx
inc eax
and eax, 0x80000007
jge 0x14015162b
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r9d, r14d
mov r8, rdx
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rdx, rbx
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x140151665
mov rcx, qword [rcx + 0xc0]
call rax
cmp byte [rdi + 0x27bc], 0
jne 0x140151675
mov eax, 0xffcc5555
jmp 0x14015167f
xor edx, edx
mov rcx, r12
call fcn.1400271a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, r12
mov rcx, r13
call fcn.140184a80
mov rbx, rax
lea rcx, [0x1413c71f0]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, r12
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
cmp qword [r13 + 0x2020], r12
jne 0x140151700
mov rax, qword [r13 + 0x2028]
jmp 0x14015170b
mov rdx, r12
mov rcx, r13
call fcn.14019dda0
test rax, rax
je 0x14015179b
cmp byte [rax + 0xa0], 0
je 0x14015179b
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovdqu xmm0, xmmword [0x14140f020]
vmovups xmmword [rsp + 0x230], xmm0
lea rdx, [rsp + 0x230]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c71f8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14015179b
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov edx, dword [r15 + 0x12]
test edx, edx
je 0x140151839
xor r8d, r8d
mov dword [rsp + 0x48], r8d
movzx ecx, word [rdi + 0xd07]
shl rcx, 0x20
mov eax, dword [rdi + 0xd03]
or rcx, rax
lea rdx, [rdx + rdx*2]
cmp word [rcx + rdx*4 + 3], r8w
jne 0x1401517da
movzx eax, byte [rcx + rdx*4 + 5]
cmp al, byte [rsp + 0x4a]
je 0x140151839
mov dword [rsp + 0x48], r8d
movzx eax, word [rcx + rdx*4 + 3]
mov word [rsp + 0x48], ax
movzx eax, byte [rcx + rdx*4 + 5]
mov byte [rsp + 0x4a], al
movzx edx, word [rdi + 0xdec]
shl rdx, 0x20
mov eax, dword [rdi + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x48]
dec eax
mov rbx, qword [rdx + rax*8]
lea rcx, [0x1413ccd30]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x14015187d
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140151873
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
vmovss dword [rsp + 0x128], xmm6
vmovss dword [rsp + 0x12c], xmm6
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x128]
lea rcx, [0x1413ccd20]
call fcn.1401eb7a0
mov rcx, qword [r15 + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x140151947
mov rdx, r15
test al, al
js 0x140151944
movzx r10d, word [rdi + 0x14fc]
shl r10, 0x20
mov eax, dword [rdi + 0x14f8]
or r10, rax
nop dword [rax]
movsxd rax, dword [rdx + 8]
imul rcx, rax, 0xb
add rcx, r10
movzx r9d, word [rcx + 4]
mov r8d, dword [rcx]
mov eax, dword [rcx + 6]
dec eax
mov edx, eax
cmp byte [rcx + 0xa], 0
mov ecx, r9d
jge 0x140151913
shl rcx, 0x20
or rcx, r8
imul rdx, rdx, 0x16
add rdx, rcx
jmp 0x140151930
shl rcx, 0x20
or rcx, r8
lea rax, [rax + rax*2]
add rax, rax
movzx edx, word [rax + rcx + 4]
shl rdx, 0x20
mov eax, dword [rax + rcx]
or rdx, rax
mov rcx, qword [rdx + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x140151947
test al, al
jns 0x1401518e0
mov rcx, qword [rdx]
sar rcx, 0x10
mov qword [rsp + 0xd0], rcx
mov rax, qword [r15]
sar rax, 0x10
mov r14, rcx
sub r14, rax
mov qword [rsp + 0xd8], r14
mov rdx, r15
mov rcx, rdi
call fcn.14014c9e0
mov rsi, rax
mov rcx, qword [r15]
sar rcx, 0x10
call fcn.1401ca260
mov rbx, rax
lea rcx, [0x1413caad8]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rcx, r14
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413cabd8]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
vmovss xmm8, dword [0x14140ead8]
cmp byte [rdi + 0xf98], 0
je 0x140151a57
movzx edx, word [r15]
mov rcx, r13
call fcn.1401851f0
mov rbx, rax
cmp qword [rax + 0x20], 0
jle 0x140151a57
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, r14
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, qword [rbx + 0x20]
vdivss xmm2, xmm1, xmm0
mov eax, dword [rbx + 6]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, rax
vmulss xmm0, xmm2, xmm1
vmulss xmm2, xmm0, xmm8
vcvtss2sd xmm1, xmm2, xmm2
vmovq rdx, xmm1
lea rcx, [0x1413cccc8]
call fcn.1402166f0
mov rcx, rsi
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413cccb8]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov eax, 0x28
test r14, r14
je 0x140151b68
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rsi
vmulss xmm2, xmm0, xmm8
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, r14
vdivss xmm2, xmm2, xmm1
vcvtss2sd xmm3, xmm2, xmm2
mov word [rsp + 0x360], ax
lea r8, [rsp + 0x3a0]
lea rdx, [rsp + 0x361]
lea rcx, [rsp + 0x2b8]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [rsp + 0x360]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140151b68
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
cmp qword [rdi + 0x2180], r12
jne 0x140151b7a
mov rcx, qword [rdi + 0x2188]
jmp 0x140151bc9
mov qword [rsp + 0x88], r12
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0xe0]
lea rcx, [rdi + 0x15a8]
call fcn.140049af0
mov rcx, qword [rsp + 0xe0]
cmp rcx, qword [rdi + 0x15c0]
je 0x140151bc7
mov qword [rdi + 0x2180], r12
mov rax, qword [rcx + 8]
mov qword [rdi + 0x2188], rax
mov rcx, qword [rcx + 8]
jmp 0x140151bc9
xor ecx, ecx
mov qword [rsp + 0x60], rcx
movabs r14, 0x2aaaaaaaaaaaaaab
mov r11, 0xffffffffffffffff
test rcx, rcx
je 0x140153353
mov r9, qword [r15]
sar r9, 0x10
movzx r15d, word [rcx + 4]
shl r15, 0x20
mov eax, dword [rcx]
or r15, rax
mov qword [rsp + 0xa0], r15
mov eax, dword [rcx + 6]
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
lea r10, [rcx + r15]
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x140151c6b
mov rcx, rdx
shr rcx, 1
lea rax, [rcx + rcx*2]
lea r8, [r15 + rax*8]
mov rax, qword [r8 + 8]
sar rax, 0x10
cmp rax, r9
jae 0x140151c5b
lea r15, [r8 + 0x18]
mov rax, r11
sub rax, rcx
add rdx, rax
jmp 0x140151c5e
mov rdx, rcx
test rdx, rdx
jg 0x140151c31
mov qword [rsp + 0xa0], r15
cmp r15, r10
je 0x140153353
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rcx + 0xa]
mov rax, rbx
shr rax, 8
test rbx, rbx
jns 0x140151d0c
test al, al
js 0x140151d09
movzx r9d, word [rdi + 0x14fc]
shl r9, 0x20
mov eax, dword [rdi + 0x14f8]
or r9, rax
nop word [rax + rax]
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0xb
add rcx, r9
movzx edx, word [rcx + 4]
shl rdx, 0x20
mov eax, dword [rcx]
or rdx, rax
mov eax, dword [rcx + 6]
dec eax
mov r8d, eax
cmp byte [rcx + 0xa], 0
jge 0x140151cdf
imul rcx, r8, 0x16
add rcx, rdx
jmp 0x140151cf5
lea rax, [rax + rax*2]
add rax, rax
movzx ecx, word [rdx + rax + 4]
shl rcx, 0x20
mov eax, dword [rdx + rax]
or rcx, rax
mov rbx, qword [rcx + 0xa]
mov rax, rbx
shr rax, 8
test rbx, rbx
jns 0x140151d0c
test al, al
jns 0x140151cb0
mov rbx, qword [rcx]
sar rbx, 0x10
mov r8, r15
mov qword [rsp + 0x58], r15
mov rcx, r10
sub rcx, r15
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x140151dc9
mov rdi, r15
nop
mov rcx, rdx
shr rcx, 1
lea rax, [rcx + rcx*2]
lea r8, [rdi + rax*8]
mov rax, qword [r8]
sar rax, 0x10
cmp rbx, rax
jge 0x140151d5f
mov rdx, rcx
jmp 0x140151d6c
lea rdi, [r8 + 0x18]
mov rax, r11
sub rax, rcx
add rdx, rax
mov rsi, rdi
test rdx, rdx
jg 0x140151d40
mov r8, rdi
mov qword [rsp + 0x58], rdi
cmp rdi, r10
mov rdi, qword [rsp + 0xb0]
jne 0x140151dc9
cmp qword [r13 + 0x2020], r12
jne 0x140151d9b
mov rax, qword [r13 + 0x2028]
jmp 0x140151da6
mov rdx, r12
mov rcx, r13
call fcn.14019dda0
test rax, rax
je 0x140151dbc
mov r8, rsi
mov qword [rsp + 0x58], rsi
cmp byte [rax + 0xa0], 0
jne 0x140151dc9
mov r9b, 1
mov r8, rsi
mov qword [rsp + 0x58], rsi
jmp 0x140151dcc
xor r9b, r9b
mov byte [rsp + 0x48], r9b
mov rcx, r8
sub rcx, r15
mov rax, r14
imul rcx
mov r14, rdx
sar r14, 2
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp r14, 1
jne 0x140151f60
test r9b, r9b
jne 0x140153353
mov rcx, qword [rsp + 0xd8]
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413ccce8]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, r14d
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, r14d
lea rcx, [0x1413ccce0]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x140151ea7
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov rdx, qword [r8 + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x140151ee4
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140151eda
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
lea rcx, [0x1413c7750]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
lea rcx, [0x1413ccda0]
call fcn.140215e20
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0xa0], 0
jne 0x140153353
movzx ecx, byte [r15]
call fcn.14009d340
mov rbx, rax
lea rcx, [0x1413ca2a0]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
jmp 0x140153353
jbe 0x140153353
xor eax, eax
mov r12d, eax
mov r13d, eax
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x420]
call sub.VCRUNTIME140.dll_memset
mov r15, qword [r15 + 8]
sar r15, 0x10
mov r9, qword [rsp + 0x50]
mov rax, qword [r9]
sar rax, 0x10
sub r15, rax
mov rsi, qword [rsp + 0xa0]
movzx eax, byte [rsi]
mov byte [rsp + rax + 0x420], 1
add rsi, 0x18
lea r9, [r14 - 2]
xor r10d, r10d
cmp r9, 2
jb 0x140152021
lea r8, [r9 - 2]
shr r8, 1
inc r8
lea r10, [r8 + r8]
nop dword [rax]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
sar rcx, 0x10
mov rax, rdx
sar rax, 0x10
sub rcx, rax
add r12, rcx
movzx eax, dl
mov byte [rsp + rax + 0x420], 1
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x20]
sar rcx, 0x10
mov rax, rdx
sar rax, 0x10
sub rcx, rax
add r13, rcx
movzx eax, dl
mov byte [rsp + rax + 0x420], 1
add rsi, 0x30
sub r8, 1
jne 0x140151fd0
cmp r10, r9
jae 0x14015204d
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
sar rcx, 0x10
mov rax, rdx
sar rax, 0x10
sub rcx, rax
add r15, rcx
movzx eax, dl
mov byte [rsp + rax + 0x420], 1
add rsi, 0x18
mov rcx, qword [rsi]
mov rax, rcx
sar rax, 0x10
sub rbx, rax
add rbx, r12
add rbx, r13
add r15, rbx
movzx eax, cl
mov byte [rsp + rax + 0x420], 1
mov rcx, r15
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413ccce8]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x14015218e
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, r15
vmulss xmm2, xmm0, xmm8
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, rax
vdivss xmm2, xmm2, xmm1
vcvtss2sd xmm3, xmm2, xmm2
mov eax, 0x28
mov word [rsp + 0x3a0], ax
lea r8, [rsp + 0x3e0]
lea rdx, [rsp + 0x3a1]
lea rcx, [rsp + 0x2c8]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [rsp + 0x3a0]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
mov r13, qword [rsp + 0x58]
cmp eax, 1
jl 0x14015219a
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
jmp 0x14015219a
mov r8, qword [0x141443c60]
mov r13, qword [rsp + 0x58]
mov rdx, qword [r8 + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x1401521d7
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x1401521cd
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
cmp byte [rsp + 0x48], 0
je 0x14015224e
vmovdqu xmm0, xmmword [0x14140ef10]
vmovups xmmword [rsp + 0x240], xmm0
lea rdx, [rsp + 0x240]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413ccd80]
call fcn.140215e20
mov rcx, qword [0x141443c60]
movsxd rax, dword [rcx + 0x4c00]
cmp eax, 1
jl 0x14015224e
lea r8, [rax + rax*4]
mov rdx, qword [rcx + 0x4c08]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rdx + r8*4 - 0x10]
vmovups xmmword [rcx + rax*8 + 0x3ae8], xmm0
dec dword [rcx + 0x4c00]
mov rcx, r14
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413c7750]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov r12, qword [rsp + 0xa8]
xor r14d, r14d
cmp byte [r12 + 0xa0], r14b
jne 0x14015242f
vpxor xmm2, xmm2, xmm2
vpxor xmm3, xmm3, xmm3
mov eax, r14d
nop word [rax + rax]
vpmovzxbd ymm1, qword [rsp + rax + 0x420]
vpaddd ymm2, ymm1, ymm2
vpmovzxbd ymm1, qword [rsp + rax + 0x428]
vpaddd ymm3, ymm1, ymm3
add rax, 0x10
cmp rax, 0x100
jl 0x1401522b0
vpaddd ymm0, ymm2, ymm3
vphaddd ymm1, ymm0, ymm0
vphaddd ymm2, ymm1, ymm1
vextracti128 xmm0, ymm2, 1
vpaddd xmm0, xmm2, xmm0
vmovd r12d, xmm0
cmp r12d, 1
jne 0x140152334
movzx ecx, byte [rsi]
vzeroupper
call fcn.14009d340
mov rbx, rax
lea rcx, [0x1413ca2a0]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, r12d
mov rcx, rbx
call fcn.140215e20
jmp 0x140152427
mov edx, r12d
lea rcx, [0x1413ccdb8]
vzeroupper
call fcn.1402166f0
mov r15d, r14d
nop dword [rax]
cmp byte [rsp + r14 + 0x420], 0
je 0x1401523fc
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
sub r12d, 1
je 0x140152415
mov ecx, 1
mov ebx, ecx
mov esi, r12d
cmp byte [rsp + r14 + 0x421], 0
je 0x1401523ed
lea rax, [rsp + 0x421]
add rax, r14
nop word [rax + rax]
inc ecx
inc rbx
lea rax, [rax + 1]
sub esi, 1
je 0x1401523b3
cmp byte [rax], 0
jne 0x1401523a0
cmp rbx, 2
jle 0x1401523ed
lea r12d, [r15 - 1]
add r12d, ecx
mov r8d, r12d
mov edx, r15d
test esi, esi
je 0x140152407
lea rcx, [0x1413ccd40]
call fcn.1402165c0
mov r15d, r12d
dec r14
add r14, rbx
mov r12d, esi
inc r15d
inc r14
jmp 0x140152350
mov edx, r15d
lea rcx, [0x1413ccd3c]
call fcn.1402165c0
inc r15d
inc r14
jmp 0x140152350
lea rcx, [0x1413ccda8]
call fcn.1402165c0
jmp 0x140152424
mov edx, r15d
lea rcx, [0x1413c635c]
call fcn.1402165c0
xor r14d, r14d
mov r12, qword [rsp + 0xa8]
add r13, 0xffffffffffffffe8
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
jne 0x14015334c
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ccd70]
call fcn.1401e1830
mov esi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14015249d
lea r8, [0x1413ccd70]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413ccd70]
xor edx, edx
mov ecx, esi
call fcn.1402291e0
test al, al
je 0x14015334c
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14015250d
vmovss dword [rsp + 0x130], xmm6
vmovss dword [rsp + 0x134], xmm6
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x130]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x138], xmm6
vmovss dword [rsp + 0x13c], xmm6
lea rdx, [rsp + 0x138]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x2fd1]
lea rcx, [0x1413ccd50]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
cmp byte [rdi + 0x2fd1], 0
je 0x14015257a
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
sar rax, 0x10
mov qword [rsp + 0x88], rax
jmp 0x140152582
mov qword [rsp + 0x88], r14
mov r15, qword [rsp + 0xa0]
sub r13, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov r14, rdx
sar r14, 2
mov rax, r14
shr rax, 0x3f
add r14, rax
mov ebx, 6
cmp byte [r12 + 0xa0], 0
mov eax, 4
cmovne ebx, eax
lea rcx, [r14 + 1]
mov rax, qword [0x141443c60]
vmovss xmm0, dword [rax + 0x3e80]
vaddss xmm1, xmm0, dword [rax + 0x3a48]
cmp rcx, 0xf
mov eax, send
cmovg rcx, rax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rcx
vmulss xmm1, xmm1, xmm0
vmovss dword [rsp + 0x140], xmm6
vmovss dword [rsp + 0x144], xmm1
lea rcx, [0x1413ccdf0]
call fcn.1401f39a0
vmovss dword [rsp + 0x28], xmm6
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x20], rdx
mov r9d, 0x2000007
mov r8d, ebx
mov edx, eax
lea rcx, [0x1413ccdf0]
call fcn.14020c3b0
test al, al
je 0x140153347
call fcn.14020f940
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x140152724
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
xor r13d, r13d
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], r13b
je 0x1401526eb
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x1401526b9
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x1401526b9
test al, 8
je 0x1401526b9
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x1401526c8
test byte [rsi + 0x60], 4
jne 0x1401526c8
mov word [rbx + 0x63], r13w
test al, 4
je 0x1401526eb
test byte [rsi + 0x60], 8
jne 0x1401526eb
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], 0xffff
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ccdea]
lea rdx, [0x1413ccde4]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
jmp 0x140152727
xor r13d, r13d
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x1401527f5
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x1401527be
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x14015278b
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x14015278b
test al, 8
je 0x14015278b
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14015279b
test byte [rsi + 0x60], 4
jne 0x14015279b
mov word [rbx + 0x63], 0
test al, 4
je 0x1401527be
test byte [rsi + 0x60], 8
jne 0x1401527be
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], 0xffff
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413cce0c]
lea rdx, [0x1413cce08]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x1401528c3
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x14015288c
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140152859
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140152859
test al, 8
je 0x140152859
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140152869
test byte [rsi + 0x60], 4
jne 0x140152869
mov word [rbx + 0x63], 0
test al, 4
je 0x14015288c
test byte [rsi + 0x60], 8
jne 0x14015288c
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], 0xffff
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ca971]
lea rdx, [0x1413ca96c]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
cmp byte [r12 + 0xa0], 0
je 0x140152999
movsx rcx, word [rsi + 0x206]
cmp ecx, dword [rsi + 0x6c]
jge 0x140152c02
imul rbx, rcx, 0x70
add rbx, qword [rsi + 0x18]
inc cx
mov word [rsi + 0x206], cx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x140152969
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140152936
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140152936
test al, 8
je 0x140152936
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140152946
test byte [rsi + 0x60], 4
jne 0x140152946
mov word [rbx + 0x63], 0
test al, 4
je 0x140152969
test byte [rsi + 0x60], 8
jne 0x140152969
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], 0xffff
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ca89b]
lea rdx, [0x1413ca894]
jmp 0x140152bfd
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x140152a68
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x140152a29
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x1401529f6
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x1401529f6
test al, 8
je 0x1401529f6
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140152a06
test byte [rsi + 0x60], 4
jne 0x140152a06
mov word [rbx + 0x63], 0
test al, 4
je 0x140152a29
test byte [rsi + 0x60], 8
jne 0x140152a29
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov r12, 0xffffffffffffffff
mov word [rbx + 0x50], r12w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413cce07]
lea rdx, [0x1413cce00]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
jmp 0x140152a6f
mov r12, 0xffffffffffffffff
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x140152b3c
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x140152b06
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140152ad3
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140152ad3
test al, 8
je 0x140152ad3
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140152ae3
test byte [rsi + 0x60], 4
jne 0x140152ae3
mov word [rbx + 0x63], 0
test al, 4
je 0x140152b06
test byte [rsi + 0x60], 8
jne 0x140152b06
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r12w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ccdd0]
lea rdx, [0x1413ccdcc]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
movsx rcx, word [rsi + 0x206]
cmp ecx, dword [rsi + 0x6c]
jge 0x140152c02
imul rbx, rcx, 0x70
add rbx, qword [rsi + 0x18]
inc cx
mov word [rsi + 0x206], cx
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x140152bd3
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140152ba0
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140152ba0
test al, 8
je 0x140152ba0
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140152bb0
test byte [rsi + 0x60], 4
jne 0x140152bb0
mov word [rbx + 0x63], 0
test al, 4
je 0x140152bd3
test byte [rsi + 0x60], 8
jne 0x140152bd3
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r12w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ccdca]
lea rdx, [0x1413ccdc4]
call fcn.1401e2840
call fcn.1402122f0
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rsp + 0x1f8], ymm0
mov qword [rsp + 0x218], rax
vmovaps xmm2, xmm7
mov edx, r14d
lea rcx, [rsp + 0x1f8]
vzeroupper
call fcn.1401e2cf0
lea rcx, [rsp + 0x1f8]
call fcn.1401e3630
test al, al
je 0x140153333
nop word [rax + rax]
movsxd rdx, dword [rsp + 0x200]
mov dword [rsp + 0x48], edx
cmp edx, dword [rsp + 0x204]
jge 0x14015331e
lea r13, [rdx*2 + 5]
add r13, rdx
lea r13, [r15 + r13*8]
mov qword [rsp + 0x80], r13
mov rcx, qword [0x141443c60]
nop word [rax + rax]
mov rsi, qword [r13 - 0x20]
sar rsi, 0x10
mov r12, qword [r13 - 0x10]
sar r12, 0x10
mov qword [rsp + 0x58], r12
movsx r15, word [r13 + 4]
shl r15, 0x20
mov eax, dword [r13]
or r15, rax
mov rbx, qword [rcx + 0x4150]
mov rcx, rbx
call fcn.1401f34b0
mov r14d, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x140152d01
inc ecx
test r8d, r8d
je 0x140152ced
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140152cf2
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r14d
inc dword [rbx]
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x140152d69
cmp byte [rbx + 0x237], 0
je 0x140152d54
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x140152d54
cmp ecx, 0xffffffff
je 0x140152d4d
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x140152d61
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
mov r14, qword [rsp + 0x88]
mov rcx, rsi
test r14, r14
jne 0x140152d80
call fcn.1401ca260
jmp 0x140152d88
sub rcx, r14
call fcn.1401c9cc0
vmovss dword [rsp + 0x148], xmm6
vmovss dword [rsp + 0x14c], xmm6
lea r9, [rsp + 0x148]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14022a0e0
test al, al
je 0x140152dbe
mov rdx, rsi
mov rcx, rdi
call fcn.14010ba30
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x140152e0e
cmp byte [rbx + 0x237], 0
je 0x140152df9
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x140152df9
cmp ecx, 0xffffffff
je 0x140152df2
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x140152e06
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
mov rcx, r12
test r14, r14
jne 0x140152e1d
call fcn.1401ca260
jmp 0x140152e25
sub rcx, r14
call fcn.1401c9cc0
vmovss dword [rsp + 0x188], xmm6
vmovss dword [rsp + 0x18c], xmm6
lea r9, [rsp + 0x188]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14022a0e0
test al, al
je 0x140152e5b
mov rdx, r12
mov rcx, rdi
call fcn.14010ba30
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x140152eab
cmp byte [rbx + 0x237], 0
je 0x140152e96
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x140152e96
cmp ecx, 0xffffffff
je 0x140152e8f
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x140152ea3
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
vmovss dword [rsp + 0x150], xmm6
vmovss dword [rsp + 0x154], xmm6
mov rcx, r15
sub rcx, rsi
call fcn.1401c9cc0
lea r9, [rsp + 0x150]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14022a0e0
test al, al
je 0x140152f50
mov rcx, r15
cmp rsi, r15
jne 0x140152eed
lea rcx, [rsi + 1]
xor edx, edx
mov dword [rdi + 0x2784], edx
mov byte [rdi + 0x2788], dl
mov byte [rdi + 0x2f68], dl
cmp byte [rdi + 0x4350], dl
jne 0x140152f18
cmp byte [rdi + 0x4351], dl
je 0x140152f18
mov byte [rdi + 0x4350], 1
mov byte [rdi + 0x2ff0], 1
mov rax, qword [rdi + 0x2798]
mov qword [rdi + 0x2ff8], rax
mov qword [rdi + 0x3000], rsi
mov rax, qword [rdi + 0x27a0]
mov qword [rdi + 0x3008], rax
mov qword [rdi + 0x3010], rcx
mov qword [rdi + 0x3018], rdx
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x140152fa0
cmp byte [rbx + 0x237], 0
je 0x140152f8b
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x140152f8b
cmp ecx, 0xffffffff
je 0x140152f84
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x140152f98
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
mov r12, qword [rsp + 0xa8]
cmp byte [r12 + 0xa0], 0
je 0x140153018
movzx ecx, word [rdi + 0x147c]
shl rcx, 0x20
mov eax, dword [rdi + 0x1478]
or rcx, rax
movzx eax, word [r13 - 0x12]
mov rbx, qword [rcx + rax*8]
mov rdx, rbx
lea rcx, [rdi + 0x150]
call fcn.140184a80
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, rbx
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
jmp 0x1401532df
movzx ebx, byte [r13 - 0x28]
movzx r12d, byte [r13 - 0x1f]
movzx r13d, byte [r13 - 0x20]
mov rsi, qword [rsp + 0x80]
movzx esi, byte [rsi - 0x10]
mov r14, qword [rsp + 0x58]
cmp r14, r15
je 0x1401530dc
vmovss dword [rsp + 0x158], xmm6
vmovss dword [rsp + 0x15c], xmm6
mov rcx, r14
sub rcx, r15
call fcn.1401c9cc0
lea r9, [rsp + 0x158]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14022a0e0
test al, al
je 0x1401530f0
xor ecx, ecx
mov dword [rdi + 0x2784], ecx
mov byte [rdi + 0x2788], cl
mov byte [rdi + 0x2f68], cl
cmp byte [rdi + 0x4350], cl
jne 0x1401530a2
cmp byte [rdi + 0x4351], cl
je 0x1401530a2
mov byte [rdi + 0x4350], 1
mov byte [rdi + 0x2ff0], 1
mov rax, qword [rdi + 0x2798]
mov qword [rdi + 0x2ff8], rax
mov qword [rdi + 0x3000], r15
mov rax, qword [rdi + 0x27a0]
mov qword [rdi + 0x3008], rax
mov qword [rdi + 0x3010], r14
mov qword [rdi + 0x3018], rcx
jmp 0x1401530f0
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c9648]
call fcn.140215e20
call fcn.1402104a0
cmp bl, sil
jne 0x140153117
movzx ecx, bl
call fcn.14009d340
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
jmp 0x140153255
mov r8d, esi
mov edx, ebx
lea rcx, [0x1413ccdd8]
call fcn.1402165c0
mov dword [rsp + 0x58], ebx
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0xe0]
lea rcx, [rdi + 0x2218]
call fcn.1401ab720
mov r15, qword [rdi + 0x2230]
mov rbx, qword [rsp + 0xe0]
cmp rbx, r15
jne 0x14015315f
xor eax, eax
mov ebx, eax
jmp 0x140153163
add rbx, 4
mov dword [rsp + 0x58], esi
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x250]
lea rcx, [rdi + 0x2218]
call fcn.1401ab720
mov rcx, qword [rsp + 0x250]
cmp rcx, r15
jne 0x140153193
xor eax, eax
mov ecx, eax
jmp 0x140153197
add rcx, 4
test rbx, rbx
je 0x140153255
test rcx, rcx
je 0x140153255
mov eax, dword [rcx]
cmp dword [rbx], eax
je 0x1401531da
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
lea rcx, [0x1413ccdd0]
jmp 0x14015320b
mov eax, dword [rcx + 4]
cmp dword [rbx + 4], eax
je 0x140153255
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
lea rcx, [0x1413a1a80]
mov r8d, 1
xor edx, edx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140153255
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
call fcn.1402104a0
cmp r12b, 0x64
jne 0x140153284
movzx ecx, r13b
call fcn.1400999f0
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
movzx ecx, r13b
call fcn.140099b70
jmp 0x1401532a6
movzx ecx, r12b
call fcn.140099700
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
movzx ecx, r12b
call fcn.140099920
mov rbx, rax
cmp byte [rax], 0
je 0x1401532d7
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1401532d7
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401f2010
mov r13, qword [rsp + 0x80]
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
dec dword [rax + 0x130]
mov edx, dword [rsp + 0x48]
inc edx
mov dword [rsp + 0x48], edx
add r13, 0x18
mov qword [rsp + 0x80], r13
cmp edx, dword [rsp + 0x204]
jl 0x140152c90
mov r15, qword [rsp + 0xa0]
lea rcx, [rsp + 0x1f8]
call fcn.1401e3630
test al, al
jne 0x140152c50
call fcn.14020ee00
nop
lea rcx, [rsp + 0x1f8]
call fcn.1401e2e50
nop
call fcn.140229f60
lea r13, [rdi + 0x150]
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x140153397
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x14015338d
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
cmp qword [rdi + 0xd38], 1
jbe 0x14015360d
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14015340a
vmovss xmm0, dword [rdx + 0x3a38]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [rdx + 0x3e80]
vmovss xmm0, dword [rax + 0x16c]
vmaxss xmm1, xmm0, xmm2
vmovss dword [rax + 0x16c], xmm1
vmovss xmm0, dword [rax + 0x178]
vmaxss xmm1, xmm0, dword [rdx + 0x3a38]
vmovss dword [rax + 0x178], xmm1
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cb0b8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140153469
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [rdi + 0x2fd8]
test rdx, rdx
jne 0x14015348b
lea rax, [0x1413cb0d0]
jmp 0x140153493
mov rcx, r13
call fcn.140184990
xor r8d, r8d
mov rdx, rax
lea rcx, [0x1413cb0e8]
call fcn.14021af00
test al, al
je 0x14015360d
cmp qword [rdi + 0xd38], 0
je 0x1401535fb
mov r14, qword [rdi + 0xd28]
mov rsi, qword [rdi + 0xd30]
mov rax, qword [rsi]
mov r15, rsi
test rax, rax
jne 0x1401534f7
nop dword [rax]
nop dword [rax + rax]
add rsi, 8
sub r14, 0xffffffffffffff80
mov rax, qword [rsi]
test rax, rax
je 0x1401534e0
mov r15, qword [rdi + 0xd30]
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rsi, rcx
shl rcx, 4
add r14, rcx
cmp r14, r15
je 0x1401535fb
vmovss dword [rsp + 0x160], xmm6
vmovss dword [rsp + 0x164], xmm6
mov rax, qword [r14]
test rax, rax
jne 0x140153545
lea rcx, [0x1413cb0d0]
jmp 0x140153588
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x88]
lea rcx, [rdi + 0xda8]
call fcn.14006da70
shl rax, 4
mov rcx, qword [rdi + 0xdb8]
add rcx, rax
cmp rcx, qword [rdi + 0xdc0]
je 0x140153581
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140153588
lea rcx, [0x1413ca658]
lea r9, [rsp + 0x160]
xor r8d, r8d
xor edx, edx
call fcn.14022a0e0
test al, al
je 0x1401535a8
mov rax, qword [r14]
mov qword [rdi + 0x2fd8], rax
inc rsi
add r14, 0x10
mov rax, qword [rsi]
test rax, rax
jne 0x1401535d0
nop word [rax + rax]
add rsi, 8
sub r14, 0xffffffffffffff80
mov rax, qword [rsi]
test rax, rax
je 0x1401535c0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rsi, rcx
shl rcx, 4
add r14, rcx
cmp r14, r15
jne 0x140153522
mov rbx, qword [0x141443c60]
call fcn.1401f8990
dec dword [rbx + 0x5ff8]
mov rax, qword [rdi + 0x2fd8]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x88]
lea rcx, [rdi + 0xd18]
call fcn.14006da70
shl rax, 4
add rax, qword [rdi + 0xd28]
mov r12, qword [rax + 8]
mov qword [rsp + 0xe0], r12
cmp dword [r12 + 6], 0
jne 0x1401536b7
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cce68]
call fcn.140215e20
mov r9, qword [0x141443c60]
movsxd rax, dword [r9 + 0x4c00]
cmp eax, 1
jl 0x1401536db
lea rdx, [rax + rax*4]
mov rcx, qword [r9 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r9 + rax*8 + 0x3ae8], xmm0
dec dword [r9 + 0x4c00]
jmp 0x1401536db
cmp qword [r12 + 0x70], 0
jne 0x1401537c8
lea rcx, [0x1413c9090]
call fcn.1402165c0
call fcn.140077bb0
mov r9, qword [0x141443c60]
xor r12d, r12d
mov rdx, qword [r9 + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x140153722
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140153711
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
mov r9, qword [0x141443c60]
mov rcx, qword [rsp + 0xa8]
cmp dword [rcx + 0x2c], 0
je 0x1401541d9
mov rax, qword [rsp + 0x50]
mov r11, qword [rax]
sar r11, 0x10
movzx esi, word [rcx + 0x2a]
shl rsi, 0x20
mov eax, dword [rcx + 0x26]
or rsi, rax
mov eax, dword [rcx + 0x2c]
lea rcx, [rax + rax*2]
add rcx, rcx
lea rbx, [rcx + rsi]
movabs r14, 0x2aaaaaaaaaaaaaab
mov rax, r14
imul rcx
mov r8, rdx
shr r8, 0x3f
add r8, rdx
test r8, r8
jle 0x140154147
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
mov rdx, r8
shr rdx, 1
lea rax, [rdx + rdx*2]
lea r10, [rsi + rax*2]
movzx ecx, word [r10 + 4]
shl rcx, 0x20
mov eax, dword [r10]
or rcx, rax
cmp qword [rcx], r11
jge 0x140154133
lea rsi, [r10 + 6]
mov rax, rdi
sub rax, rdx
add r8, rax
jmp 0x140154136
lea rcx, [rdi + 0x1438]
mov rdx, qword [rsp + 0xf8]
cmp qword [rcx + 0x50], rdx
jne 0x1401537ea
movzx r15d, word [rcx + 0x58]
mov word [rsp + 0x48], r15w
jmp 0x1401537f4
call fcn.1401d5240
mov word [rsp + 0x48], ax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax]
sar rbx, 0x10
movzx r11d, word [r12 + 4]
shl r11, 0x20
mov ecx, dword [r12]
or r11, rcx
mov eax, dword [r12 + 6]
imul rcx, rax, 0x23
lea r9, [r11 + rcx]
mov r15, r11
mov qword [rsp + 0x80], r11
movabs r10, 0xea0ea0ea0ea0ea1
mov rax, r10
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x1401538a4
mov r10, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
mov rcx, rdx
shr rcx, 1
imul r8, rcx, 0x23
mov rax, qword [r8 + r15 + 0x13]
sar rax, 0x10
cmp rax, rbx
jge 0x14015388a
add r15, 0x23
add r15, r8
mov rax, r10
sub rax, rcx
add rdx, rax
jmp 0x14015388d
mov rdx, rcx
test rdx, rdx
jg 0x140153860
mov qword [rsp + 0x80], r15
movabs r10, 0xea0ea0ea0ea0ea1
mov r14, r15
mov qword [rsp + 0xa0], r15
sub r9, r15
mov rax, r10
imul r9
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x140153922
mov r9, qword [rsp + 0xd0]
mov rdi, 0xffffffffffffffff
nop dword [rax]
mov rcx, rdx
shr rcx, 1
imul r8, rcx, 0x23
mov rax, qword [r8 + r14 + 0x13]
sar rax, 0x10
cmp r9, rax
jge 0x1401538fd
mov rdx, rcx
jmp 0x14015390d
add r14, 0x23
add r14, r8
mov rax, rdi
sub rax, rcx
add rdx, rax
test rdx, rdx
jg 0x1401538e0
mov qword [rsp + 0xa0], r14
mov rdi, qword [rsp + 0xb0]
movzx esi, word [r12 + 0xf]
shl rsi, 0x20
mov eax, dword [r12 + 0xb]
or rsi, rax
mov r9d, dword [r12 + 0x11]
lea r8, [rsi + r9*4]
test r9, r9
je 0x14015398f
nop dword [rax]
nop word [rax + rax]
mov rax, r9
cqo
sub rax, rdx
sar rax, 1
lea r10, [rsi + rax*4]
mov ecx, dword [r10]
imul rdx, rcx, 0x23
mov rcx, qword [rdx + r11 + 0x1b]
sar rcx, 0x10
cmp rcx, rbx
jge 0x140153987
lea rsi, [r10 + 4]
mov rcx, 0xffffffffffffffff
sub rcx, rax
add r9, rcx
jmp 0x14015398a
mov r9, rax
test r9, r9
jg 0x140153950
mov r10, rsi
mov r13, rsi
mov qword [rsp + 0x58], rsi
sub r8, rsi
sar r8, 2
test r8, r8
jle 0x140153a13
mov rdi, qword [rsp + 0xd0]
mov r15, 0xffffffffffffffff
nop word [rax + rax]
mov rdx, r8
shr rdx, 1
lea r9, [rdx*4]
mov eax, dword [r9 + r13]
imul rcx, rax, 0x23
mov rax, qword [rcx + r11 + 0x1b]
sar rax, 0x10
cmp rdi, rax
jge 0x1401539e9
mov r8, rdx
jmp 0x1401539f9
add r13, 4
add r13, r9
mov rcx, r15
sub rcx, rdx
add r8, rcx
test r8, r8
jg 0x1401539c0
mov qword [rsp + 0x58], r13
mov rdi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x80]
mov rcx, r14
sub rcx, r15
movabs rax, 0xea0ea0ea0ea0ea1
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r13
sub rax, rsi
sar rax, 2
test rdx, rdx
jne 0x140153a4b
test rax, rax
je 0x14015364f
xor eax, eax
mov r15d, eax
mov r12d, eax
mov ebx, eax
mov r14d, eax
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x80]
movzx r8d, word [rsp + 0x48]
cmp rcx, rdx
je 0x140153a98
add rcx, 8
cmp word [rcx + 0xb], r8w
jne 0x140153a8b
mov rax, qword [rcx]
shr rax, 0x10
add r15, rax
inc rbx
add rcx, 0x23
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140153a77
cmp rsi, r13
je 0x140153ac7
nop dword [rax]
mov eax, dword [r10]
imul rax, rax, 0x23
cmp word [rax + r11 + 0x1b], r8w
jne 0x140153abe
mov rax, qword [rax + r11 + 8]
shr rax, 0x10
add r12, rax
inc r14
add r10, 4
cmp r10, r13
jne 0x140153aa0
test rbx, rbx
jne 0x140153ad5
test r14, r14
je 0x14015364f
lea r13, [r14 + rbx]
mov rcx, r13
call fcn.1400cae20
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cce58]
call fcn.140215e20
mov rcx, qword [0x141443c60]
movsxd rax, dword [rcx + 0x4c00]
cmp eax, 1
jl 0x140153b63
lea r8, [rax + rax*4]
mov rdx, qword [rcx + 0x4c08]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rdx + r8*4 - 0x10]
vmovups xmmword [rcx + rax*8 + 0x3ae8], xmm0
dec dword [rcx + 0x4c00]
mov rcx, rbx
call fcn.1400cae20
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cce88]
call fcn.140215e20
mov rcx, qword [0x141443c60]
movsxd rax, dword [rcx + 0x4c00]
cmp eax, 1
jl 0x140153bed
lea r8, [rax + rax*4]
mov rdx, qword [rcx + 0x4c08]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rdx + r8*4 - 0x10]
vmovups xmmword [rcx + rax*8 + 0x3ae8], xmm0
dec dword [rcx + 0x4c00]
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, r14
call fcn.1400cae20
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cce7c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140153c85
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov rcx, r15
call fcn.1401ca900
mov rbx, rax
lea rcx, [0x1413cce20]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rcx, r12
call fcn.1401ca900
mov rbx, rax
lea rcx, [0x1413cce10]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
sub r15, r12
mov rcx, r15
call fcn.1401ca900
mov rbx, rax
lea rcx, [0x1413cce48]
call fcn.140011540
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov r9, qword [0x141443c60]
mov rax, qword [r9 + 0x4150]
mov byte [rax + 0xf5], 1
mov r14, qword [r9 + 0x4150]
cmp byte [r14 + 0xf8], 0
jne 0x1401536db
movsxd r8, dword [r14 + 0x130]
mov rax, qword [r14 + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413cb628]
call fcn.1401e1830
mov ebx, eax
mov rcx, qword [r14]
cmp dword [rcx + 0x419c], eax
jne 0x140153d8f
lea r8, [0x1413cb628]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cb628]
xor edx, edx
mov ecx, ebx
call fcn.1402291e0
test al, al
je 0x1401536d4
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x140153dff
vmovss dword [rsp + 0x168], xmm6
vmovss dword [rsp + 0x16c], xmm6
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x168]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x170], xmm6
vmovss dword [rsp + 0x174], xmm6
lea rdx, [rsp + 0x170]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x2fd0]
lea rcx, [0x1413ccd50]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0xb8], xmm0
xor r12d, r12d
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xf8], r13
test r13, r13
je 0x140153e9a
movabs rax, 0x1fffffffffffffff
cmp r13, rax
ja 0x140155b48
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0xb8]
call fcn.140003e60
mov rdx, qword [rsp + 0x80]
mov rax, rdx
mov qword [rsp + 0x88], rdx
mov r14, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xc0]
movzx r15d, word [rsp + 0x48]
cmp rdx, r14
je 0x140153f3e
mov r8, rdx
mov rcx, rdx
mov rbx, rdx
cmp word [rdx + 0x13], r15w
jne 0x140153f21
cmp r10, qword [rsp + 0xc8]
je 0x140153efe
mov qword [r10], rax
mov r10, qword [rsp + 0xc0]
add r10, 8
mov qword [rsp + 0xc0], r10
mov rcx, r8
jmp 0x140153f21
lea r8, [rsp + 0x88]
mov rdx, r10
lea rcx, [rsp + 0xb8]
call fcn.140004590
mov rcx, rbx
mov r10, qword [rsp + 0xc0]
lea rax, [rcx + 0x23]
mov rdx, rax
mov qword [rsp + 0x88], rax
mov r8, rax
mov rcx, rax
mov rbx, rax
cmp rax, r14
jne 0x140153ed1
mov rbx, qword [rsp + 0x58]
cmp rsi, rbx
je 0x140153fea
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0xe0]
nop dword [rax]
mov edx, dword [rsi]
movzx ecx, word [r12 + 4]
shl rcx, 0x20
mov eax, dword [r12]
or rcx, rax
imul rdx, rdx, 0x23
add rdx, rcx
mov qword [rsp + 0xe0], rdx
add rsi, 4
cmp word [rdx + 0x1b], r15w
jne 0x140153fda
cmp rdx, rdi
jb 0x140153f97
cmp rdx, r14
jb 0x140153fda
cmp r10, qword [rsp + 0xc8]
je 0x140153fba
mov qword [r10], rdx
mov r10, qword [rsp + 0xc0]
add r10, 8
mov qword [rsp + 0xc0], r10
jmp 0x140153fda
lea r8, [rsp + 0xe0]
mov rdx, r10
lea rcx, [rsp + 0xb8]
call fcn.140004590
mov r10, qword [rsp + 0xc0]
cmp rsi, rbx
jne 0x140153f60
mov rdi, qword [rsp + 0xb0]
xor r12d, r12d
mov rcx, qword [rsp + 0xb8]
cmp rcx, r10
je 0x14015402b
mov r9d, r12d
mov rax, r10
sub rax, rcx
sar rax, 4
test rax, rax
je 0x140154018
nop dword [rax]
inc r9d
sar rax, 1
jne 0x140154010
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r10
call fcn.140100a30
mov rax, qword [rdi + 0x2fd8]
cmp byte [rdi + 0x2fd0], 0
je 0x140154049
mov r9, qword [rsp + 0x50]
mov r9, qword [r9]
sar r9, 0x10
jmp 0x140154050
mov r9, 0xffffffffffffffff
lea rcx, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_tracy::View::DrawZoneInfoWindow_void____ptr64::_265::_lambda_8___void__struct_tracy::MemEvent_const____ptr64_.0
mov qword [rsp + 0x320], rcx
lea rcx, [rsp + 0x320]
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x320]
lea rdx, [rsp + 0xb8]
mov rcx, rdi
call fcn.1400fd2d0
nop
mov rcx, qword [rsp + 0x358]
test rcx, rcx
je 0x1401540ba
mov rax, qword [rcx]
mov r8, qword [rax + 0x20]
lea rax, [rsp + 0x320]
cmp rcx, rax
setne dl
call r8
mov qword [rsp + 0x358], r12
call fcn.140229f60
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1401536d4
mov rax, qword [rsp + 0xc8]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015410d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140155ac1
call fcn.1403f4db4
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r12
mov r9, qword [0x141443c60]
jmp 0x1401536de
mov r8, rdx
test r8, r8
jg 0x140153790
mov rdi, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xd0]
inc r11
mov r13, rsi
sub rbx, rsi
mov rax, r14
imul rbx
mov r8, rdx
shr r8, 0x3f
add r8, rdx
test r8, r8
jle 0x1401541be
mov rdi, 0xffffffffffffffff
mov rdx, r8
shr rdx, 1
lea rax, [rdx + rdx*2]
lea r10, [rax*2]
movzx ecx, word [r10 + r13 + 4]
shl rcx, 0x20
mov eax, dword [r10 + r13]
or rcx, rax
cmp qword [rcx], r11
jge 0x1401541ae
add r13, 6
add r13, r10
mov rax, rdi
sub rax, rdx
add r8, rax
jmp 0x1401541b1
mov r8, rdx
test r8, r8
jg 0x140154174
mov rdi, qword [rsp + 0xb0]
mov rcx, r13
sub rcx, rsi
mov rax, r14
imul rcx
mov r14, rdx
mov rax, rdx
shr rax, 0x3f
add r14, rax
jne 0x140154241
lea rdx, [r9 + 0x3af8]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413cce38]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140154878
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
jmp 0x140154878
mov rax, qword [r9 + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [r9 + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x140154288
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, r14
call fcn.1400cae20
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
jmp 0x140154878
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413cb720]
call fcn.1401e1830
mov r15d, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x1401542ca
lea r8, [0x1413cb720]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cb720]
xor edx, edx
mov ecx, r15d
call fcn.1402291e0
movzx ebx, al
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, r14
call fcn.1400cae20
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
test bl, bl
je 0x140154878
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x178], xmm6
vmovss dword [rsp + 0x17c], xmm6
lea rdx, [rsp + 0x178]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x2fd2]
lea rcx, [0x1413ccd50]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x180], xmm6
vmovss dword [rsp + 0x184], xmm6
lea rdx, [rsp + 0x180]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x2fd3]
lea rcx, [0x1413ccee0]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
lea rcx, [r14 + 1]
mov rax, qword [0x141443c60]
vmovss xmm0, dword [rax + 0x3e80]
vaddss xmm1, xmm0, dword [rax + 0x3a48]
cmp rcx, 0xf
mov eax, send
cmovg rcx, rax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rcx
vmulss xmm1, xmm1, xmm0
vmovss dword [rsp + 0x1c8], xmm6
vmovss dword [rsp + 0x1cc], xmm1
lea rcx, [0x1413cb7b0]
call fcn.1401f39a0
vmovss dword [rsp + 0x28], xmm6
lea rdx, [rsp + 0x1c8]
mov qword [rsp + 0x20], rdx
mov r9d, 0x2000200
mov r8d, 2
mov edx, eax
lea rcx, [0x1413cb7b0]
call fcn.14020c3b0
test al, al
je 0x14015482b
call fcn.14020f940
mov rdx, qword [0x141443c60]
mov r14, qword [rdx + 0x4fe8]
movsx rcx, word [r14 + 0x206]
cmp ecx, dword [r14 + 0x6c]
jge 0x14015451b
imul rbx, rcx, 0x70
add rbx, qword [r14 + 0x18]
inc cx
mov word [r14 + 0x206], cx
mov r8d, 0x30
mov rdx, rbx
mov rcx, r14
call fcn.14020d650
mov dword [rbx + 0x30], r12d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r12d
cmp byte [r14 + 0x238], 0
je 0x1401544dc
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x1401544a7
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x1401544a7
test al, 8
je 0x1401544a7
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x1401544b8
test byte [r14 + 0x60], 4
jne 0x1401544b8
mov word [rbx + 0x63], 0
test al, 4
je 0x1401544dc
test byte [r14 + 0x60], 8
jne 0x1401544dc
mov word [rbx + 0x5a], r12w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov r15, 0xffffffffffffffff
mov word [rbx + 0x50], r15w
lea rcx, [r14 + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r12w
mov word [rbx + 0x50], dx
lea r8, [0x1413ca971]
lea rdx, [0x1413ca96c]
call fcn.1401e2840
mov rdx, qword [0x141443c60]
jmp 0x140154522
mov r15, 0xffffffffffffffff
mov r14, qword [rdx + 0x4fe8]
movsx rcx, word [r14 + 0x206]
cmp ecx, dword [r14 + 0x6c]
jge 0x1401545ed
imul rbx, rcx, 0x70
add rbx, qword [r14 + 0x18]
inc cx
mov word [r14 + 0x206], cx
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.14020d650
mov dword [rbx + 0x30], r12d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r12d
cmp byte [r14 + 0x238], 0
je 0x1401545be
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140154589
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140154589
test al, 8
je 0x140154589
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14015459a
test byte [r14 + 0x60], 4
jne 0x14015459a
mov word [rbx + 0x63], 0
test al, 4
je 0x1401545be
test byte [r14 + 0x60], 8
jne 0x1401545be
mov word [rbx + 0x5a], r12w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r15w
lea rcx, [r14 + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r12w
mov word [rbx + 0x50], dx
lea r8, [0x1413cb7c8]
lea rdx, [0x1413cb7c0]
call fcn.1401e2840
call fcn.1402122f0
mov rbx, qword [0x141443c60]
nop dword [rax]
cmp byte [rdi + 0x2fd3], 0
je 0x140154630
movzx r8d, word [rsi + 4]
shl r8, 0x20
mov eax, dword [rsi]
or r8, rax
mov r8, qword [r8]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14014ad10
test rax, rax
jne 0x140154819
movzx edx, word [rsi + 4]
shl rdx, 0x20
mov eax, dword [rsi]
or rdx, rax
mov rbx, qword [rbx + 0x4150]
mov rcx, rbx
call fcn.1401f33b0
mov r15d, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x140154689
inc ecx
test r8d, r8d
je 0x140154675
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14015467a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r15d
inc dword [rbx]
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
call fcn.1402104a0
vmovss dword [rsp + 0x190], xmm6
vmovss dword [rsp + 0x194], xmm6
movzx ecx, word [rsi + 4]
shl rcx, 0x20
mov eax, dword [rsi]
or rcx, rax
cmp qword [rdi + 0x29c0], rcx
sete bl
mov rcx, qword [rcx]
cmp byte [rdi + 0x2fd2], 0
je 0x1401546f1
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
sar rax, 0x10
sub rcx, rax
call fcn.1401c9cc0
jmp 0x1401546f6
call fcn.1401ca260
lea r9, [rsp + 0x190]
mov r8d, 2
movzx edx, bl
mov rcx, rax
call fcn.14022a0e0
test al, al
je 0x14015472b
movzx edx, word [rsi + 4]
shl rdx, 0x20
mov eax, dword [rsi]
or rdx, rax
mov rdx, qword [rdx]
mov rcx, rdi
call fcn.14010ba30
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x140154751
movzx ecx, word [rsi + 4]
shl rcx, 0x20
mov eax, dword [rsi]
or rcx, rax
mov qword [rdi + 0x29c0], rcx
mov byte [rdi + 0x29c8], 1
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
call fcn.1402104a0
movzx edx, word [rsi + 4]
shl rdx, 0x20
mov eax, dword [rsi]
or rdx, rax
mov edx, dword [rdx + 0x13]
call fcn.1401e3740
movzx edx, word [rsi + 4]
shl rdx, 0x20
mov eax, dword [rsi]
or rdx, rax
movzx eax, byte [rdx + 0x10]
test al, 1
je 0x1401547b2
movzx ecx, word [rdi + 0xdec]
shl rcx, 0x20
mov eax, dword [rdi + 0xde8]
or rcx, rax
mov rax, qword [rdx + 8]
mov rax, qword [rcx + rax*8]
jmp 0x1401547cf
test al, 2
je 0x1401547c8
mov rdx, qword [rdx + 8]
lea rcx, [rdi + 0x150]
call fcn.140184990
jmp 0x1401547cf
lea rax, [0x1413ca658]
mov rdx, rax
lea rcx, [0x1413c649c]
call fcn.1402167c0
mov rbx, qword [0x141443c60]
movsxd rax, dword [rbx + 0x4c00]
cmp eax, 1
jl 0x140154819
lea rdx, [rax + rax*4]
mov rcx, qword [rbx + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [rbx + rax*8 + 0x3ae8], xmm0
dec dword [rbx + 0x4c00]
add rsi, 6
cmp rsi, r13
jne 0x140154600
call fcn.14020ee00
call fcn.140229f60
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x140154878
vmovss dword [rsp + 0x198], xmm6
vmovss dword [rsp + 0x19c], xmm6
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x198]
call fcn.1401f6b70
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x1401548bc
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x1401548b2
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm9
call fcn.14021a1b0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x100], xmm0
xor r13d, r13d
mov eax, r13d
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x140154945
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsp + 0x108]
cmp rdx, rax
je 0x14015490b
mov qword [rdx], rbx
add qword [rsp + 0x108], 8
jmp 0x140154920
lea r8, [rsp + 0x1a0]
lea rcx, [rsp + 0x100]
call fcn.140004590
mov rdx, rbx
mov rcx, rdi
call fcn.14014ae80
mov rbx, rax
mov qword [rsp + 0x1a0], rax
test rax, rax
je 0x140154945
mov rax, qword [rsp + 0x110]
jmp 0x1401548f0
mov dword [rsp + 0xf0], r13d
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rdi
lea rax, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_tracy::View::DrawZoneInfoWindow_void____ptr64::_5::_lambda_11___void__struct_tracy::ZoneEvent_const____ptr64__int____ptr64_.0
mov qword [rsp + 0x278], rax
vmovups xmm0, xmmword [rsp + 0x220]
vmovups xmmword [rsp + 0x280], xmm0
lea rax, [rsp + 0x278]
mov qword [rsp + 0x2b0], rax
lea rax, [rdi + 0x2fc9]
lea r9, [rdi + 0x3048]
lea r8, [rdi + 0x150]
lea rcx, [rsp + 0x278]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x100]
mov r12, qword [rsp + 0x50]
mov rcx, r12
call fcn.140159330
cmp byte [r12 + 0xb], 0
jl 0x140155a7e
movzx ebx, word [rdi + 0x14fc]
shl rbx, 0x20
mov eax, dword [rdi + 0x14f8]
or rbx, rax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0xb
add rbx, rcx
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rsi, qword [rcx + 0x4150]
cmp byte [rsi + 0xf8], 0
je 0x140154a2d
xor sil, sil
jmp 0x140154a86
movsxd r8, dword [rsi + 0x130]
mov rax, qword [rsi + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413cced0]
call fcn.1401e1830
mov r14d, eax
mov rcx, qword [rsi]
cmp dword [rcx + 0x419c], eax
jne 0x140154a6f
lea r8, [0x1413cced0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cced0]
xor edx, edx
mov ecx, r14d
call fcn.1402291e0
movzx esi, al
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov ecx, dword [rbx + 6]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
test sil, sil
je 0x140154ad4
mov r8, qword [rsp + 0xd8]
mov rdx, rbx
mov rcx, rdi
cmp byte [rbx + 0xa], 0
jge 0x140154aca
call fcn.140159fe0
jmp 0x140154acf
call fcn.14015bc40
call fcn.140229f60
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
jne 0x140155a7e
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ccf18]
call fcn.1401e1830
mov esi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x140154b3e
lea r8, [0x1413ccf18]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413ccf18]
xor edx, edx
mov ecx, esi
call fcn.1402291e0
test al, al
je 0x140155a7e
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x1a8], xmm6
vmovss dword [rsp + 0x1ac], xmm6
lea rdx, [rsp + 0x1a8]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x4359]
lea rcx, [0x1413ca6e8]
call fcn.140218f00
movzx ebx, al
mov ecx, 1
call fcn.1401e39f0
test bl, bl
je 0x140154bb5
mov qword [rdi + 0x43a0], r13
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x140154c1b
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
vmovss dword [rsp + 0x1b0], xmm6
vmovss dword [rsp + 0x1b4], xmm6
lea rdx, [rsp + 0x1b0]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x4358]
lea rcx, [0x1413ca640]
call fcn.140218f00
movzx ebx, al
mov ecx, 1
call fcn.1401e39f0
test bl, bl
je 0x140154c1b
mov qword [rdi + 0x43a0], r13
cmp qword [rdi + 0x43a0], r12
je 0x140154e82
cmp qword [rdi + 0x4380], 0
je 0x140154cd2
mov qword [rdi + 0x4380], r13
mov rcx, qword [rdi + 0x4388]
inc rcx
movabs rax, 0x28f5c28f5c28f5c
cmp rcx, rax
movabs rax, 0x47ae147ae147ae15
ja 0x140154c7a
lea rbx, [rcx + rcx*4]
shl rbx, 4
mul rbx
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
jmp 0x140154c95
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
lea rbx, [rax + rax*4]
shl rbx, 4
mov eax, 0xff
cmp rbx, rax
cmova rbx, rax
add rbx, rcx
mov rcx, qword [rdi + 0x4378]
lea r8, [rcx + 8]
add r8, rbx
sub r8, rcx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rdi + 0x4378]
mov byte [rbx + rax], 1
mov qword [rdi + 0x4398], 0x20
cmp qword [r12 + 0xa], 0
jl 0x140154ce1
mov qword [rdi + 0x43a0], r12
cmp byte [rdi + 0x4358], 0
je 0x140154eee
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov r8, r12
mov rdx, r14
mov rcx, rdi
call fcn.14014cda0
mov rsi, qword [rsp + 0x90]
test al, al
jne 0x140154d8f
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413ccef8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140154d83
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov qword [rdi + 0x43a0], r13
jmp 0x140154e6d
lea rbx, [rdi + 0x4360]
movzx eax, word [r12]
mov word [rsp + 0x2e8], ax
mov qword [rsp + 0x2f0], rsi
mov qword [rsp + 0x2f8], 1
lea r8, [rsp + 0x2e8]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.140161ec0
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x140155b54
mov rdx, qword [rsp + 0x90]
sub ecx, 1
je 0x140154e1a
sub ecx, 1
je 0x140154df5
cmp ecx, 1
jne 0x140154e1a
lea rcx, [rdx + rdx*2]
mov rax, qword [rbx + 0x10]
vmovups xmm0, xmmword [rsp + 0x2e8]
vmovups xmmword [rax + rcx*8], xmm0
vmovsd xmm1, qword [rsp + 0x2f8]
vmovsd qword [rax + rcx*8 + 0x10], xmm1
lea rcx, [rdx*2 + 1]
mov rax, qword [rbx + 0x10]
add rcx, rdx
lea r9, [rax + rcx*8]
movzx edx, word [rdi + 0x14fc]
shl rdx, 0x20
mov eax, dword [rdi + 0x14f8]
or rdx, rax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0xb
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r8, r14
mov rcx, rdi
mov r9, rbx
cmp byte [rdx + 0xa], 0
jge 0x140154e68
call fcn.140158ec0
jmp 0x140154e6d
call fcn.1401590e0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rsi
vdivss xmm0, xmm8, xmm0
vmovss dword [rdi + 0x43a8], xmm0
mov rax, qword [rdi + 0x4380]
test rax, rax
je 0x140155a79
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x90], rax
movabs rcx, 0xfffffffffffffff
cmp rax, rcx
ja 0x140155b4e
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x68]
call fcn.14004ae80
mov rsi, qword [rdi + 0x4378]
mov r9, rsi
cmp qword [rdi + 0x4380], 0
jne 0x140154fd4
mov rbx, r13
jmp 0x140155026
lea rbx, [rdi + 0x4360]
movzx eax, word [r12]
mov word [rsp + 0x300], ax
mov rsi, qword [rsp + 0xd8]
mov qword [rsp + 0x308], rsi
mov qword [rsp + 0x310], 1
lea r8, [rsp + 0x300]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.140161ec0
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x140155b42
mov rdx, qword [rsp + 0x90]
sub ecx, 1
je 0x140154f81
sub ecx, 1
je 0x140154f5c
cmp ecx, 1
jne 0x140154f81
lea rcx, [rdx + rdx*2]
mov rax, qword [rbx + 0x10]
vmovups xmm0, xmmword [rsp + 0x300]
vmovups xmmword [rax + rcx*8], xmm0
vmovsd xmm1, qword [rsp + 0x310]
vmovsd qword [rax + rcx*8 + 0x10], xmm1
lea rcx, [rdx*2 + 1]
mov rax, qword [rbx + 0x10]
add rcx, rdx
lea r9, [rax + rcx*8]
movzx edx, word [rdi + 0x14fc]
shl rdx, 0x20
mov eax, dword [rdi + 0x14f8]
or rdx, rax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0xb
add rdx, rcx
mov r8, rbx
mov rcx, rdi
cmp byte [rdx + 0xa], 0
jge 0x140154fca
call fcn.140158870
jmp 0x140154e6d
call fcn.140158b70
jmp 0x140154e6d
mov rbx, rsi
mov r8, qword [rdi + 0x4370]
mov rax, qword [rsi]
test rax, rax
jne 0x140155003
nop word [rax + rax]
add rbx, 8
add r8, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x140154ff0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rax, [rcx + rcx*2]
lea rsi, [r8 + rax*8]
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
cmp rsi, r9
je 0x1401550e5
mov r9, qword [rsp + 0x70]
cmp r9, qword [rsp + 0x78]
je 0x140155069
vmovups xmm0, xmmword [rsp + 0x90]
vmovups xmmword [r9], xmm0
mov r9, qword [rsp + 0x70]
add r9, 0x10
mov qword [rsp + 0x70], r9
jmp 0x140155083
lea r8, [rsp + 0x90]
mov rdx, r9
lea rcx, [rsp + 0x68]
call fcn.14004ece0
mov r9, qword [rsp + 0x70]
inc rbx
add rsi, 0x18
mov rax, qword [rbx]
test rax, rax
jne 0x1401550a5
add rbx, 8
add rsi, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x140155092
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
mov qword [rsp + 0x98], rbx
lea rax, [rcx + rcx*2]
lea rsi, [rsi + rax*8]
mov qword [rsp + 0x90], rsi
cmp rsi, qword [rdi + 0x4378]
jne 0x140155044
vmovss dword [rsp + 0x1b8], xmm6
vmovss dword [rsp + 0x1bc], xmm6
lea rcx, [0x1413cce98]
call fcn.1401f39a0
vmovss dword [rsp + 0x28], xmm6
lea rdx, [rsp + 0x1b8]
mov qword [rsp + 0x20], rdx
mov r9d, 0x208
mov r8d, 3
mov edx, eax
lea rcx, [0x1413cce98]
call fcn.14020c3b0
test al, al
je 0x140155a27
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x140155218
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
mov r8d, 0x8000
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x1401551d9
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x1401551a6
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x1401551a6
test al, 8
je 0x1401551a6
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x1401551b6
test byte [rsi + 0x60], 4
jne 0x1401551b6
mov word [rbx + 0x63], 0
test al, 4
je 0x1401551d9
test byte [rsi + 0x60], 8
jne 0x1401551d9
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov r14, 0xffffffffffffffff
mov word [rbx + 0x50], r14w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413cce95]
lea rdx, [0x1413cce90]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
jmp 0x14015521f
mov r14, 0xffffffffffffffff
mov rsi, qword [rcx + 0x4fe8]
movsx rdx, word [rsi + 0x206]
cmp edx, dword [rsi + 0x6c]
jge 0x1401552f1
imul rbx, rdx, 0x70
add rbx, qword [rsi + 0x18]
inc dx
mov word [rsi + 0x206], dx
mov r8d, 0x8034
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x1401552b9
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140155286
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140155286
test al, 8
je 0x140155286
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140155296
test byte [rsi + 0x60], 4
jne 0x140155296
mov word [rbx + 0x63], 0
test al, 4
je 0x1401552b9
test byte [rsi + 0x60], 8
jne 0x1401552b9
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r14w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea r9d, [rax - 1]
test eax, eax
cmove r9w, r13w
mov word [rbx + 0x50], r9w
lea r8, [0x1413ca971]
lea rdx, [0x1413ca96c]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rsi, qword [rcx + 0x4fe8]
movsx rcx, word [rsi + 0x206]
cmp ecx, dword [rsi + 0x6c]
jge 0x1401553ba
imul rbx, rcx, 0x70
add rbx, qword [rsi + 0x18]
inc cx
mov word [rsi + 0x206], cx
mov r8d, 0x8030
mov rdx, rbx
mov rcx, rsi
call fcn.14020d650
mov dword [rbx + 0x30], r13d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r13d
cmp byte [rsi + 0x238], 0
je 0x14015538b
vcomiss xmm6, dword [rbx + 0x10]
jbe 0x140155358
vcomiss xmm6, dword [rbx + 0x18]
jbe 0x140155358
test al, 8
je 0x140155358
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x140155368
test byte [rsi + 0x60], 4
jne 0x140155368
mov word [rbx + 0x63], 0
test al, 4
je 0x14015538b
test byte [rsi + 0x60], 8
jne 0x14015538b
mov word [rbx + 0x5a], r13w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r14w
lea rcx, [rsi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r13w
mov word [rbx + 0x50], dx
lea r8, [0x1413ca969]
lea rdx, [0x1413ca964]
call fcn.1401e2840
call fcn.1402122f0
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test byte [rbx + 4], 8
jne 0x1401553d8
mov rdx, r13
jmp 0x1401553f8
cmp byte [rbx + 0x236], 0
jne 0x1401553e9
mov rcx, rbx
call fcn.14020d7f0
mov rcx, rbx
call fcn.1402120c0
lea rdx, [rbx + 0x1f0]
mov rdx, qword [rdx]
movsx ecx, word [rdx + 4]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
test ecx, ecx
je 0x140155526
sub ecx, 1
je 0x1401554a4
cmp ecx, 1
jne 0x1401555aa
cmp byte [rdx + 8], cl
jne 0x140155466
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x14015544b
inc r9d
sar rax, 1
jne 0x140155443
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.140164ec0
jmp 0x1401555a0
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x140155489
inc r9d
sar rax, 1
jne 0x140155481
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.1401672c0
jmp 0x1401555a0
cmp byte [rdx + 8], 1
jne 0x1401554e8
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x1401554cd
inc r9d
sar rax, 1
jne 0x1401554c5
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.140162fa0
jmp 0x1401555a0
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x14015550b
inc r9d
sar rax, 1
jne 0x140155503
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.140163f30
jmp 0x1401555a0
cmp byte [rdx + 8], 1
jne 0x140155567
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x14015554f
inc r9d
sar rax, 1
jne 0x140155547
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.140162050
jmp 0x1401555a0
cmp rbx, r15
je 0x140155a21
mov r9d, r13d
mov rax, r15
sub rax, rbx
sar rax, 5
test rax, rax
je 0x14015558a
inc r9d
sar rax, 1
jne 0x140155582
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
call fcn.1400ef020
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
cmp rbx, r15
je 0x140155a21
lea r13, [rdi + 0x150]
nop word [rax + rax]
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
mov rax, qword [0x141443c60]
mov rsi, qword [rax + 0x4fe8]
test rsi, rsi
je 0x14015561b
cmp byte [rsi + 0x237], 0
je 0x140155606
mov ecx, dword [rsi + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rsi + 0x6c]
jge 0x140155606
cmp ecx, 0xffffffff
je 0x1401555ff
mov rcx, rsi
call fcn.1402106f0
mov edx, dword [rsi + 0x74]
inc edx
jmp 0x140155613
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rsi
call fcn.140210520
mov rdx, qword [rbx]
movzx edx, word [rdx]
mov rcx, r13
call fcn.140184c20
mov rsi, rax
mov eax, dword [rax + 0x1f]
test eax, eax
je 0x140155643
cmp byte [rdi + 0x27bd], 0
jne 0x140155643
or eax, 0xff000000
jmp 0x140155661
cmp byte [rdi + 0x27bc], 0
jne 0x140155653
mov eax, 0xffcc5555
jmp 0x140155661
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14014a5a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
movzx eax, byte [rsi + 8]
test al, 2
je 0x1401556b0
test al, 1
je 0x1401556a0
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov rsi, qword [rcx + rax*8]
jmp 0x1401556f4
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
mov rsi, rax
jmp 0x1401556f4
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x1401556d8
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov rsi, qword [rcx + rax*8]
jmp 0x1401556f4
test al, 2
je 0x1401556ed
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
mov rsi, rax
jmp 0x1401556f4
lea rsi, [0x1413ca658]
vmovss dword [rsp + 0x1c0], xmm6
vmovss dword [rsp + 0x1c4], xmm6
lea r9, [rsp + 0x1c0]
xor edx, edx
mov r8d, 2
mov rcx, rsi
call fcn.14022a0e0
test al, al
je 0x140155843
lea r14, [rdi + 0x3340]
mov r8, qword [r12 + 0xa]
mov rax, r8
shr rax, 8
test r8, r8
jns 0x1401557c7
mov rdx, r12
test al, al
js 0x1401557c4
movzx r10d, word [rdi + 0x14fc]
shl r10, 0x20
mov eax, dword [rdi + 0x14f8]
or r10, rax
nop
movsxd rax, dword [rdx + 8]
imul rcx, rax, 0xb
add rcx, r10
mov r8d, dword [rcx]
movzx r9d, word [rcx + 4]
mov eax, dword [rcx + 6]
dec eax
mov edx, eax
cmp byte [rcx + 0xa], 0
mov ecx, r9d
jge 0x140155793
shl rcx, 0x20
or rcx, r8
imul rdx, rdx, 0x16
add rdx, rcx
jmp 0x1401557b0
shl rcx, 0x20
or rcx, r8
lea rax, [rax + rax*2]
add rax, rax
movzx edx, word [rcx + rax + 4]
shl rdx, 0x20
mov eax, dword [rcx + rax]
or rdx, rax
mov r8, qword [rdx + 0xa]
mov rax, r8
shr rax, 8
test r8, r8
jns 0x1401557c7
test al, al
jns 0x140155760
mov r8, qword [rdx]
sar r8, 0x10
mov rcx, qword [r12]
sar rcx, 0x10
mov rax, qword [rbx]
movzx r12d, word [rax]
mov word [rsp + 0x48], r12w
mov byte [r14], 1
mov byte [r14 + 0x560], 1
mov qword [r14 + 0x550], rcx
mov qword [r14 + 0x558], r8
mov rcx, r14
call fcn.1400c0fe0
lea rcx, [r14 + 8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14015581b
mov word [rdx], r12w
add qword [rcx + 8], 2
jmp 0x140155825
lea r8, [rsp + 0x48]
call fcn.1400cb650
lea rcx, [r14 + 0x78]
sub rsi, rcx
nop dword [rax]
movzx eax, byte [rsi + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140155830
mov r12, qword [rsp + 0x50]
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x10]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413cc18c]
call fcn.1402166f0
mov rax, qword [0x141443c60]
mov rsi, qword [rax + 0x4fe8]
test rsi, rsi
je 0x1401558bb
cmp byte [rsi + 0x237], 0
je 0x1401558a6
mov ecx, dword [rsi + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rsi + 0x6c]
jge 0x1401558a6
cmp ecx, 0xffffffff
je 0x14015589f
mov rcx, rsi
call fcn.1402106f0
mov edx, dword [rsi + 0x74]
inc edx
jmp 0x1401558b3
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rsi
call fcn.140210520
mov rcx, qword [rbx]
mov rcx, qword [rcx + 8]
call fcn.1401c9cc0
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
call fcn.1401f6d00
mov rax, qword [rbx]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, qword [rax + 8]
vmulss xmm1, xmm0, dword [rdi + 0x43a8]
vcvtss2sd xmm3, xmm1, xmm1
mov eax, 0x28
mov word [rsp + 0x3e0], ax
lea r8, [rsp + 0x420]
lea rdx, [rsp + 0x3e1]
lea rcx, [rsp + 0x2d8]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [rsp + 0x3e0]
call fcn.140215e20
mov rsi, qword [0x141443c60]
movsxd rax, dword [rsi + 0x4c00]
cmp eax, 1
jl 0x1401559a3
lea rdx, [rax + rax*4]
mov rcx, qword [rsi + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [rsi + rax*8 + 0x3ae8], xmm0
dec dword [rsi + 0x4c00]
mov rsi, qword [rsi + 0x4fe8]
test rsi, rsi
je 0x1401559ec
cmp byte [rsi + 0x237], 0
je 0x1401559d7
mov ecx, dword [rsi + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rsi + 0x6c]
jge 0x1401559d7
cmp ecx, 0xffffffff
je 0x1401559d0
mov rcx, rsi
call fcn.1402106f0
mov edx, dword [rsi + 0x74]
inc edx
jmp 0x1401559e4
vmovaps xmm1, xmm6
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rsi
call fcn.140210520
mov rcx, qword [rbx]
xor edx, edx
mov rax, qword [rcx + 8]
div qword [rcx + 0x10]
mov rcx, rax
call fcn.1401c9cc0
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
add rbx, 0x10
cmp rbx, r15
jne 0x1401555c0
xor r13d, r13d
call fcn.14020ee00
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140155a79
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140155a65
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403f4db4
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
call fcn.140229f60
call fcn.1401ebba0
nop
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140155ae2
mov rdx, qword [rsp + 0x110]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155ac8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140155ac8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403f4db4
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], r13
xor ebx, ebx
call fcn.1401f2010
cmp byte [rsp + 0x40], 0
jne 0x140155afd
mov qword [rdi + 0x2978], rbx
mov dword [rdi + 0x308e], ebx
mov rcx, qword [rsp + 0x920]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x970]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14001c8f0
nop
call fcn.1400033c0
nop
call fcn.1400033c0
nop
call fcn.14001c8f0
int3