Function at 0x14002d820
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
mov rax, qword [0x14008c020]
xor rax, rsp
mov qword [rbp - 0x28], rax
xor r13d, r13d
mov r14d, r8d
mov dword [rbp - 0x2c], r13d
mov r12, rdx
mov r15, rcx
mov edi, r13d
mov ebx, r8d
mov esi, r13d
test r8d, r8d
je 0x14002f2ba
movss xmm7, dword [0x1400864bc]
movss xmm6, dword [0x1400864b8]
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 0x14002d8f2
mov ecx, dword [rbp - 0x30]
add ecx, 2
add ecx, edi
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002d8bc
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x14002deee
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp - 0x30]
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002d8e9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x14002d8d0
jmp 0x14002deee
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
mov eax, dword [rbp - 0x30]
je 0x14002d955
mov ecx, 2
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 0x14002deee
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 0x14002d930
jmp 0x14002deee
mov ecx, dword [rbp - 0x30]
and eax, 0x80000003
je 0x14002d9d0
add ecx, 2
lea eax, [rdi + 3]
imul ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002d97c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002deee
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 0x14002d9b1
dec eax
jmp 0x14002d9b3
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002d9c7
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x14002d990
jmp 0x14002deee
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 0x14002da55
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 0x14002deee
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 0x14002da33
inc eax
jmp 0x14002da35
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 0x14002da12
jmp 0x14002deee
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 0x14002daac
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 0x14002deee
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 0x14002da90
jmp 0x14002deee
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 0x14002db4c
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, 2
je 0x14002deee
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, 2
jne 0x14002db10
jmp 0x14002deee
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 0x14002dbb6
mov r8d, dword [rbp - 0x30]
imul ecx, edi
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rbp - 0x30], eax
lea edx, [rcx + 6]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp - 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp - 0x30], eax
sub rdx, 1
jne 0x14002dba0
jmp 0x14002deee
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 0x14002dc17
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, r13d
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 0x14002dc00
jmp 0x14002deee
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 0x14002dc65
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 0x14002dc55
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002deee
mov dword [rbp - 0x30], ecx
jmp 0x14002deee
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 0x14002dcbc
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 0x14002deee
mov eax, dword [rbp - 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
cmp eax, 0x3fffffff
jl 0x14002dca0
jmp 0x14002deee
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 0x14002dd39
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 0x14002dd1d
mov eax, dword [rbp - 0x30]
imul edx, eax, 0x29
mov dword [rbp - 0x30], edx
jmp 0x14002deee
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 0x14002deee
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 0x14002dda4
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 0x14002deee
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 0x14002dd84
jmp 0x14002deee
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 0x14002de08
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 0x14002deee
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 0x14002ddf0
jmp 0x14002deee
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 0x14002deee
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 0x14002de65
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 0x14002de8a
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 0x14002deee
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 0x14002deb0
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x88f1e18
lea r9d, [rdx + 0x57]
call fcn.140018170
mov edx, esi
lea r9, [rbp - 0x2c]
add rdx, r12
mov qword [rsp + 0x20], r13
mov r8d, ebx
mov rcx, r15
call rax
test eax, eax
je 0x14002f2ed
cmp dword [rbp - 0x2c], r13d
je 0x14002f2ed
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 0x14002dfa2
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
add eax, 2
add ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002df6a
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x14002e5ce
nop dword [rax]
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 0x14002df99
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x14002df80
jmp 0x14002e5ce
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
mov eax, dword [rbp - 0x30]
je 0x14002e005
mov ecx, 2
sub ecx, dword [rbp - 0x2c]
add eax, 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 0x14002e5ce
nop dword [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 0x14002dfe0
jmp 0x14002e5ce
mov ecx, dword [rbp - 0x30]
and eax, 0x80000003
je 0x14002e080
mov eax, dword [rbp - 0x2c]
add ecx, 2
add eax, 3
imul eax, ecx
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e02f
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002e5ce
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 0x14002e061
dec eax
jmp 0x14002e063
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e077
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x14002e040
jmp 0x14002e5ce
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 0x14002e113
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0x2c]
add eax, 0xb
cdq
add ecx, 0x17
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 0x14002e5ce
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 0x14002e0f1
inc eax
jmp 0x14002e0f3
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 0x14002e0d0
jmp 0x14002e5ce
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 0x14002e16c
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0x2c]
or ecx, 1
xor eax, ecx
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
test al, 1
jne 0x14002e5ce
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 0x14002e150
jmp 0x14002e5ce
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 0x14002e20c
movd xmm0, dword [rbp - 0x30]
mov eax, 0x55555556
imul dword [rbp - 0x2c]
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, 2
je 0x14002e5ce
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, 2
jne 0x14002e1d0
jmp 0x14002e5ce
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 0x14002e276
imul ecx, dword [rbp - 0x2c]
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, 0xffffffff
mov dword [rbp - 0x30], eax
lea edx, [rcx + 6]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp - 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp - 0x30], eax
sub rdx, 1
jne 0x14002e260
jmp 0x14002e5ce
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 0x14002e2d7
mov ecx, dword [rbp - 0x2c]
mov eax, 0x92492493
imul ecx
add edx, ecx
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 eax, ecx
mov ecx, r13d
mov dword [rbp - 0x30], eax
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 0x14002e2c0
jmp 0x14002e5ce
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
je 0x14002e328
mov edx, dword [rbp - 0x30]
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
not ecx
add eax, 0x1f
add ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e318
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002e5ce
mov dword [rbp - 0x30], edx
jmp 0x14002e5ce
mov ecx, dword [rbp - 0x30]
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 0x14002e38c
mov eax, dword [rbp - 0x30]
mov edx, dword [rbp - 0x2c]
add eax, 0x25
add edx, 0x25
add edx, ecx
xor eax, edx
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
cmp eax, 0x3fffffff
jge 0x14002e5ce
nop dword [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 0x14002e370
jmp 0x14002e5ce
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 0x14002e40a
mov ecx, dword [rbp - 0x2c]
mov eax, 0x63e7063f
imul ecx
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 eax, ecx
mov dword [rbp - 0x30], eax
mov eax, 0x63e7063f
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 0x14002e3ee
mov eax, dword [rbp - 0x30]
imul edx, eax, 0x29
mov dword [rbp - 0x30], edx
jmp 0x14002e5ce
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 0x14002e5ce
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 0x14002e480
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0x2c]
add eax, 0x2b
mov dword [rbp - 0x30], eax
mov eax, 0x66666667
imul ecx
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 0x14002e5ce
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 0x14002e460
jmp 0x14002e5ce
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 0x14002e4e8
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0x2c]
dec eax
mov dword [rbp - 0x30], eax
mov eax, 0x4d4873ed
imul ecx
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 0x14002e5ce
nop dword [rax]
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 0x14002e4d0
jmp 0x14002e5ce
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 0x14002e5ce
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 0x14002e545
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 0x14002e56a
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 0x14002e5ce
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 0x14002e590
add esi, dword [rbp - 0x2c]
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 0x14002e642
mov ecx, dword [rbp - 0x30]
add ecx, 2
add ecx, esi
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002e60c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x14002ec3e
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp - 0x30]
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002e639
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x14002e620
jmp 0x14002ec3e
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
mov eax, dword [rbp - 0x30]
je 0x14002e6a5
mov ecx, 2
sub ecx, esi
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 0x14002ec3e
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 0x14002e680
jmp 0x14002ec3e
mov ecx, dword [rbp - 0x30]
and eax, 0x80000003
je 0x14002e720
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e6cc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002ec3e
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 0x14002e701
dec eax
jmp 0x14002e703
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e717
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x14002e6e0
jmp 0x14002ec3e
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 0x14002e7a5
mov eax, dword [rbp - 0x30]
lea ecx, [rsi + 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 0x14002ec3e
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 0x14002e783
inc eax
jmp 0x14002e785
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 0x14002e762
jmp 0x14002ec3e
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 0x14002e7fc
mov eax, dword [rbp - 0x30]
mov ecx, esi
or ecx, 1
xor ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
test al, 1
jne 0x14002ec3e
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 0x14002e7e0
jmp 0x14002ec3e
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 0x14002e89c
movd xmm0, dword [rbp - 0x30]
mov eax, 0x55555556
imul esi
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, 2
je 0x14002ec3e
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, 2
jne 0x14002e860
jmp 0x14002ec3e
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 0x14002e906
mov r8d, dword [rbp - 0x30]
imul ecx, esi
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rbp - 0x30], eax
lea edx, [rcx + 6]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp - 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp - 0x30], eax
sub rdx, 1
jne 0x14002e8f0
jmp 0x14002ec3e
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 0x14002e967
mov eax, 0x92492493
mov ecx, esi
imul esi
add edx, esi
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, r13d
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 0x14002e950
jmp 0x14002ec3e
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 0x14002e9b5
mov eax, dword [rbp - 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002e9a5
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002ec3e
mov dword [rbp - 0x30], ecx
jmp 0x14002ec3e
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 0x14002ea0c
mov eax, dword [rbp - 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
cmp eax, 0x3fffffff
jge 0x14002ec3e
mov eax, dword [rbp - 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
cmp eax, 0x3fffffff
jl 0x14002e9f0
jmp 0x14002ec3e
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 0x14002ea89
mov eax, 0x63e7063f
mov ecx, esi
imul esi
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 0x14002ea6d
mov eax, dword [rbp - 0x30]
imul edx, eax, 0x29
mov dword [rbp - 0x30], edx
jmp 0x14002ec3e
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 0x14002ec3e
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 0x14002eaf4
mov eax, dword [rbp - 0x30]
mov ecx, esi
add eax, 0x2b
mov dword [rbp - 0x30], eax
mov eax, 0x66666667
imul esi
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 0x14002ec3e
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 0x14002ead4
jmp 0x14002ec3e
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 0x14002eb58
mov eax, dword [rbp - 0x30]
mov ecx, esi
dec eax
mov dword [rbp - 0x30], eax
mov eax, 0x4d4873ed
imul esi
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 0x14002ec3e
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 0x14002eb40
jmp 0x14002ec3e
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 0x14002ec3e
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 0x14002ebb5
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 0x14002ebda
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 0x14002ec3e
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 0x14002ec00
add edi, dword [rbp - 0x2c]
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 0x14002ecb2
mov ecx, dword [rbp - 0x30]
add ecx, 2
add ecx, ebx
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002ec7c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x14002f2ae
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp - 0x30]
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000003
jge 0x14002eca9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x14002ec90
jmp 0x14002f2ae
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
mov eax, dword [rbp - 0x30]
je 0x14002ed15
mov ecx, 2
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 0x14002f2ae
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 0x14002ecf0
jmp 0x14002f2ae
mov ecx, dword [rbp - 0x30]
and eax, 0x80000003
je 0x14002ed90
add ecx, 2
lea eax, [rbx + 3]
imul ecx, eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002ed3c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002f2ae
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 0x14002ed71
dec eax
jmp 0x14002ed73
inc eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x14002ed87
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x14002ed50
jmp 0x14002f2ae
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 0x14002ee15
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 0x14002f2ae
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 0x14002edf3
inc eax
jmp 0x14002edf5
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 0x14002edd2
jmp 0x14002f2ae
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 0x14002ee6c
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 0x14002f2ae
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 0x14002ee50
jmp 0x14002f2ae
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 0x14002ef0c
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, 2
je 0x14002f2ae
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, 2
jne 0x14002eed0
jmp 0x14002f2ae
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 0x14002ef76
mov r8d, dword [rbp - 0x30]
imul ecx, ebx
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rbp - 0x30], eax
lea edx, [rcx + 6]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp - 0x30]
add eax, ecx
add ecx, r8d
mov dword [rbp - 0x30], eax
sub rdx, 1
jne 0x14002ef60
jmp 0x14002f2ae
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 0x14002efd7
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, r13d
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 0x14002efc0
jmp 0x14002f2ae
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 0x14002f025
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 0x14002f015
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14002f2ae
mov dword [rbp - 0x30], ecx
jmp 0x14002f2ae
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 0x14002f07c
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 0x14002f2ae
mov eax, dword [rbp - 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
cmp eax, 0x3fffffff
jl 0x14002f060
jmp 0x14002f2ae
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 0x14002f0f9
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 0x14002f0dd
mov eax, dword [rbp - 0x30]
imul edx, eax, 0x29
mov dword [rbp - 0x30], edx
jmp 0x14002f2ae
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 0x14002f2ae
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 0x14002f164
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 0x14002f2ae
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 0x14002f144
jmp 0x14002f2ae
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 0x14002f1c8
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 0x14002f2ae
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 0x14002f1b0
jmp 0x14002f2ae
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 0x14002f2ae
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 0x14002f225
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 0x14002f24a
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 0x14002f2ae
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 0x14002f270
sub ebx, dword [rbp - 0x2c]
cmp edi, r14d
jne 0x14002d881
mov eax, 1
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.14005b090
mov rbx, qword [rsp + 0xb8]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x14002f2bf