Function at 0x1400118e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov byte [rbp - 0x40], 0
xor esi, esi
mov byte [rbp - 0x3f], 0xf9
mov byte [rbp - 0x3e], 2
mov byte [rbp - 0x3d], 0xa
mov byte [rbp - 0x3c], 2
mov byte [rbp - 0x3b], 0x10
mov byte [rbp - 0x3a], 2
mov byte [rbp - 0x39], 0x82
mov byte [rbp - 0x38], 2
mov byte [rbp - 0x37], 0xa
mov byte [rbp - 0x36], 2
mov byte [rbp - 0x35], 0xbb
mov byte [rbp - 0x34], 2
mov byte [rbp - 0x33], 0xb4
mov byte [rbp - 0x32], 2
mov byte [rbp - 0x31], 0x53
mov byte [rbp - 0x30], 2
mov byte [rbp - 0x2f], 0xc5
mov byte [rbp - 0x2e], 2
mov byte [rbp - 0x2d], 0xa4
mov byte [rbp - 0x2c], 2
mov byte [rbp - 0x2b], 0xbb
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
mov byte [rbp - 0x2a], 2
mov byte [rbp - 0x29], 0xbb
mov byte [rbp - 0x28], 2
mov byte [rbp - 0x27], 2
mov byte [rbp - 0x26], 2
movzx eax, byte [rbp - 0x3f]
movzx eax, byte [rbp - 0x40]
test al, al
jne 0x1400119de
mov r9d, esi
movzx ecx, byte [rbp + r9 - 0x3f]
mov eax, 0x828cbfbf
sub ecx, 2
imul r8d, ecx, 0x2c
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub r8d, eax
mov eax, 0x828cbfbf
add r8d, 0xfb
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub r8d, eax
mov byte [rbp + r9 - 0x3f], r8b
inc r9
cmp r9, 0x1a
jb 0x140011980
mov rax, qword gs:[0x60]
mov r12d, 2
movss xmm7, dword [0x1400864bc]
movss xmm6, dword [0x1400864b8]
mov rbx, qword [rax + 0x18]
lea r14d, [r12 - 3]
mov dword [rbp + 0x30], 0x7bf480
lea r15d, [r12 + 3]
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140011a72
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, ebx
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140011a46
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x14001205e
nop
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140011a69
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140011a50
jmp 0x14001205e
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140011ad5
mov ecx, r12d
sub ecx, ebx
add ecx, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14001205e
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140011ab0
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x140011b50
add ecx, r12d
lea eax, [rbx + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140011afc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14001205e
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140011b31
dec eax
jmp 0x140011b33
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140011b47
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140011b10
jmp 0x14001205e
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140011bd5
mov eax, dword [rbp + 0x30]
lea ecx, [rbx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140011bb3
inc eax
jmp 0x140011bb5
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140011b92
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140011c2c
mov eax, dword [rbp + 0x30]
mov ecx, ebx
or ecx, 1
xor ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x14001205e
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x140011c10
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x140011ccc
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul ebx
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x14001205e
nop
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x140011c90
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140011d26
mov r8d, dword [rbp + 0x30]
mov rdx, r15
imul ecx, ebx
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, r14d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp + 0x30], eax
sub rdx, 1
jne 0x140011d10
jmp 0x14001205e
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140011d87
mov eax, 0x92492493
mov ecx, ebx
imul ebx
add edx, ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, esi
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rbp + 0x30], eax
cmp ecx, 0x57
jl 0x140011d70
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140011dd5
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, ebx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140011dc5
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14001205e
mov dword [rbp + 0x30], ecx
jmp 0x14001205e
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140011e2c
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, ebx
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x14001205e
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x140011e10
jmp 0x14001205e
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140011ea9
mov eax, 0x63e7063f
mov ecx, ebx
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rbp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140011e8d
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140011f14
mov eax, dword [rbp + 0x30]
mov ecx, ebx
add eax, 0x2b
mov dword [rbp + 0x30], eax
mov eax, 0x66666667
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x14001205e
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
mov eax, dword [rbp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140011ef4
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140011f78
mov eax, dword [rbp + 0x30]
mov ecx, ebx
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x4d4873ed
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x14001205e
nop
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140011f60
jmp 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x14001205e
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140011fd2
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
inc edx
jmp 0x140011ff3
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
not ecx
add edx, ecx
mov eax, 0x92492493
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x14001205e
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140012020
mov rdi, qword [rbx + 0x18]
mov eax, 0x55555556
mov dword [rbp + 0x30], 0x7bf480
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400120d2
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, edi
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x14001209d
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400126be
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x1400120c9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x1400120b0
jmp 0x1400126be
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140012135
mov ecx, r12d
sub ecx, edi
add ecx, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400126be
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012110
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x1400121b0
add ecx, r12d
lea eax, [rdi + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x14001215c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400126be
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140012191
dec eax
jmp 0x140012193
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x1400121a7
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140012170
jmp 0x1400126be
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140012235
mov eax, dword [rbp + 0x30]
lea ecx, [rdi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140012213
inc eax
jmp 0x140012215
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400121f2
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x14001228c
mov eax, dword [rbp + 0x30]
mov ecx, edi
or ecx, 1
xor ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x1400126be
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x140012270
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14001232c
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul edi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x1400126be
nop
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x1400122f0
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140012386
mov r8d, dword [rbp + 0x30]
mov rdx, r15
imul ecx, edi
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, r14d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp + 0x30], eax
sub rdx, 1
jne 0x140012370
jmp 0x1400126be
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x1400123e7
mov eax, 0x92492493
mov ecx, edi
imul edi
add edx, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, esi
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rbp + 0x30], eax
cmp ecx, 0x57
jl 0x1400123d0
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140012435
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, edi
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140012425
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400126be
mov dword [rbp + 0x30], ecx
jmp 0x1400126be
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x14001248c
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, edi
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400126be
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x140012470
jmp 0x1400126be
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140012509
mov eax, 0x63e7063f
mov ecx, edi
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rbp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400124ed
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140012574
mov eax, dword [rbp + 0x30]
mov ecx, edi
add eax, 0x2b
mov dword [rbp + 0x30], eax
mov eax, 0x66666667
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400126be
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
mov eax, dword [rbp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140012554
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x1400125d8
mov eax, dword [rbp + 0x30]
mov ecx, edi
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x4d4873ed
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400126be
nop
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x1400125c0
jmp 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400126be
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140012632
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
inc edx
jmp 0x140012653
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
not ecx
add edx, ecx
mov eax, 0x92492493
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400126be
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140012680
mov r8, qword [rdi + 0x10]
mov eax, 0x55555556
mov dword [rbp + 0x30], 0x7bf480
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012732
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, r8d
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x1400126fe
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140012d4e
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140012729
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140012710
jmp 0x140012d4e
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140012795
mov ecx, r12d
sub ecx, r8d
add ecx, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140012d4e
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012770
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x140012810
add ecx, r12d
lea eax, [r8 + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x1400127bd
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140012d4e
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x1400127f1
dec eax
jmp 0x1400127f3
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140012807
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400127d0
jmp 0x140012d4e
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x1400128a3
mov eax, dword [rbp + 0x30]
lea ecx, [r8 + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140012d4e
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140012881
inc eax
jmp 0x140012883
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012860
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x1400128fc
mov eax, dword [rbp + 0x30]
or r8d, 1
xor r8d, eax
mov dword [rbp + 0x30], r8d
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x140012d4e
nop dword [rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x1400128e0
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14001299c
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul r8d
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x140012d4e
nop
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x140012960
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x1400129f7
imul ecx, r8d
mov rdx, r15
mov r8d, dword [rbp + 0x30]
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, r14d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp + 0x30], eax
sub rdx, 1
jne 0x1400129e1
jmp 0x140012d4e
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140012a57
mov eax, 0x92492493
mov ecx, esi
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub r8d, eax
mov eax, dword [rbp + 0x30]
imul r8d, eax
mov dword [rbp + 0x30], r8d
nop dword [rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rbp + 0x30], eax
cmp ecx, 0x57
jl 0x140012a40
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140012aa6
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, r8d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140012a96
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140012d4e
mov dword [rbp + 0x30], ecx
jmp 0x140012d4e
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140012b0c
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, r8d
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x140012d4e
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x140012af0
jmp 0x140012d4e
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140012b8b
mov eax, 0x63e7063f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub r8d, eax
mov eax, dword [rbp + 0x30]
add r8d, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], r8d
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140012b6f
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140012c03
mov eax, dword [rbp + 0x30]
add eax, 0x2b
mov dword [rbp + 0x30], eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r8d, eax
mov eax, dword [rbp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140012d4e
nop dword [rax + rax]
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
mov eax, dword [rbp + 0x30]
imul edx, r8d
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140012be0
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140012c69
mov eax, dword [rbp + 0x30]
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub r8d, eax
mov eax, dword [rbp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140012d4e
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140012c50
jmp 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140012d4e
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140012cc3
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
inc edx
jmp 0x140012ce4
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
not ecx
add edx, ecx
mov eax, 0x92492493
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140012d4e
nop dword [rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140012d10
mov rbx, rdi
mov rbx, qword [rbx]
mov eax, 0x55555556
mov dword [rbp + 0x30], 0x7bf480
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012dc2
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, ebx
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140012d8f
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400133ae
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140012db9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140012da0
jmp 0x1400133ae
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140012e25
mov ecx, r12d
sub ecx, ebx
add ecx, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400133ae
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012e00
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x140012ea0
add ecx, r12d
lea eax, [rbx + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140012e4c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400133ae
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140012e81
dec eax
jmp 0x140012e83
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140012e97
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140012e60
jmp 0x1400133ae
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140012f25
mov eax, dword [rbp + 0x30]
lea ecx, [rbx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140012f03
inc eax
jmp 0x140012f05
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140012ee2
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140012f7c
mov eax, dword [rbp + 0x30]
mov ecx, ebx
or ecx, 1
xor ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x1400133ae
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x140012f60
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14001301c
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul ebx
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x1400133ae
nop
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x140012fe0
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140013076
mov r8d, dword [rbp + 0x30]
mov rdx, r15
imul ecx, ebx
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, r14d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp + 0x30], eax
sub rdx, 1
jne 0x140013060
jmp 0x1400133ae
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x1400130d7
mov eax, 0x92492493
mov ecx, ebx
imul ebx
add edx, ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov ecx, esi
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rbp + 0x30], eax
cmp ecx, 0x57
jl 0x1400130c0
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140013125
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, ebx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140013115
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400133ae
mov dword [rbp + 0x30], ecx
jmp 0x1400133ae
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x14001317c
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, ebx
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400133ae
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x140013160
jmp 0x1400133ae
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400131f9
mov eax, 0x63e7063f
mov ecx, ebx
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rbp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400131dd
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140013264
mov eax, dword [rbp + 0x30]
mov ecx, ebx
add eax, 0x2b
mov dword [rbp + 0x30], eax
mov eax, 0x66666667
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400133ae
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
mov eax, dword [rbp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140013244
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x1400132c8
mov eax, dword [rbp + 0x30]
mov ecx, ebx
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x4d4873ed
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400133ae
nop
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x1400132b0
jmp 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400133ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140013322
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
inc edx
jmp 0x140013343
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
not ecx
add edx, ecx
mov eax, 0x92492493
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400133ae
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140013370
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x140013a4d
mov dword [rbp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013422
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, r8d
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x1400133f7
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140013a3e
nop
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140013419
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140013400
jmp 0x140013a3e
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140013485
mov ecx, r12d
sub ecx, r8d
add ecx, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140013a3e
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013460
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x140013500
add ecx, r12d
lea eax, [r8 + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x1400134ad
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140013a3e
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x1400134e1
dec eax
jmp 0x1400134e3
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x1400134f7
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400134c0
jmp 0x140013a3e
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140013593
mov eax, dword [rbp + 0x30]
lea ecx, [r8 + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140013a3e
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140013571
inc eax
jmp 0x140013573
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013550
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x1400135ec
mov eax, dword [rbp + 0x30]
or r8d, 1
xor r8d, eax
mov dword [rbp + 0x30], r8d
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x140013a3e
nop dword [rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x1400135d0
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14001368c
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul r8d
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x140013a3e
nop
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x140013650
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x1400136e7
imul ecx, r8d
mov rdx, r15
mov r8d, dword [rbp + 0x30]
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, r14d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp + 0x30], eax
sub rdx, 1
jne 0x1400136d1
jmp 0x140013a3e
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140013747
mov eax, 0x92492493
mov ecx, esi
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub r8d, eax
mov eax, dword [rbp + 0x30]
imul r8d, eax
mov dword [rbp + 0x30], r8d
nop dword [rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rbp + 0x30], eax
cmp ecx, 0x57
jl 0x140013730
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140013796
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, r8d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140013786
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140013a3e
mov dword [rbp + 0x30], ecx
jmp 0x140013a3e
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x1400137fc
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, r8d
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x140013a3e
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x1400137e0
jmp 0x140013a3e
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x14001387b
mov eax, 0x63e7063f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub r8d, eax
mov eax, dword [rbp + 0x30]
add r8d, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], r8d
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x14001385f
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x1400138f3
mov eax, dword [rbp + 0x30]
add eax, 0x2b
mov dword [rbp + 0x30], eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r8d, eax
mov eax, dword [rbp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140013a3e
nop dword [rax + rax]
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
mov eax, dword [rbp + 0x30]
imul edx, r8d
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x1400138d0
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140013959
mov eax, dword [rbp + 0x30]
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub r8d, eax
mov eax, dword [rbp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140013a3e
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140013940
jmp 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140013a3e
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400139b3
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
inc edx
jmp 0x1400139d4
call fcn.140063afc
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rbp + 0x30]
sub ecx, eax
not ecx
add edx, ecx
mov eax, 0x92492493
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140013a3e
nop dword [rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140013a00
mov rcx, rbx
call fcn.140010aa0
cmp eax, 0xb26771d8
je 0x140013a56
cmp rdi, rbx
jne 0x140012d51
mov rbx, qword [rbx + 0x30]
mov eax, 0x55555556
mov dword [rbp + 0x30], 0x7bf480
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013ac2
mov ecx, dword [rbp + 0x30]
add ecx, r12d
add ecx, ebx
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140013a95
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400140c3
nop dword [rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000003
jge 0x140013ab9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140013aa0
jmp 0x1400140c3
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
mov eax, dword [rbp + 0x30]
je 0x140013b25
sub r12d, ebx
add r12d, eax
mov eax, 0x55555556
mov dword [rbp + 0x30], r12d
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400140c3
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
inc eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013b00
jmp 0x1400140c3
mov ecx, dword [rbp + 0x30]
and eax, 0x80000003
je 0x140013ba0
add ecx, r12d
lea eax, [rbx + 3]
imul ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140013b4c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400140c3
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140013b81
dec eax
jmp 0x140013b83
inc eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140013b97
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140013b60
jmp 0x1400140c3
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140013c25
mov eax, dword [rbp + 0x30]
lea ecx, [rbx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rbp + 0x30]
je 0x140013c03
inc eax
jmp 0x140013c05
dec eax
mov dword [rbp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140013be2
jmp 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140013c7c
mov eax, dword [rbp + 0x30]
mov ecx, ebx
or ecx, 1
xor ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, dword [rbp + 0x30]
test al, 1
jne 0x1400140c3
nop word [rax + rax]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test al, 1
je 0x140013c60
jmp 0x1400140c3
mov r8d, dword [rbp + 0x30]
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xb
cmp r8d, ecx
je 0x140013d1d
movd xmm0, dword [rbp + 0x30]
mov eax, 0x55555556
imul ebx
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
je 0x1400140c3
movd xmm0, dword [rbp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, r12d
jne 0x140013ce1
jmp 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
je 0x140013d77
mov ecx, dword [rbp + 0x30]
mov edx, dword [rbp + 0x30]
imul ecx, ebx
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov dword [rbp + 0x30], eax
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
add eax, r14d
add r14d, edx
mov dword [rbp + 0x30], eax
sub r15, 1
jne 0x140013d60
jmp 0x1400140c3
mov r8d, dword [rbp + 0x30]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1d
cmp r8d, ecx
je 0x140013dd7
mov eax, 0x92492493
mov ecx, ebx
imul ebx
add edx, ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rbp + 0x30]
imul ecx, eax
mov dword [rbp + 0x30], ecx
nop dword [rax + rax]
mov eax, dword [rbp + 0x30]
add eax, eax
xor eax, esi
add esi, 0x1d
mov dword [rbp + 0x30], eax
cmp esi, 0x57
jl 0x140013dc0
jmp 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140013e25
mov eax, dword [rbp + 0x30]
not eax
add eax, 0x1f
add eax, ebx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
and eax, 0x80000001
jge 0x140013e15
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400140c3
mov dword [rbp + 0x30], ecx
jmp 0x1400140c3
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rbp + 0x30]
je 0x140013e7c
mov eax, dword [rbp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, ebx
xor eax, ecx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400140c3
mov eax, dword [rbp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cmp eax, 0x3fffffff
jl 0x140013e60
jmp 0x1400140c3
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140013ef9
mov eax, 0x63e7063f
mov ecx, ebx
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rbp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140013edd
mov eax, dword [rbp + 0x30]
imul edx, eax, 0x29
mov dword [rbp + 0x30], edx
jmp 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x30], edx
jmp 0x1400140c3
mov r8d, dword [rbp + 0x30]
mov eax, 0x2fa0be83
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2b
cmp r8d, ecx
je 0x140013f70
mov ecx, dword [rbp + 0x30]
mov eax, 0x66666667
imul ebx
add ecx, 0x2b
sar edx, 1
mov eax, edx
mov dword [rbp + 0x30], ecx
shr eax, 0x1f
mov ecx, ebx
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400140c3
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
mov eax, dword [rbp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140013f50
jmp 0x1400140c3
mov r8d, dword [rbp + 0x30]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x35
cmp r8d, ecx
mov ecx, dword [rbp + 0x30]
je 0x140013fd8
dec ecx
mov eax, 0x4d4873ed
imul ebx
mov dword [rbp + 0x30], ecx
mov ecx, ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rbp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400140c3
nop
mov eax, dword [rbp + 0x30]
sub eax, 0x35
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140013fc0
jmp 0x1400140c3
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400140c3
mov ecx, dword [rbp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140014032
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rbp + 0x30]
inc ecx
jmp 0x140014057
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rbp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400140c3
nop dword [rax]
mov ecx, dword [rbp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rbp + 0x30], ecx
mov r8d, dword [rbp + 0x30]
imul r8d
add edx, r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 7
sub r8d, ecx
cmp r8d, 4
jne 0x140014080
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rsi, qword [r11 + 0x40]
mov rax, rbx
mov rbx, qword [r11 + 0x38]
movaps xmm7, xmmword [rsp + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret